medial op• Datenarten: voxel → flow_dense
• Aufruf: import fullseye as fs; fs.ledger.vol_nearest_seed_vector(vol_binary, spacing=None) (die Implementierung direkt: import volops; volops.vol_nearest_seed_vector(vol_binary, spacing=None); aus dem Register: ops3d.get("vol_nearest_seed_vector"))
Verschiebungsvektor von jedem Voxel zum nächsten Seed-Voxel (3, D, H, W) (flow_dense, Komponenten dz, dy, dx [voxel]).
seed = Voxel ungleich null (binarisiert mit > 0.5). Auf den Seeds 0. vol_distance_transform liefert nur den Wert der Distanz, und "welches Voxel am nächsten liegt" geht verloren — der Radius vom Skelett (Verschiebung Oberfläche → Skelett), die Wandstärke bis zur Membran, der ESDF-Gradient und die Voronoi-Zerlegung von Labels brauchen genau diese Richtung (2026-09-21, eine Lücke im Konnektom-Fundament). Wird spacing (sz, sy, sx) übergeben, erfolgt die Nächster-Nachbar-Entscheidung nach physikalischer Distanz (die zurückgegebene Verschiebung bleibt in Voxeleinheiten — |v * spacing| ist die physikalische Distanz). Exakte Lösung: die EDT in linearer Zeit von Maurer, Qi & Raghavan (IEEE TPAMI 2003) (scipy.ndimage.distance_transform_edt(return_indices=True)). Haben mehrere Seeds dieselbe Distanz, wird 1 in der Reihenfolge dieser Implementierung gewählt (der Reihenfolge keine Bedeutung beimessen). Gibt es nicht 1 einzigen Seed, folgt ValueError (alle Voxel unendlich weit entfernt — es wird nicht stillschweigend 0 zurückgegeben).
>>> v = np.zeros((5, 5, 5)); v[2, 2, 0] = 1
>>> d = vol_nearest_seed_vector(v); d.shape, tuple(d[:, 2, 2, 4])
((3, 5, 5, 5), (0.0, 0.0, -4.0))
• 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.
• nearest_seed_partition — py -3.11 examples_3d/nearest_seed_partition.py
flow_dense als Eingabe)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.