flow opimage2d × image2d → tableimport 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) (実装を直接呼ぶなら 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)、台帳から引くなら opsgraph.get("physarum_transport_image"))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
:func: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 :func:graph_physarum_transport.
py -3.11 examples/poc_physarum_transport.pytable を入力に取れる)graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length
flow)graph_physarum_path · physarum_route · graph_physarum_transport
Provenance: physarum_search.py — GRAPH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.