watershed3d op• Data kinds: voxel → labels
• Call: import fullseye as fs; fs.ledger.separate_touching(binary, min_distance: 'float' = 5.0, method: 'str' = 'auto') -> 'np.ndarray' (to call the implementation directly, import watershed3d; watershed3d.separate_touching(binary, min_distance: 'float' = 5.0, method: 'str' = 'auto') -> 'np.ndarray'; from the registry, opssegmentation.get("separate_touching"))
genuinely-new (B): an everyday wrapper that automatically separates touching objects in 1 call.
Folds the standard pipeline distance transform → maximum NMS seeding → watershed into 1 call that splits the typical case of "several objects touching and fused into 1 connected component" (in the public API this needs 3 ops wired by hand, so it is made into 1 function for the common case). Inside it is watershed_vol(..., markers=None).
binary : array_like
3D foreground volume, bool or 0/1.
min_distance : float
Minimum spacing of the separating seeds (voxel). About the expected object radius is a good guide.
method : {"auto", "skimage", "scipy"}
Backend selection.
labels : ndarray(int32)
Same shape as binary. Background 0, labels 1..k for each separated object.
• halcon_segmentation family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• watershed3d_tour — py -3.11 examples/watershed3d_tour.py
labels as input)—
watershed3d)distance_peaks · watershed_vol
*Provenance: watershed3d.py — SEGMENTATION operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.