PCLMovingLeastSquares

MLModule
genre PCLSurface
author Wolf Spindler
package FMEstable/PCL
dll MLPCLSurface
definition MLPCLSurface.def
see also PCLVoxelGrid, PCLBilateralFilter
inherits from PCLModule
keywords points, clouds, surface, moving, least, squares, upsampling, voxel, grid, mls, sample, plane

Purpose

Applies the pcl::MovingLeastSquares filter to the input point cloud and provides the filter result at the output. See pcl::MovingLeastSquares for details.

Windows

Default Panel

../../../Projects/MLPCLSurface/Modules/mhelp/Images/Screenshots/PCLMovingLeastSquares._default.png

Input Fields

inputPCLObject0

name: inputPCLObject0, type: MLBase

Connect the point cloud which shall be processed by the module.

inputPCLObject1

name: inputPCLObject1, type: MLBase

Here the “Distinct Point Cloud” must be connected if the Upsampling Method DISTINCT_POINT_CLOUD is selected. For technical reasons it must have be of the same point cloud type as the one at inputPCLObject0. If Upsampling Method differs from DISTINCT_POINT_CLOUD this connection is ignored.

Output Fields

outputPCLObject0

name: outputPCLObject0, type: MLBase

Provides the result pcl::PointCloud if there is any, otherwise it will contain NULL output data. Corresponding indices produced by the filter are also provided in the output base object; possibly reduced by skipped ones if Skip Nan Points is enabled.

Parameter Fields

Field Index

Compute Normals: Bool Skip Nan Points: Bool
Dilation Iterations: Integer Sqr Gauss Param: Double
Dilation Voxel Size: Float Status: String
Max Num Upsampling Steps: Integer Upsampling Method: Enum
Point Density: Integer Upsampling Radius: Double
Polynomial Fit: Bool Upsampling Step Size: Double
Polynomial Order: Integer  
Search Radius: Double  

For the documentation of the filter parameters see pcl::MovingLeastSquares.

Visible Fields

Status

name: status, type: String, persistent: no

see PCLModule.status

Compute Normals

name: computeNormals, type: Bool, default: FALSE

Determines whether the algorithm should also store the normals computed.

Polynomial Order

name: polynomialOrder, type: Integer, default: 2

The order of the polynomial to be fit.

Polynomial Fit

name: polynomialFit, type: Bool, default: TRUE

Defines whether the surface and normal are approximated using a polynomial, or only via tangent estimation.

Search Radius

name: searchRadius, type: Double, default: 0.1

The sphere radius that is to be used for determining the k-nearest neighbors used for fitting.

Sqr Gauss Param

name: sqrGaussParam, type: Double, default: 0.1

The parameter used for distance based weighting of neighbors (the square of the search radius stables best in general).

Upsampling Method

name: upsamplingMethod, type: Enum, default: NONE

The upsampling method to be used.

Values:

Title Name Description
None NONE No upsampling will be done, only the input points will be projected to their own MLS surfaces.
Distinct Cloud DISTINCT_CLOUD Will project the points of the distinct cloud to the closest point on the MLS surface.
Sample Local Plane SAMPLE_LOCAL_PLANE The local plane of each input point will be sampled in a circular fashion using Upsampling Radius and Upsampling Step Size.
Random Uniform Density RANDOM_UNIFORM_DENSITY The local plane of each input point will be sampled using an uniform random distribution such that the density of points is constant throughout the cloud - given by the Point Density parameter.
Voxel Grid Dilation VOXEL_GRID_DILATION The input cloud will be inserted into a voxel grid with voxels of size Dilation Voxel Size this voxel grid will be dilated Dilation Iterations times and the resulting points will be projected to the MLS surface of the closest point in the input cloud; the result is a point cloud with filled holes and a constant point density.

Upsampling Radius

name: upsamplingRadius, type: Double, default: 0.01

The radius of the circle in the local point plane that will be sampled (used only in the case of SAMPLE_LOCAL_PLANE Upsampling Method).

Upsampling Step Size

name: upsamplingStepSize, type: Double, default: 0.01

The step size for the local plane sampling (used only in the case of SAMPLE_LOCAL_PLANE Upsampling Method).

Max Num Upsampling Steps

name: maxNumUpsamplingSteps, type: Integer, default: 50

Upsampling Radius divided by Upsampling Step Size is the number of iterations in both, the x and y dimension, thus it quadratically increases the number of performed calculations, if the Upsampling Method is SAMPLE_LOCAL_PLANE. Since this happens easily, Max Num Upsampling Steps limits the maximum number of performed iterations. If necessary the Upsampling Step Size is adapted automatically. Increase Max Num Upsampling Steps with care to avoid very long calculations. This parameter is only used if Upsampling Method is SAMPLE_LOCAL_PLANE.

Point Density

name: pointDensity, type: Integer, default: 0

Specifies the desired number of points within the search radius (used only in the case of RANDOM_UNIFORM_DENSITY Upsampling Method).

Dilation Voxel Size

name: dilationVoxelSize, type: Float, default: 1

The voxel size for the voxel grid (used only in the VOXEL_GRID_DILATION Upsampling Method).

Dilation Iterations

name: dilationIterations, type: Integer, default: 0

The number of dilation steps of the voxel grid (used only in the VOXEL_GRID_DILATION Upsampling Method).

Skip Nan Points

name: skipNanPoints, type: Bool, default: TRUE

If enabled then points with nan-values in x,y, or z are removed; if disabled then all values are passed unchanged with possible with nan’s.