watershed3d op• Data kinds: voxel → labels
• Call: import fullseye as fs; fs.ledger.distance_peaks(binary, min_distance: 'float' = 1.0) -> 'np.ndarray' (to call the implementation directly, import watershed3d; watershed3d.distance_peaks(binary, min_distance: 'float' = 1.0) -> 'np.ndarray'; from the registry, opssegmentation.get("distance_peaks"))
Returns an int marker array of the local maxima of the foreground distance transform, thinned out by min_distance NMS.
volops.vol_distance_transform + volops.vol_local_maxima as a thin composition, plus the post-processing "maximum coordinates → label array (1 seed per 1 object)" (exposes on its own the seed generation that watershed_vol uses internally = for visualisation and verification).
binary : array_like
3D foreground volume, bool or 0/1.
min_distance : float
Minimum Euclidean distance between accepted seeds (voxel). Choose it smaller than the spacing between objects and larger than the spacing of
noise maxima inside an object.
markers : ndarray(int32)
Same shape as binary. 0 = no seed, 1..k = seed labels.
• 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)watershed_vol · separate_touching
*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.