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 — 計測の不確かさと校正の知識 — 「測れている」を主張するために
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.