skeletonize_vol — 3D medial op

• Datenarten: voxel → voxel

• Aufruf: import fullseye as fs; fs.ledger.skeletonize_vol(vol) (die Implementierung direkt: import medial; medial.skeletonize_vol(vol); aus dem Register: ops3d.get("skeletonize_vol"))

Verwendung

Dünnt ein binäres 3-D-Voxelvolumen zu einem ein Voxel breiten Skelett aus. Ein Wrapper um skimages Lee-(1994-)Verfahren.

method='lee' ist eine topologieerhaltende Ausdünnung mit 3D-Unterstützung. Auch Klumpen werden zu einem linienförmigen Skelett reduziert (wer eine medial *surface* braucht, nimmt distance_ridge). Rückgabe ist ein bool-Array derselben Form wie die Eingabe.

Args:

vol: binäre Voxel (bool / 0-1, 3D).

Returns:

skeleton (bool 3D): Skelett-Voxel.

Eingabebehandlung: _as_binary_volume normiert ein 3-D-Array zu bool (ungleich null = Vordergrund). Kein 3-D, leeres Array oder float mit NaN/Inf ergibt ValueError. Die Achsenreihenfolge ist (z, y, x), Abstände und Dicken in Voxeleinheiten, isotrope Abtastung wird angenommen (mit anisotropen Voxeln wird das Ausdünnungsergebnis je Achse verzerrt; vorher mit vol_resize isotrop machen).

Verhalten:

• Gibt es keinen Vordergrund, wird ein komplett False gefülltes Array derselben Form zurückgegeben (skimage wird nicht aufgerufen).

• skimage.morphology.skeletonize(mask, method="lee") wird verzögert importiert. Ohne scikit-image entsteht hier ein ImportError.

• Das Lee-Verfahren erhält die Topologie (Anzahl der Zusammenhangskomponenten, Löcher und Hohlräume bleibt gleich), aber ein dicker Klumpen zerfällt in mehrere Äste, und je nach Oberflächenunebenheiten entstehen Sporne (kurze Äste). Sporne werden mit skeleton_prune3d gekappt.

Einsatz: Eingabe für topology_signature (Anzahl der Endpunkte und Verzweigungen), skeleton_junctions3d / skeleton_endpoints3d / skeleton_branches3d. Wird der lokale Radius der Skelett-Voxel benötigt, an den Skelettpositionen die edt von distance_ridge nachschlagen.

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.

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

• medial_topology — py -3.11 examples_3d/medial_topology.py

Typkompatible Folge-Operatoren (nehmen voxel als Eingabe)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

Gleiche Kategorie (medial)

distance_ridge · 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.