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 이진 볼륨을 연결 성분으로 라벨링합니다.
vol : array_like
bool 또는 0/1의 3D 배열.
connectivity : int
6(면) / 18(면+변) / 26(면+변+꼭짓점) 중 하나.
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.