region_props — 3D regionprops op

Data kinds: voxeltable

Call: import fullseye as fs; fs.ledger.region_props(vol, connectivity: 'int' = 26) -> 'list[dict]' (to call the implementation directly, import regionprops3d; regionprops3d.region_props(vol, connectivity: 'int' = 26) -> 'list[dict]'; from the registry, ops3d.get("region_props"))

Usage

Return the list of region properties of each connected component.

> The detailed description below is the original text — the summary and the headings are translated.

Parameters

----------

vol : array_like

bool または 0/1 の 3D 配列。

connectivity : int

6 / 18 / 26。

Returns

-------

list[dict]

成分ごとの dict。キー:

• `label` : ラベル番号 (int)

• `volume` : ボクセル数 (int)

• `centroid` : 重心 (z, y, x) の tuple(float)

• `bbox` : (z0, y0, x0, z1, y1, x1)。z1/y1/x1 は排他的上端(stop)

• `extent` : volume / bbox 体積(充填率、0..1)

• `principal_axes` : (3,3) 主軸ベクトル(行、固有値降順)

• `principal_lengths`: (3,) 主軸長 = 座標共分散固有値の平方根(降順)

• `equivalent_radius`: 等価球半径 (3V/4π)^(1/3)

• `surface_area` : 露出面カウント近似(ボクセル面単位)

• `sphericity` : 等体積球表面積 / 実表面積(球=1 に近い、離散のため <1)

前景ボクセルが無い(または空入力)場合は空リスト。

補足:

• 全量はボクセル単位(スペーシング補正なし)。実寸が要るなら `volume に voxel 体積、centroid / bbox / principal_lengths` に各軸のスペーシングを掛ける(非等方だと主軸方向は歪む)。

• `principal_lengths は座標の母共分散(N で割る)の固有値の平方根で、成分の半径ではなく座標の標準偏差。1 ボクセルの成分は principal_axes が単位行列、principal_lengths` が全 0。

• `surface_area は配列端に接する面も数える(ゼロ padding)。sphericity` は離散化のため球でも約 0.66 が上限(モジュール docstring 参照)。

• ラベルは 1..n の順(`label_components` と同じ scipy の走査順)で、体積順ではない。並べ替えは呼び手で行う。

• 入力は 0 以外を前景として bool 化する(NaN も前景)。Raises `ValueError: 3 次元でない入力、connectivity` が 6/18/26 以外。

Background guides (the physics and conventions behind this op)

measurement_uncertainty — 計測の不確かさと校正の知識 — 「測れている」を主張するために

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

region_props_3dpy -3.11 examples_3d/region_props_3d.py

Ops the type connects to (they accept table as input)

fuse_to_voxel · mesh_select_lod

Same category (regionprops)

label_components · largest_component · filter_by_volume · inner_box3 · vol_label · vol_region_props


*Provenance: regionprops3d.py — 3D 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.