Point Cloud Library (PCL)
1.9.1
|
MovingLeastSquaresOMP implementation has been merged into MovingLeastSquares for better maintainability. More...
#include <pcl/surface/mls.h>
Public Member Functions | |
MovingLeastSquaresOMP (unsigned int threads=1) | |
Constructor for parallelized Moving Least Squares. More... | |
![]() | |
MovingLeastSquares () | |
Empty constructor. More... | |
virtual | ~MovingLeastSquares () |
Empty destructor. More... | |
void | setComputeNormals (bool compute_normals) |
Set whether the algorithm should also store the normals computed. More... | |
void | setSearchMethod (const KdTreePtr &tree) |
Provide a pointer to the search object. More... | |
KdTreePtr | getSearchMethod () const |
Get a pointer to the search method used. More... | |
void | setPolynomialOrder (int order) |
Set the order of the polynomial to be fit. More... | |
int | getPolynomialOrder () const |
Get the order of the polynomial to be fit. More... | |
void | setPolynomialFit (bool polynomial_fit) |
Sets whether the surface and normal are approximated using a polynomial, or only via tangent estimation. More... | |
bool | getPolynomialFit () const |
Get the polynomial_fit value (true if the surface and normal are approximated using a polynomial). More... | |
void | setSearchRadius (double radius) |
Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. More... | |
double | getSearchRadius () const |
Get the sphere radius used for determining the k-nearest neighbors. More... | |
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). More... | |
double | getSqrGaussParam () const |
Get the parameter for distance based weighting of neighbors. More... | |
void | setUpsamplingMethod (UpsamplingMethod method) |
Set the upsampling method to be used. More... | |
void | setDistinctCloud (PointCloudInConstPtr distinct_cloud) |
Set the distinct cloud used for the DISTINCT_CLOUD upsampling method. More... | |
PointCloudInConstPtr | getDistinctCloud () const |
Get the distinct cloud used for the DISTINCT_CLOUD upsampling method. More... | |
void | setUpsamplingRadius (double radius) |
Set the radius of the circle in the local point plane that will be sampled. More... | |
double | getUpsamplingRadius () const |
Get the radius of the circle in the local point plane that will be sampled. More... | |
void | setUpsamplingStepSize (double step_size) |
Set the step size for the local plane sampling. More... | |
double | getUpsamplingStepSize () const |
Get the step size for the local plane sampling. More... | |
void | setPointDensity (int desired_num_points_in_radius) |
Set the parameter that specifies the desired number of points within the search radius. More... | |
int | getPointDensity () const |
Get the parameter that specifies the desired number of points within the search radius. More... | |
void | setDilationVoxelSize (float voxel_size) |
Set the voxel size for the voxel grid. More... | |
float | getDilationVoxelSize () const |
Get the voxel size for the voxel grid. More... | |
void | setDilationIterations (int iterations) |
Set the number of dilation steps of the voxel grid. More... | |
int | getDilationIterations () const |
Get the number of dilation steps of the voxel grid. More... | |
void | setCacheMLSResults (bool cache_mls_results) |
Set whether the mls results should be stored for each point in the input cloud. More... | |
bool | getCacheMLSResults () const |
Get the cache_mls_results_ value (True if the mls results should be stored, otherwise false). More... | |
void | setProjectionMethod (MLSResult::ProjectionMethod method) |
Set the method to be used when projection the point on to the MLS surface. More... | |
MLSResult::ProjectionMethod | getProjectionMethod () const |
Get the current projection method being used. More... | |
const std::vector< MLSResult > & | getMLSResults () const |
Get the MLSResults for input cloud. More... | |
void | setNumberOfThreads (unsigned int threads=1) |
Set the maximum number of threads to use. More... | |
void | process (PointCloudOut &output) |
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> More... | |
PointIndicesPtr | getCorrespondingIndices () const |
Get the set of indices with each point in output having the corresponding point in input. More... | |
![]() | |
CloudSurfaceProcessing () | |
Constructor. More... | |
virtual | ~CloudSurfaceProcessing () |
Empty destructor. More... | |
![]() | |
PCLBase () | |
Empty constructor. More... | |
PCLBase (const PCLBase &base) | |
Copy constructor. More... | |
virtual | ~PCLBase () |
Destructor. More... | |
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... | |
const PointCloudConstPtr | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... | |
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual 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. More... | |
const IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... | |
const IndicesConstPtr | getIndices () const |
Get a pointer to the vector of indices used. More... | |
const PointInT & | operator[] (size_t pos) const |
Override PointCloud operator[] to shorten code. More... | |
Additional Inherited Members | |
![]() | |
enum | UpsamplingMethod { NONE, DISTINCT_CLOUD, SAMPLE_LOCAL_PLANE, RANDOM_UNIFORM_DENSITY, VOXEL_GRID_DILATION } |
typedef boost::shared_ptr< MovingLeastSquares< PointInT, PointOutT > > | Ptr |
typedef boost::shared_ptr< const MovingLeastSquares< PointInT, PointOutT > > | ConstPtr |
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 boost::shared_ptr< CloudSurfaceProcessing< PointInT, PointOutT > > | Ptr |
typedef boost::shared_ptr< const CloudSurfaceProcessing< PointInT, PointOutT > > | ConstPtr |
![]() | |
typedef pcl::PointCloud< PointInT > | PointCloud |
typedef PointCloud::Ptr | PointCloudPtr |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr |
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr |
![]() | |
int | searchForNeighbors (int index, std::vector< int > &indices, std::vector< float > &sqr_distances) const |
Search for the closest nearest neighbors of a given point using a radius search. More... | |
void | computeMLSPointNormal (int index, const std::vector< int > &nn_indices, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices, MLSResult &mls_result) const |
Smooth a given point and its neighborghood using Moving Least Squares. More... | |
void | addProjectedPointNormal (int index, const Eigen::Vector3d &point, const Eigen::Vector3d &normal, double curvature, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices) const |
This is a helper function for add projected points. More... | |
void | copyMissingFields (const PointInT &point_in, PointOutT &point_out) const |
virtual void | performProcessing (PointCloudOut &output) |
Abstract surface reconstruction method. More... | |
void | performUpsampling (PointCloudOut &output) |
Perform upsampling for the distinct-cloud and voxel-grid methods. More... | |
![]() | |
bool | initCompute () |
This method should get called before starting the actual computation. More... | |
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... | |
![]() | |
NormalCloudPtr | normals_ |
The point cloud that will hold the estimated normals, if set. More... | |
PointCloudInConstPtr | distinct_cloud_ |
The distinct point cloud that will be projected to the MLS surface. More... | |
SearchMethod | search_method_ |
The search method template for indices. More... | |
KdTreePtr | tree_ |
A pointer to the spatial search object. More... | |
int | order_ |
The order of the polynomial to be fit. More... | |
double | search_radius_ |
The nearest neighbors search radius for each point. More... | |
double | sqr_gauss_param_ |
Parameter for distance based weighting of neighbors (search_radius_ * search_radius_ works fine) More... | |
bool | compute_normals_ |
Parameter that specifies whether the normals should be computed for the input cloud or not. More... | |
UpsamplingMethod | upsample_method_ |
Parameter that specifies the upsampling method to be used. More... | |
double | upsampling_radius_ |
Radius of the circle in the local point plane that will be sampled. More... | |
double | upsampling_step_ |
Step size for the local plane sampling. More... | |
int | desired_num_points_in_radius_ |
Parameter that specifies the desired number of points within the search radius. More... | |
bool | cache_mls_results_ |
True if the mls results for the input cloud should be stored. More... | |
std::vector< MLSResult > | mls_results_ |
Stores the MLS result for each point in the input cloud. More... | |
MLSResult::ProjectionMethod | projection_method_ |
Parameter that specifies the projection method to be used. More... | |
unsigned int | threads_ |
The maximum number of threads the scheduler should use. More... | |
float | voxel_size_ |
Voxel size for the VOXEL_GRID_DILATION upsampling method. More... | |
int | dilation_iteration_num_ |
Number of dilation steps for the VOXEL_GRID_DILATION upsampling method. More... | |
int | nr_coeff_ |
Number of coefficients, to be computed from the requested order. More... | |
PointIndicesPtr | corresponding_input_indices_ |
Collects for each point in output the corrseponding point in the input. More... | |
![]() | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... | |
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
MovingLeastSquaresOMP implementation has been merged into MovingLeastSquares for better maintainability.
|
inline |
Constructor for parallelized Moving Least Squares.
threads | the maximum number of hardware threads to use (0 sets the value to 1) |
Definition at line 763 of file mls.h.
References pcl::MovingLeastSquares< PointInT, PointOutT >::setNumberOfThreads().