inner_box3 — 3D regionprops op

• 数据种类:voxel → primitive

• 调用: import fullseye as fs; fs.ledger.inner_box3(vol) -> 'dict'(要直接调用实现,import regionprops3d; regionprops3d.inner_box3(vol) -> 'dict';从台账取用则 ops3d.get("inner_box3"))

用法

完全内接于二值体素区域的最大轴对齐盒(2-D inner_rectangle1 的 3-D 版)。

严格解:对于任意深度区间 [z0, z1],盒子必须位于切片 z0..z1 的逻辑与 (在所有切片中都是前景的体素)之内。该交集中的最大内接 2-D 矩形(直方图法 = 与 inner_rectangle1 相同的核心)× 区间长度 即为候选盒子,对全部区间取最大即为严格的最大内接盒子。O(D^2 * H * W)。

Returns

dict

按 (depth,row,col) 轴顺序的 min / max 角点、center(+ cd/cr/cc)、

全宽 size、以体素数表示的 volume。

Raises

ValueError

非 3-D 输入,或前景为零的区域(没有内接盒子)。

补充:

• min / max 是包含两端的体素下标(float 数组)。size = max - min + 1,volume = prod(size)。center 为 (min + max) / 2,可能带 .5。2-D 侧的注册名为 r2_inner_rectangle1。

• 对每个深度区间用 Python 循环寻找最大矩形,O(D²·H·W)。交集变空时即终止该 z0 的搜索。大体数据上较慢。

• 存在多个同体积候选时,返回先找到的那个(z0 较小,其中 z1 较小)。

• 输入以 0 以外为前景转为 bool(NaN 也是前景)。轴顺序为 (depth, row, col)。

• 典型:先用 largest_component 将对象缩减为 1 个再调用(混有多个分量时,不一定是最大分量的盒子)。

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

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

参考(示例数据、文献)

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

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

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

• inner_box_inspection — py -3.11 examples_3d/inner_box_inspection.py

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

fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment

同类别(regionprops)

label_components · region_props · largest_component · filter_by_volume · vol_label · vol_region_props


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

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