medial op• Data kinds: voxel → voxel
• Call: import fullseye as fs; fs.ledger.distance_ridge(vol, min_radius=0.0) (implementation को सीधे call करना हो तो import medial; medial.distance_ridge(vol, min_radius=0.0), registry से लेना हो तो ops3d.get("distance_ridge"))
• Ledger के ज़रिए return value: fullseye.ledger.distance_ridge(...) केवल घोषित out type voxel का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.distance_ridge.raw(...) का उपयोग करें, या medial.distance_ridge को सीधे call करें।
• मूल function का return: (ridge, dist)
EDT के ridge (distance field के local maxima) को medial के रूप में निकालता है। return value (ridge_mask, edt)।
हर foreground voxel का EDT निकाला जाता है, और 26-neighbourhood के local maxima (अपना EDT आसपास के 26 voxel के maximum से कम न हो) को medial माना जाता है। यह मानदंड object की local dimension के अनुसार अपने आप सही dimension देता है:
blob (sphere) -> EDT unimodal -> point जैसा medial (1 centre point)।
tube (cylinder)-> axis की दिशा में flat, radial दिशा में unimodal -> line जैसा medial (axis line)।
plate (slab)-> plane के भीतर flat, thickness की दिशा में unimodal -> surface जैसा medial (mid-surface)।
boundary voxel का भीतरी पड़ोसी हमेशा बड़ा होता है, इसलिए वह maximum नहीं बनता और बाहरी shell अपने आप हट जाता है। flat ridge (axis/plane) बराबर मान वाले पड़ोसी को अनुमति (>=) देने से लगातार line/surface के रूप में बचा रहता है।
Args:
vol: binary voxel (bool / 0-1 का 3D)।
min_radius: इस EDT मान या उससे कम वाले कमजोर ridge को हटाने का threshold (default 0 = कुछ नहीं हटता)। noise दबाने के लिए।
Returns:
ridge_mask (bool 3D): medial voxel।
edt (float64 3D): हर voxel से background तक की Euclidean distance (= local radius)।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
voxel को input के रूप में लेते हैं)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 operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.