physarum_transport_image — GRAPH flow op

• Datenarten: image2d × image2d → table

• Aufruf: import fullseye as fs; fs.ledger.physarum_transport_image(a, b, connectivity=4, normalize=True, dt=0.1, max_iters=5000, tol=1e-06, gap_tol=1e-06, snapshots=0) (die Implementierung direkt: import physarum_search; physarum_search.physarum_transport_image(a, b, connectivity=4, normalize=True, dt=0.1, max_iters=5000, tol=1e-06, gap_tol=1e-06, snapshots=0); aus dem Register: opsgraph.get("physarum_transport_image"))

Verwendung

> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.

Earth mover's distance between two mass images by the slime mould's tube dynamics.

Every pixel is a node; neighbouring pixels (connectivity 4 or 8) are joined by a tube of length 1 (sqrt(2) on diagonals), so the ground metric is the grid path length (Manhattan for 4, octile for 8). Mass a enters and mass b leaves: the supply is a - b after both are scaled to unit mass (normalize=True; with False they must already carry the same mass). Dynamics, convergence and the two-sided bound as in graph_physarum_transport; larger images run on the sparse Laplacian with conjugate gradients.

Returns cost (the 1-Wasserstein distance estimate in pixel units, an upper bound), dual_bound (Kantorovich–Rubinstein lower bound), gap, conductance (an image: each pixel's thickest incident tube), flow_field ((H, W, 2): the mean of the flow vectors of the tubes at each pixel, in (row, col) units of mass per unit length, for drawing arrows), potential ((H, W) pressures), iters, converged, gap_converged, history, cost_history, dual_history, and with snapshots = m > 0 also snapshots (m conductance images at evenly spaced iterations, the last one final), snapshot_iters and snapshot_cost (sum_e L_e |Q_e| at those iterations) for watching the tubes form.

Raises ValueError: images not 2-D, finite, non-negative, of the same shape with at least 2 rows and columns, or without mass; unequal masses when normalize=False; connectivity not 4 or 8; snapshots < 0; and as graph_physarum_transport.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_physarum_transport — py -3.11 examples/poc_physarum_transport.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length

Gleiche Kategorie (flow)

graph_physarum_path · physarum_route · graph_physarum_transport


*Provenance: physarum_search.py — GRAPH Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.