medial op• 데이터 종류: voxel → voxel
• 호출: import fullseye as fs; fs.ledger.distance_ridge(vol, min_radius=0.0)(구현을 직접 호출하려면 import medial; medial.distance_ridge(vol, min_radius=0.0), 원장에서 가져오려면 ops3d.get("distance_ridge"))
• 원장 경유의 반환값: fullseye.ledger.distance_ridge(...) 는 **선언된 out 형 voxel 의 값만** 반환합니다(실제 함수는 보조 정보도 반환). 버려진 쪽이 필요하면 fullseye.ledger.distance_ridge.raw(...) 를 쓰거나 medial.distance_ridge 를 직접 호출하세요.
• 실제 반환: (ridge, dist)
EDT 의 능선(거리장의 국소 최대)을 medial 로 추출. 반환값 (ridge_mask, edt).
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
各前景 voxel の EDT を計算し、26 近傍の局所極大(自分の EDT が周囲 26 voxel の最大以上)を
medial とみなす。この基準は物体の局所次元に応じて自然に次元を出し分ける:
塊(球) -> EDT が単峰 -> 点状の medial(中心 1 点)。
管(円柱)-> 軸方向に平坦・半径方向に単峰 -> 線状の medial(軸線)。
板(スラブ)-> 面内で平坦・厚み方向に単峰 -> 面状の medial(中心面)。
境界 voxel は内側の隣が必ず大きいため極大にならず、外殻は自然に除かれる。平坦な尾根
(軸/面)は同値の隣接を許容(>=)することで連続した線/面として残る。
Args:
vol: バイナリ voxel(bool / 0-1 の 3D)。
min_radius: この EDT 値以下の弱い尾根を捨てる閾値(既定 0 = 捨てない)。ノイズ抑制用。
Returns:
ridge_mask (bool 3D): medial voxel。
edt (float64 3D): 各 voxel の背景までのユークリッド距離(= 局所半径)。
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
voxel 를 입력으로 받는 것)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
medial)skeletonize_vol · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_endpoints3d · skeleton_prune3d · skeleton_branches3d
*Provenance: medial.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.