watershed_vol — SEGMENTATION watershed3d op

• Datenarten: voxel → labels

• Aufruf: import fullseye as fs; fs.ledger.watershed_vol(binary, markers: 'Optional[np.ndarray]' = None, min_distance: 'float' = 1.0, method: 'str' = 'auto') -> 'np.ndarray' (die Implementierung direkt: import watershed3d; watershed3d.watershed_vol(binary, markers: 'Optional[np.ndarray]' = None, min_distance: 'float' = 1.0, method: 'str' = 'auto') -> 'np.ndarray'; aus dem Register: opssegmentation.get("watershed_vol"))

Verwendung

Zerlegt einen 3D-Vordergrund mit einer aus der Distanztransformation gesäten Wasserscheide in Labels je Objekt (eine dünne Komposition öffentlicher Ops).

Ziel ist es, Kontakte / leichte Überlappungen zu trennen, die Zusammenhangskomponenten zu 1 verschmelzen würden. Die EDT wird an volops.vol_distance_transform und die skimage-Wasserscheide an volops.vol_watershed delegiert; dieses Modul ergänzt nur (A) einen reinen scipy-Fallback, wenn skimage fehlt, und den Klebecode für die automatische Saatpunkterzeugung. Wird markers weggelassen, werden die lokalen Maxima der Distanztransformation (min_distance NMS) zu automatischen Saatpunkten.

Parameters

binary : array_like

3D-Vordergrundvolumen, bool oder 0/1.

markers : ndarray or None

int-Label-Array bei extern vorgegebenen Saatpunkten (gleiche Form wie binary, 0 = keiner, 1..n = Saatpunkte).

Bei None automatisch aus den Maxima der Distanztransformation erzeugt.

min_distance : float

Minimaler Saatpunktabstand (voxel) bei markers=None.

method : {"auto", "skimage", "scipy"}

Backend-Auswahl. Wird "skimage" angegeben, fehlt aber, fail-closed (ImportError).

Returns

labels : ndarray(int32)

Gleiche Form wie binary. Hintergrund 0, Labels 1..k für jedes Objekt (deckt den Vordergrund genau ab).

Raises

ValueError

Bei ungültiger Form, degenerierter Eingabe oder ungültiger method (fail-closed).

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie halcon_segmentation

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.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

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

• watershed3d_tour — py -3.11 examples/watershed3d_tour.py

Typkompatible Folge-Operatoren (nehmen labels als Eingabe)

—

Gleiche Kategorie (watershed3d)

distance_peaks · separate_touching


*Provenance: watershed3d.py — SEGMENTATION 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.