medial op• Datenarten: voxel → voxel
• Aufruf: import fullseye as fs; fs.ledger.distance_ridge(vol, min_radius=0.0) (die Implementierung direkt: import medial; medial.distance_ridge(vol, min_radius=0.0); aus dem Register: ops3d.get("distance_ridge"))
• Rückgabewert über das Register: fullseye.ledger.distance_ridge(...) liefert nur den Wert des deklarierten Out-Typs voxel (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.distance_ridge.raw(...) oder rufe medial.distance_ridge direkt auf.
• Rückgabe der Funktion: (ridge, dist)
Extrahiert den Grat der EDT (die lokalen Maxima des Distanzfeldes) als Medialachse. Liefert (ridge_mask, edt).
Berechnet die EDT jedes Vordergrund-Voxels und betrachtet lokale Maxima in der 26-Nachbarschaft (eigene EDT mindestens das Maximum der umliegenden 26 Voxel) als medial. Dieses Kriterium liefert ganz natürlich eine Dimension passend zur lokalen Dimension des Objekts:
Klumpen (Kugel) -> EDT unimodal -> punktförmiges Medial (1 Mittelpunkt).
Rohr (Zylinder)-> flach entlang der Achse, radial unimodal -> linienförmiges Medial (Achslinie).
Platte (Slab)-> flach in der Ebene, unimodal in Dickenrichtung -> flächenförmiges Medial (Mittelfläche).
Ein Rand-Voxel hat immer einen größeren inneren Nachbarn, wird also nie Maximum, und die äußere Hülle fällt natürlich weg. Flache Grate (Achse/Fläche) bleiben als zusammenhängende Linien/Flächen erhalten, weil gleichwertige Nachbarn zugelassen werden (>=).
Args:
vol: binäre Voxel (bool / 0-1, 3D).
min_radius: Schwellwert, unter dem schwache Grate mit EDT kleiner oder gleich diesem Wert verworfen werden (Standard 0 = nichts verwerfen). Zur Rauschunterdrückung.
Returns:
ridge_mask (bool 3D): Medial-Voxel.
edt (float64 3D): euklidischer Abstand jedes Voxels zum Hintergrund (= lokaler Radius).
• 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.
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
voxel als Eingabe)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
medial)skeletonize_vol · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_endpoints3d · skeleton_prune3d · skeleton_branches3d
*Provenance: medial.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.