topology_signature — 3D medial op

• Data kinds: voxel → table

• Call: import fullseye as fs; fs.ledger.topology_signature(skeleton) (implementation को सीधे call करना हो तो import medial; medial.topology_signature(skeleton), registry से लेना हो तो ops3d.get("topology_signature"))

उपयोग

skeleton के 26-neighbourhood degree से topology descriptor बनाता है। end points/branch points/सामान्य points/isolated points की संख्या लौटाता है।

हर skeleton voxel के लिए उसके 26-neighbourhood में skeleton voxel की संख्या (degree) गिनी जाती है, और

degree 1 = endpoint

degree 2 = सामान्य point (skeleton के बीच में)

degree>=3 = branch point (branch)

degree 0 = isolated point (isolated)

के रूप में classify किया जाता है। ये गिनतियाँ translation और rotation (90 degree) से invariant हैं और shape की topology का मोटा सार देने वाला descriptor बनती हैं।

सावधानी (honest): 26-neighbourhood की degree branch के पास diagonal adjacency के कारण ज़्यादा गिनी जा सकती है (discrete skeleton का ज्ञात गुण)। endpoint की संख्या हर branch के सिरे पर सटीक है, पर branch point की संख्या कुछ ज़्यादा की ओर जा सकती है।

Args:

skeleton: skeleton voxel (bool / 0-1 का 3D)।

Returns:

dict: endpoints, branches, normal, isolated, total (skeleton voxel की कुल संख्या),

degree_hist (degree -> संख्या)।

संदर्भ (sample data, साहित्य)

• 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 के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• medial_topology — py -3.11 examples_3d/medial_topology.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

fuse_to_voxel · mesh_select_lod

इसी category के (medial)

distance_ridge · skeletonize_vol · medial_axis_points · 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.