central_moments — 3D moment_invariant op

• Data kinds: points → table

• Call: import fullseye as fs; fs.ledger.central_moments(points, max_order: 'int' = 3) -> 'dict' (implementation को सीधे call करना हो तो import moments3d; moments3d.central_moments(points, max_order: 'int' = 3) -> 'dict', registry से लेना हो तो ops3d.get("central_moments"))

उपयोग

centroid पर केंद्रित central moments μ_{pqr} (translation invariant, key=(p,q,r)) लौटाता है।

μ_{pqr} = mean( (x-x̄)^p (y-ȳ)^q (z-z̄)^r )। p+q+r <= max_order वाले सभी orders शामिल हैं। centroid घटाकर गणना होती है, इसलिए translation के प्रति ठीक-ठीक invariant है। equal-mass convention के कारण μ_{000}=1, और 1st-order moments μ_{100}=μ_{010}=μ_{001}=0 (centring का परिणाम)।

Parameters

points : array_like, shape (N, 3)

point cloud।

max_order : int

शामिल किया जाने वाला अधिकतम order p+q+r (default 3)। 0 या अधिक।

Returns

dict[tuple[int, int, int], float]

(p, q, r) → μ_{pqr}।

अतिरिक्त:

• लौटाए गए dict में keys की संख्या p+q+r <= max_order वाले सभी संयोजन हैं (max_order=3 पर 20)। मान float हैं (mean है, इसलिए points की संख्या से भाग दिया गया है)।

• इकाई लंबाई^(p+q+r) है। translation invariant है पर rotation और scale के प्रति invariant नहीं (rotation invariants के लिए moment_invariants / principal_moments)।

• (2,0,0), (1,1,0) जैसे 2nd-order moments ठीक population covariance (N से भाग) हैं, यानी inertia_tensor वाली ही सामग्री।

• higher orders पर centroid से दूर के points हावी होते हैं, इसलिए ये outliers के प्रति कमज़ोर हैं। पहले statistical_outlier_removal आदि पर विचार करें।

• input (N,3), N >= 1। max_order < 0, ग़लत shape या non-finite मान पर ValueError। Deterministic।

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

• moment_invariants — py -3.11 examples_3d/moment_invariants.py

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

fuse_to_voxel · mesh_select_lod

इसी category के (moment_invariant)

moment_invariants · principal_moments · inertia_tensor


*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.