watershed_vol — SEGMENTATION watershed3d op

• 数据种类:voxel → labels

• 调用: import fullseye as fs; fs.ledger.watershed_vol(binary, markers: 'Optional[np.ndarray]' = None, min_distance: 'float' = 1.0, method: 'str' = 'auto') -> 'np.ndarray'(要直接调用实现,import watershed3d; watershed3d.watershed_vol(binary, markers: 'Optional[np.ndarray]' = None, min_distance: 'float' = 1.0, method: 'str' = 'auto') -> 'np.ndarray';从台账取用则 opssegmentation.get("watershed_vol"))

用法

以距离变换为种子的分水岭把 3D 前景分割为每个物体的标签(公开 op 的轻量组合)。

目的是把连通分量会融合为 1 个的接触/轻微重叠分开。EDT 委托给 volops.vol_distance_transform,skimage 分水岭委托给 volops.vol_watershed, 本模块只添加 (A) skimage 不存在时的纯 scipy 回退,以及种子点自动生成的粘合代码。省略 markers 时把距离变换的局部极大(min_distance NMS) 作为自动种子点。

Parameters

binary : array_like

bool 或 0/1 的 3D 前景体数据。

markers : ndarray or None

从外部指定种子点时的 int 标签数组(与 binary 形状相同,0=无,1..n=种子点)。

None 时从距离变换的极大自动生成。

min_distance : float

markers=None 时种子点的最小间隔(voxel)。

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

后端选择。指定 "skimage" 而不存在时 fail-closed(失败即拒绝)(ImportError)。

Returns

labels : ndarray(int32)

与 binary 形状相同。背景 0,各物体为 1..k 的标签(恰好覆盖前景,不多不少)。

Raises

ValueError

形状不正确、退化输入、method 不正确时(fail-closed(失败即拒绝))。

详细使用指南

• halcon_segmentation 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• watershed3d_tour — py -3.11 examples/watershed3d_tour.py

类型可衔接的下一个算子(可接受 labels 作为输入)

—

同类别(watershed3d)

distance_peaks · separate_touching


*Provenance: watershed3d.py — SEGMENTATION 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.