medial op• 資料種類:voxel → voxel
• 呼叫: import fullseye as fs; fs.ledger.skeletonize_vol(vol)(要直接呼叫實作,import medial; medial.skeletonize_vol(vol);從台帳取用則 ops3d.get("skeletonize_vol"))
把 3D 二值 voxel 細化為 1 voxel 寬的骨架。skimage 的 Lee(1994)法封裝。
method='lee' 是支援 3D 的保拓撲細化。連塊也會壓成線狀骨架(若想要 medial *surface*, 請用 distance_ridge)。回傳值是與輸入同形狀的 bool 陣列。
Args:
vol: 二值 voxel(bool / 0-1 的 3D)。
Returns:
skeleton (bool 3D): 骨架 voxel。
輸入處理: _as_binary_volume 把 3-D 陣列正規化為 bool(非零 = 前景)。不是 3-D、空陣列、或含 NaN/Inf 的 float 時為 ValueError。軸順序為 (z, y, x),距離與粗細以 voxel 為單位,並假定等向取樣(若維持非等向 voxel,細化結果會依軸產生偏差。請先用 vol_resize 做等向化)。
行為:
• 若沒有前景,回傳同形狀的全 False 陣列(不呼叫 skimage)。
• skimage.morphology.skeletonize(mask, method="lee") 為延遲 import。在沒有 scikit-image 的環境中此處會出現 ImportError。
• Lee 法保持拓撲(不改變連通元件數、孔、空腔),但粗塊會壓成多條分支,並依表面凹凸產生毛刺(短分支)。毛刺用 skeleton_prune3d 剪掉。
用途: topology_signature(端點、分支的數量)、skeleton_junctions3d / skeleton_endpoints3d / skeleton_branches3d 的輸入。需要骨架 voxel 的局部半徑時,在骨架位置查 distance_ridge 的 edt。
• 範例資料目錄(下載 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 · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_endpoints3d · skeleton_prune3d · skeleton_branches3d
*Provenance: medial.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.