medial op• 資料種類:voxel → voxel
• 呼叫: import fullseye as fs; fs.ledger.skeleton_endpoints3d(vol)(要直接呼叫實作,import medial; medial.skeleton_endpoints3d(vol);從台帳取用則 ops3d.get("skeleton_endpoints3d"))
以體素遮罩回傳 3D 骨架的端點(26 鄰域中骨架 voxel 不超過 1 個)。
孤立 voxel(度 0)也計為端點。2D 的 r2_endpoints_skeleton 的 3D 版。
步驟: 用 _ensure_skeleton 把輸入轉為 bool,若有 6 鄰域全為前景的 interior voxel 就用 skeletonize_vol 細化,然後用 3x3x3 全 1 核(中心 0, mode="constant" 下外側為 0)做摺積,統計各 voxel 的 26 鄰域內的骨架 voxel 數(度),回傳 skel & (度 <= 1)。位於 volume 邊緣的骨架 voxel, 由於外側按 0 處理,若分支在那裡中斷就成為端點。
回傳值: 與輸入同形狀的 bool 陣列(端點 = True)。沒有前景時全為 False。用 np.argwhere 得到 (z, y, x) 座標,用 .sum() 得到端點數。
檢驗(ValueError): 不是 3-D、空陣列、含 NaN/Inf 的 float 輸入。需要細化而環境中沒有 scikit-image 時為 ImportError。
注意:
• 端點在各分支末端是精確的,但毛刺(細化產生的短分支)的尖端也計為端點。只想要結構的末端時,先用 skeleton_prune3d 剪掉。
• 只有閉環的骨架(環)端點為 0 個。
• 只要數量時,topology_signature 會把 endpoints / isolated 分開回傳。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• medial_topology — py -3.11 examples_3d/medial_topology.py
voxel 作為輸入)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
medial)distance_ridge · skeletonize_vol · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_prune3d · skeleton_branches3d
*Provenance: medial.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.