label_components — 3D regionprops op

• 数据种类:voxel → labels

• 调用: import fullseye as fs; fs.ledger.label_components(vol, connectivity: 'int' = 26)(要直接调用实现,import regionprops3d; regionprops3d.label_components(vol, connectivity: 'int' = 26);从台账取用则 ops3d.get("label_components"))

• 经台账调用的返回值: fullseye.ledger.label_components(...) 只返回声明的 out 类型 labels 的值(底层函数还会返回辅助信息)。需要被丢弃的部分时,使用 fullseye.ledger.label_components.raw(...),或直接调用 regionprops3d.label_components。

• 底层返回: (labels, n) → labels

用法

把 3D 二值体标记为连通成分。

Parameters

vol : array_like

bool 或 0/1 的 3D 数组。

connectivity : int

6(面) / 18(面+边) / 26(面+边+角)之一。

Returns

labels : ndarray(int)

与 vol 同形状。背景 0,各连通分量为 1..n 的标签。

n : int

连通分量数。

补充:

• 输入用 astype(bool) 二值化。0 以外全部为前景,注意 float 的 NaN 也会成为 True(前景)。

• 轴顺序为 (z, y, x) = numpy 的数组轴顺序。labels 的 dtype 为 scipy.ndimage.label 返回的整数类型(通常 int32)。没有前景/空数组时返回 int32 的零数组和 0。

• 标签编号的分配顺序为 scipy 的扫描顺序,而非体积顺序。

• Raises ValueError:非 3 维输入,connectivity 不是 6/18/26。

• 相互接触的物体会融合为 1 个分量。需要分离时在前级用 morph_erode3d / morph_open3d 或 vol_watershed 切开。

• 后级:region_props(测量)、largest_component / filter_by_volume(筛选)、vol_select_labels(按特征筛选)、vol_colorize_labels(可视化)。

背景知识指南(该算子背后的物理与约定)

• measurement_uncertainty — 测量不确定度与校准知识 —— 为了能主张“测得准”

参考(示例数据、文献)

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

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

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

• region_props_3d — py -3.11 examples_3d/region_props_3d.py

• watershed3d — py -3.11 examples_3d/watershed3d.py

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

fuse_to_voxel · vol_region_props

同类别(regionprops)

region_props · largest_component · filter_by_volume · inner_box3 · vol_label · vol_region_props


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

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