match_sh_descriptor — 3D describe op

• Data kinds: voxel × voxel → measurement

• Call: import fullseye as fs; fs.ledger.match_sh_descriptor(a, b, L=8, nradii=12, device='cpu') (implementation को सीधे call करना हो तो import match3d; match3d.match_sh_descriptor(a, b, L=8, nradii=12, device='cpu'), registry से लेना हो तो ops3d.get("match_sh_descriptor"))

• GPU: इस op का GPU path है (device="cuda")

उपयोग

दो SH descriptors के बीच cosine similarity (rotation-invariant shape matching)। 1 के जितना पास, shape उतनी समान। voxel × SH column।

sh_descriptor(a, L, nradii) और sh_descriptor(b, L, nradii) को flatten करके L2 normalise करता है और inner product को float के रूप में लौटाता है। band energy non-negative है, इसलिए मान [0, 1] में है (ऋणात्मक नहीं होता)। किसी एक descriptor के पूरे 0 होने पर (खाली volume) 0।

• a, b cube volume हैं (sh_descriptor की शर्त)। shape अलग हो सकते हैं, पर shell radius

हर N से तय होता है, इसलिए अलग scale वाले object अलग माने जाते हैं और कम score पाते हैं (scale invariant नहीं)। center के खिसकने पर भी कमज़ोर है (पहले centroid से center मिलाएँ)।

• rotation के प्रति invariant (band energy)। पर mirror image भी वही मान देता है।

• ntheta/nphi default (32×64) पर स्थिर हैं। केवल समान setting वाली तुलना का अर्थ है।

• position नहीं लौटाता। "कहाँ है" के लिए match_shape_3d आदि, "क्या समान shape है" के लिए यह op।

संदर्भ (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 करते हैं)

• sh_descriptor_retrieval — py -3.11 examples_3d/sh_descriptor_retrieval.py

• shape_descriptor — py -3.11 examples_3d/shape_descriptor.py

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

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

इसी category के (describe)

sh_descriptor


*Provenance: match3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.