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.