boundary op• 데이터 종류: voxel → voxel
• 호출: import fullseye as fs; fs.ledger.vol_boundary(vol_binary, connectivity=6, side='inner')(구현을 직접 호출하려면 import volops; volops.vol_boundary(vol_binary, connectivity=6, side='inner'), 원장에서 가져오려면 ops3d.get("vol_boundary"))
이진 볼륨의 경계 셸(3-D 판 region_boundary).
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
side='inner' keeps the foreground voxels that touch background:
mask & ~erode(mask). side='outer' keeps the background voxels that touch foreground: dilate(mask) & ~mask. *connectivity* (6/18/26) decides which neighbours count as "touching" — 6 uses face neighbours only (the thinnest shell); 26 also counts a diagonal background contact, so shells at convex corners come out thicker. The volume border counts as background for the *inner* shell (a mask reaching the border has a boundary there — the same convention as the surface-area estimate in vol_region_props); the *outer* shell can only occupy voxels that exist, so a mask filling the whole volume has an empty outer boundary.
A solid region's interior drops out entirely: the shell of a solid ball of radius r voxels is roughly a 3/r fraction of it (surface over volume), so the saving grows with size — which is exactly why boundary representations (and vol_boundary_points) are the memory-frugal way to hand a shape to the point-cloud / metrology operators.
Returns a (D, H, W) float64 {0, 1} volume (chainable into vol_label, vol_boundary_points, ...).
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• roi_domain_boundary — py -3.11 examples_3d/roi_domain_boundary.py
voxel 를 입력으로 받는 것)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
boundary)*Provenance: volops.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.