moment_invariant op• Data kinds: points → matrix
• Call: import fullseye as fs; fs.ledger.inertia_tensor(points) -> 'np.ndarray' (implementation को सीधे call करना हो तो import moments3d; moments3d.inertia_tensor(points) -> 'np.ndarray', registry से लेना हो तो ops3d.get("inertia_tensor"))
point cloud का inertia tensor (3,3) (central 2nd-order moments से, समान mass, कुल mass 1)।
I_xx = mean(y²+z²), I_yy = mean(x²+z²), I_zz = mean(x²+y²), I_xy = -mean(xy), I_xz = -mean(xz), I_yz = -mean(yz)। covariance C से यह I = tr(C)·E₃ − C (E₃ identity matrix है) के बराबर है। symmetric और positive semi-definite। centroid centring के कारण translation invariant।
np.ndarray, shape (3, 3)
symmetric inertia tensor।
अतिरिक्त:
• इकाई लंबाई² है (points को mass 1 वाले equal-mass points माना जाता है, इसलिए density शामिल नहीं)। point cloud को rotation से घुमाने पर यह R I Rᵀ बनता है; eigenvalues (principal_moments) rotation invariants हैं और eigenvectors principal axes (moment_axes)।
• input (N,3), N >= 1 (1 point पर zero matrix)। ग़लत shape या non-finite मान पर ValueError।
• covariance C से संबंध I = tr(C)·E₃ - C है; C और I के eigenvectors समान हैं, और eigenvalues tr(C) - c_i हैं।
• ये solid (volume) के नहीं बल्कि sample points के moments हैं, इसलिए एक ही आकार में भी point density के bias से मान बदलते हैं। density बराबर करने के लिए पहले voxel_grid_downsample। Deterministic।
• 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 के स्रोत।
• moment_invariants — py -3.11 examples_3d/moment_invariants.py
matrix को input के रूप में लेते हैं)moment_invariant)moment_invariants · principal_moments · central_moments
*Provenance: moments3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.