preprocess op• Data kinds: points → points
• Call: import fullseye as fs; fs.ledger.mls_smooth(points, radius: 'float', order: 'int' = 2) (to call the implementation directly, import pcl_filter; pcl_filter.mls_smooth(points, radius: 'float', order: 'int' = 2); from the registry, ops3d.get("mls_smooth"))
Drop noise by projecting each point onto a local polynomial surface (Moving Least Squares smoothing).
For each point, gathers the neighbours within radius radius, estimates the local plane (normal n and the 2 axes of the tangent plane) by weighted PCA, and fits a polynomial surface of degree order to the neighbours' "tangent-plane coordinates (u,v) → height h along the normal" by Gaussian-weighted least squares. The point of interest itself is the origin (0,0) of the local coordinates, so it is moved along the normal by the fitted surface's height at (0,0) (= constant term), projecting it onto the surface. Only the sensor noise is evened out while the shape of the surface is preserved.
points : array_like, shape (N, 3)
Input point cloud.
radius : float
Radius of the neighbourhood sphere (> 0). Support of the local surface.
order : int
Degree of the local polynomial (default 2). The number of terms is (order+1)(order+2)/2.
ndarray, shape (N, 3)
Smoothed point cloud (order and count preserved). Points with fewer neighbours than the polynomial's number of terms stay in place.
This is an approximation method. Points with fewer neighbours than terms / with a degenerate local plane are not moved and keep their position (a safety measure so that holes and boundaries do not go wild). radius <= 0 raises ValueError; empty input returns empty.
• depth_sensors — Depth sensors — ranging principles, real-device figures, how dropouts appear
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
points as 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. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.