Forge.Measurement.ExternalCompute.ALTAR (Forge v0.1.1)

View Source

ALTAR (Python Celery) integration for topological data analysis.

ALTAR provides:

  • Ripser for persistence diagrams
  • Gudhi for topological features
  • NetworkX for graph metrics

Configuration

config :forge, :altar,
  url: "http://altar.example.com",
  api_key: "your-key"

Example Usage

defmodule TopologyMeasurement do
  use Forge.Measurement

  def compute(samples) do
    sample = hd(samples)
    point_cloud = sample.data["points"]

    {:ok, task_id} = ALTAR.submit_task("ripser.compute_persistence", %{
      points: point_cloud,
      max_dimension: 2
    })

    case ALTAR.await_result(task_id, timeout: 60_000) do
      {:ok, result} ->
        {:ok, %{
          betti_numbers: result["betti_numbers"],
          persistence_diagram: result["diagram"]
        }}

      {:error, reason} ->
        {:error, reason}
    end
  end
end

Summary

Functions

Submits a Ripser computation task for persistence diagrams.

Functions

compute_persistence(point_cloud, opts \\ [])

Submits a Ripser computation task for persistence diagrams.

Parameters

  • point_cloud - List of points (list of lists)
  • max_dimension - Maximum homology dimension (default: 2)

Returns

{:ok, task_id} or {:error, reason}