medial op• Datenarten: voxel → voxel
• Aufruf: import fullseye as fs; fs.ledger.vol_distance_transform(vol_binary, spacing=None) (die Implementierung direkt: import volops; volops.vol_distance_transform(vol_binary, spacing=None); aus dem Register: ops3d.get("vol_distance_transform"))
• GPU: ja (mechanischer GPU-Pfad aus der Allow-List, CuPy). device="auto" wählt die GPU ab der gemessenen Größe (16,777,216 Pixel)
Exakte euklidische Distanztransformation eines Binärvolumens.
> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.
Each foreground (non-zero) voxel is labelled with its Euclidean distance to the nearest background voxel, via scipy.ndimage.distance_transform_edt. Pass *spacing* (sz, sy, sx) (e.g. VolumeMeta.spacing_mm, or the VolumeMeta itself) to make the distance anisotropy-aware — millimetres rather than voxels; otherwise unit spacing is assumed. A non-{0, 1} input is thresholded at > 0.5.
Returns a (D, H, W) float64 distance field (0 on the background). Outside the volume is not background (a foreground slab touching the edge keeps growing towards it). With no background voxel at all the nearest background is infinitely far: every voxel is inf (the 2-D distance_transform returns its normalised maximum 1.0 in the same case). This op returns absolute distances, so the 2-D convention (normalise to 1.0) does not carry over; inf was chosen over raising so that a mixed batch keeps its shape. Dividing by the maximum afterwards gives NaN — check np.isinf first.
Reference: Felzenszwalb & Huttenlocher, Theory of Computing 2012.
Empty input (vol_binary with 0 elements) raises ValueError.
• 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.
• medial_topology — py -3.11 examples_3d/medial_topology.py
• molecule_atom_count — py -3.11 examples_3d/molecule_atom_count.py
• nearest_seed_partition — py -3.11 examples_3d/nearest_seed_partition.py
• vessel_metrology — py -3.11 examples_3d/vessel_metrology.py
voxel als Eingabe)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
medial)distance_ridge · skeletonize_vol · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_endpoints3d · skeleton_prune3d
*Provenance: volops.py — 3D 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.