|
Point Cloud Library (PCL)
1.6.0
|
MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More...
#include <pcl/surface/mls.h>


Classes | |
| struct | MLSResult |
| Data structure used to store the results of the MLS fitting. | |
| class | MLSVoxelGrid |
| A minimalistic implementation of a voxel grid, necessary for the point cloud upsampling. | |
Public Types | |
| enum | UpsamplingMethod { NONE, SAMPLE_LOCAL_PLANE, RANDOM_UNIFORM_DENSITY, VOXEL_GRID_DILATION } |
| typedef pcl::search::Search < PointInT > | KdTree |
| typedef pcl::search::Search < PointInT >::Ptr | KdTreePtr |
| typedef pcl::PointCloud < pcl::Normal > | NormalCloud |
| typedef pcl::PointCloud < pcl::Normal >::Ptr | NormalCloudPtr |
| typedef pcl::PointCloud < PointOutT > | PointCloudOut |
| typedef PointCloudOut::Ptr | PointCloudOutPtr |
| typedef PointCloudOut::ConstPtr | PointCloudOutConstPtr |
| typedef pcl::PointCloud< PointInT > | PointCloudIn |
| typedef PointCloudIn::Ptr | PointCloudInPtr |
| typedef PointCloudIn::ConstPtr | PointCloudInConstPtr |
| typedef boost::function< int(int, double, std::vector< int > &, std::vector< float > &)> | SearchMethod |
| typedef pcl::PointCloud< PointInT > | PointCloud |
| typedef PointCloud::Ptr | PointCloudPtr |
| typedef PointCloud::ConstPtr | PointCloudConstPtr |
| typedef PointIndices::Ptr | PointIndicesPtr |
| typedef PointIndices::ConstPtr | PointIndicesConstPtr |
Public Member Functions | |
| MovingLeastSquares () | |
| Empty constructor. | |
| void | setComputeNormals (bool compute_normals) |
| Set whether the algorithm should also store the normals computed. | |
| void | setSearchMethod (const KdTreePtr &tree) |
| Provide a pointer to the search object. | |
| KdTreePtr | getSearchMethod () |
| Get a pointer to the search method used. | |
| void | setPolynomialOrder (int order) |
| Set the order of the polynomial to be fit. | |
| int | getPolynomialOrder () |
| Get the order of the polynomial to be fit. | |
| void | setPolynomialFit (bool polynomial_fit) |
| Sets whether the surface and normal are approximated using a polynomial, or only via tangent estimation. | |
| bool | getPolynomialFit () |
| Get the polynomial_fit value (true if the surface and normal are approximated using a polynomial). | |
| void | setSearchRadius (double radius) |
| Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. | |
| double | getSearchRadius () |
| Get the sphere radius used for determining the k-nearest neighbors. | |
| void | setSqrGaussParam (double sqr_gauss_param) |
| Set the parameter used for distance based weighting of neighbors (the square of the search radius works best in general). | |
| double | getSqrGaussParam () const |
| Get the parameter for distance based weighting of neighbors. | |
| void | setUpsamplingMethod (UpsamplingMethod method) |
| Set the upsampling method to be used. | |
| void | setUpsamplingRadius (double radius) |
| Set the radius of the circle in the local point plane that will be sampled. | |
| double | getUpsamplingRadius () |
| Get the radius of the circle in the local point plane that will be sampled. | |
| void | setUpsamplingStepSize (double step_size) |
| Set the step size for the local plane sampling. | |
| double | getUpsamplingStepSize () |
| Get the step size for the local plane sampling. | |
| void | setPointDensity (int desired_num_points_in_radius) |
| Set the parameter that specifies the desired number of points within the search radius. | |
| int | getPointDensity () |
| Get the parameter that specifies the desired number of points within the search radius. | |
| void | setDilationVoxelSize (float voxel_size) |
| Set the voxel size for the voxel grid. | |
| float | getDilationVoxelSize () |
| Get the voxel size for the voxel grid. | |
| void | setDilationIterations (int iterations) |
| Set the number of dilation steps of the voxel grid. | |
| int | getDilationIterations () |
| Get the number of dilation steps of the voxel grid. | |
| void | process (PointCloudOut &output) |
| Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> | |
| virtual void | process (pcl::PointCloud< PointOutT > &output) |
| Process the input cloud and store the results. | |
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Provide a pointer to the input dataset. | |
| PointCloudConstPtr const | getInputCloud () |
| Get a pointer to the input point cloud dataset. | |
| void | setIndices (const IndicesPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (const IndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (const PointIndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols) |
| Set the indices for the points laying within an interest region of the point cloud. | |
| IndicesPtr const | getIndices () |
| Get a pointer to the vector of indices used. | |
| const PointInT & | operator[] (size_t pos) |
| Override PointCloud operator[] to shorten code. | |
MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation.
It also contains methods for upsampling the resulting cloud based on the parametric fit. Reference paper: "Computing and Rendering Point Set Surfaces" by Marc Alexa, Johannes Behr, Daniel Cohen-Or, Shachar Fleishman, David Levin and Claudio T. Silva www.sci.utah.edu/~shachar/Publications/crpss.pdf
| typedef pcl::search::Search<PointInT> pcl::MovingLeastSquares< PointInT, PointOutT >::KdTree |
| typedef pcl::search::Search<PointInT>::Ptr pcl::MovingLeastSquares< PointInT, PointOutT >::KdTreePtr |
| typedef pcl::PointCloud<pcl::Normal> pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloud |
| typedef pcl::PointCloud<pcl::Normal>::Ptr pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloudPtr |
typedef pcl::PointCloud<PointInT > pcl::PCLBase< PointInT >::PointCloud [inherited] |
Definition at line 74 of file pcl_base.h.
typedef PointCloud::ConstPtr pcl::PCLBase< PointInT >::PointCloudConstPtr [inherited] |
Reimplemented in pcl::NormalEstimation< PointInT, PointOutT >, and pcl::NormalEstimation< PointInT, pcl::Normal >.
Definition at line 76 of file pcl_base.h.
| typedef pcl::PointCloud<PointInT> pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudIn |
| typedef PointCloudIn::ConstPtr pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInConstPtr |
| typedef PointCloudIn::Ptr pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInPtr |
| typedef pcl::PointCloud<PointOutT> pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOut |
| typedef PointCloudOut::ConstPtr pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutConstPtr |
| typedef PointCloudOut::Ptr pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutPtr |
typedef PointCloud::Ptr pcl::PCLBase< PointInT >::PointCloudPtr [inherited] |
Reimplemented in pcl::OrganizedFastMesh< PointInT >.
Definition at line 75 of file pcl_base.h.
typedef PointIndices::ConstPtr pcl::PCLBase< PointInT >::PointIndicesConstPtr [inherited] |
Definition at line 79 of file pcl_base.h.
typedef PointIndices::Ptr pcl::PCLBase< PointInT >::PointIndicesPtr [inherited] |
Definition at line 78 of file pcl_base.h.
| typedef boost::function<int (int, double, std::vector<int> &, std::vector<float> &)> pcl::MovingLeastSquares< PointInT, PointOutT >::SearchMethod |
| enum pcl::MovingLeastSquares::UpsamplingMethod |
| pcl::MovingLeastSquares< PointInT, PointOutT >::MovingLeastSquares | ( | ) | [inline] |
| int pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationIterations | ( | ) | [inline] |
| float pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationVoxelSize | ( | ) | [inline] |
| IndicesPtr const pcl::PCLBase< PointInT >::getIndices | ( | ) | [inline, inherited] |
Get a pointer to the vector of indices used.
Definition at line 190 of file pcl_base.h.
| PointCloudConstPtr const pcl::PCLBase< PointInT >::getInputCloud | ( | ) | [inline, inherited] |
Get a pointer to the input point cloud dataset.
Definition at line 107 of file pcl_base.h.
| int pcl::MovingLeastSquares< PointInT, PointOutT >::getPointDensity | ( | ) | [inline] |
| bool pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialFit | ( | ) | [inline] |
| int pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialOrder | ( | ) | [inline] |
| KdTreePtr pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchMethod | ( | ) | [inline] |
| double pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchRadius | ( | ) | [inline] |
| double pcl::MovingLeastSquares< PointInT, PointOutT >::getSqrGaussParam | ( | ) | const [inline] |
| double pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingRadius | ( | ) | [inline] |
| double pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingStepSize | ( | ) | [inline] |
| const PointInT & pcl::PCLBase< PointInT >::operator[] | ( | size_t | pos | ) | [inline, inherited] |
Override PointCloud operator[] to shorten code.
| pos | position in indices_ vector |
Definition at line 197 of file pcl_base.h.
| void pcl::CloudSurfaceProcessing< PointInT, PointOutT >::process | ( | pcl::PointCloud< PointOutT > & | output | ) | [virtual, inherited] |
Process the input cloud and store the results.
| [out] | output | the cloud where the results will be stored |
Reimplemented in pcl::BilateralUpsampling< PointInT, PointOutT >.
Definition at line 43 of file processing.hpp.
| void pcl::MovingLeastSquares< PointInT, PointOutT >::process | ( | PointCloudOut & | output | ) |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setComputeNormals | ( | bool | compute_normals | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationIterations | ( | int | iterations | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationVoxelSize | ( | float | voxel_size | ) | [inline] |
| void pcl::PCLBase< PointInT >::setIndices | ( | const IndicesPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 113 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::setIndices | ( | const IndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 124 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::setIndices | ( | const PointIndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 135 of file pcl_base.h.
| void pcl::PCLBase< PointInT >::setIndices | ( | size_t | row_start, |
| size_t | col_start, | ||
| size_t | nb_rows, | ||
| size_t | nb_cols | ||
| ) | [inline, inherited] |
Set the indices for the points laying within an interest region of the point cloud.
| row_start | the offset on rows |
| col_start | the offset on columns |
| nb_rows | the number of rows to be considered row_start included |
| nb_cols | the number of columns to be considered col_start included |
Definition at line 151 of file pcl_base.h.
| virtual void pcl::PCLBase< PointInT >::setInputCloud | ( | const PointCloudConstPtr & | cloud | ) | [inline, virtual, inherited] |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Definition at line 103 of file pcl_base.h.
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setPointDensity | ( | int | desired_num_points_in_radius | ) | [inline] |
Set the parameter that specifies the desired number of points within the search radius.
| [in] | desired_num_points_in_radius | the desired number of points in the output cloud in a sphere of radius search_radius_ around each point |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialFit | ( | bool | polynomial_fit | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialOrder | ( | int | order | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius | ( | double | radius | ) | [inline] |
Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting.
| [in] | radius | the sphere radius that is to contain all k-nearest neighbors |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setSqrGaussParam | ( | double | sqr_gauss_param | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingMethod | ( | UpsamplingMethod | method | ) | [inline] |
Set the upsampling method to be used.
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingRadius | ( | double | radius | ) | [inline] |
| void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingStepSize | ( | double | step_size | ) | [inline] |
1.7.6.1