preprocess op• Data kinds: points → points
• Call: import fullseye as fs; fs.ledger.mls_smooth(points, radius: 'float', order: 'int' = 2) (implementation को सीधे call करना हो तो import pcl_filter; pcl_filter.mls_smooth(points, radius: 'float', order: 'int' = 2), registry से लेना हो तो ops3d.get("mls_smooth"))
हर point को local polynomial surface पर project करके noise हटाता है (Moving Least Squares smoothing)।
हर point के लिए radius radius के अंदर के neighbours इकट्ठा करता है, weighted PCA से local plane (normal n और tangent plane की 2 axes) का अनुमान लगाता है, और neighbours के "tangent plane पर coordinate (u,v) → normal दिशा में height h" पर order degree की polynomial surface को Gaussian-weighted least squares से fit करता है। target point ख़ुद local coordinates के origin (0,0) पर होता है, इसलिए fit की गई surface की (0,0) पर height (= constant term) जितना normal की दिशा में खिसकाकर उसे surface पर project किया जाता है। surface का आकार बनाए रखते हुए सिर्फ़ sensor noise को smooth किया जा सकता है।
points : array_like, shape (N, 3)
input point cloud।
radius : float
neighbourhood sphere की radius (> 0)। local surface का support।
order : int
local polynomial की degree (default 2)। terms की संख्या (order+1)(order+2)/2 है।
ndarray, shape (N, 3)
smoothing के बाद का point cloud (क्रम और points की संख्या बनी रहती है)। जिन points के neighbours polynomial के terms से कम हैं वे अपनी जगह रहते हैं।
यह approximate तरीका है। जिन points के neighbours terms से कम हैं / जिनका local plane degenerate है, उन्हें हिलाया नहीं जाता और वे अपनी जगह रहते हैं (holes और boundaries पर बेकाबू होने से बचाने का सुरक्षा उपाय)। radius <= 0 पर ValueError, खाली input पर खाली लौटाया जाता है।
• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं
• 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 के स्रोत।
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
points को input के रूप में लेते हैं)points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d
preprocess)statistical_outlier_removal · radius_outlier_removal · voxel_grid_downsample · volume_downsample
*Provenance: pcl_filter.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.