vol_rle_volume — 3D rle_region op

• 数据种类:rle_region → measurement

• 调用: import fullseye as fs; fs.ledger.vol_rle_volume(region) -> 'int'(要直接调用实现,import volregion; volregion.vol_rle_volume(region) -> 'int';从台账取用则 ops3d.get("vol_rle_volume"))

用法

在 run 上数出区域的体素数(不解码)。

实测比对密集掩模求和快约 300 倍。

计算: sum(ends - starts)(差值以 int64 计算,因此即使 run 很多也不会溢出)。返回值是 Python 的 int(voxel 个数,单位为 voxel。若需要物理体积 mm^3, 请自行乘以 spacing 的乘积 sz*sy*sx —— 本 op 不接受 spacing)。

输入先经 _require_rle 校验后再使用(非 VolRLE、shape 与 run 数组不一致、越界的 run 均抛出 ValueError)。空 region 返回 0(不视为错误)。目的是不构建密集数组,返回与先 vol_rle_decode 再 sum() 相同的值。对 vol_rle_components 的各成分应用即得到各成分的体积。

参考(示例数据、文献)

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

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

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

• rle_region_efficiency — py -3.11 examples_3d/rle_region_efficiency.py

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

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

同类别(rle_region)

vol_rle_encode · vol_rle_decode · vol_rle_bbox · vol_rle_centroid · vol_rle_union · vol_rle_intersect · vol_rle_difference · vol_rle_components


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

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