match_pose op• Data kinds: points → axes
• Call: import fullseye as fs; fs.ledger.moment_axes(points, weights=None) (implementation को सीधे call करना हो तो import match3d; match3d.moment_axes(points, weights=None), registry से लेना हो तो ops3d.get("moment_axes"))
• GPU: नहीं (केवल CPU reference implementation)
point cloud/weighted points का centroid + principal axes (inertia tensor के eigenvectors)। pose estimation का आधार।
वापसी मान (केन्द्रक(3,), अक्ष(3,3) कॉलम=मुख्य अक्ष, इग्वल(3,))। आइगेनवैल्यू अवरोही क्रम। रोटेशन सामान्यीकरण के लिए उपयोग किया जाता है।
परिभाषा: w को 1 के योग तक सामान्यीकृत करें, केन्द्रक c = Σ w p, स्कैटर मैट्रिक्स C = Σ w (p−c)(p−c)ᵀ (सहप्रसरण। जड़त्व टेंसर tr(C)I − C और eigenvectors सामान्य हैं, लेकिन eigenvalues का क्रम उलटा है) eigh द्वारा। जुदा करना. अक्ष[:, i] i-वें सबसे बड़े eigenvalue (घटते क्रम में) का प्रमुख अक्ष है। आइगेनवैल्यू विचरण (लंबाई²) है।
• eigenvectors के संकेत मनमाने हैं, और अक्ष बाएं हाथ के हो सकते हैं (det=−1) (match_pca तीसरी धुरी सेट करता है
(इसे दाएं हाथ से बनाने के लिए उलटा करें)।
• वजन लंबाई N है। 0 से विभाजित करने पर 0 का योग NaN होता है (कोई अपवाद नहीं होता है)। 0 का स्कोर स्पष्ट रूप से एक वैल्यूएरर है।
• यदि मुख्य अक्ष विकृत है (जैसे कोई गोला), तो अक्ष की दिशा अनिश्चित है।
बाद में: match_pca, obb (निर्देशित बॉक्स), विहित दृष्टिकोण के लिए रोटेशन।
खाली इनपुट (0 तत्वों के अंक) के परिणामस्वरूप वैल्यूएरर होता है।
• 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 के स्रोत।
• itokawa_pose_canonical — py -3.11 examples_3d/itokawa_pose_canonical.py
axes को input के रूप में लेते हैं)match_pose)match_phase_3d · match_pca · find_surface_pose · match_logpolar_z
*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.