Point Cloud Library (PCL)  1.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
pcl::MovingLeastSquaresOMP< PointInT, NormalOutT > Class Template Reference

MovingLeastSquaresOMP represent an OpenMP implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More...

#include <pcl/surface/mls_omp.h>

Inheritance diagram for pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef pcl::search::Search
< PointInT > 
KdTree
typedef pcl::search::Search
< PointInT >::Ptr 
KdTreePtr
typedef NormalCloudOut::Ptr NormalCloudOutPtr
typedef NormalCloudOut::ConstPtr NormalCloudOutConstPtr
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

 MovingLeastSquaresOMP ()
 Empty constructor.
 MovingLeastSquaresOMP (unsigned int nr_threads)
 Initialize the scheduler and set the number of threads to use.
void setNumberOfThreads (unsigned int nr_threads)
 Initialize the scheduler and set the number of threads to use.
void setOutputNormals (NormalCloudOutPtr cloud)
 Provide a pointer to a point cloud where normal information should be saved.
NormalCloudOutPtr getOutputNormals ()
 Returns a pointer to the point cloud where normal information was saved during reconstruction.
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 ()
 Get the parameter for distance based weighting of neighbors.
void reconstruct (PointCloudIn &output)
 Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
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.

Detailed Description

template<typename PointInT, typename NormalOutT>
class pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >

MovingLeastSquaresOMP represent an OpenMP implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation.

Author:
Radu B. Rusu

Definition at line 53 of file mls_omp.h.


Member Typedef Documentation

template<typename PointInT , typename NormalOutT >
typedef pcl::search::Search<PointInT> pcl::MovingLeastSquares< PointInT, NormalOutT >::KdTree [inherited]

Definition at line 71 of file mls.h.

template<typename PointInT , typename NormalOutT >
typedef pcl::search::Search<PointInT>::Ptr pcl::MovingLeastSquares< PointInT, NormalOutT >::KdTreePtr [inherited]

Definition at line 72 of file mls.h.

template<typename PointInT , typename NormalOutT >
typedef NormalCloudOut::ConstPtr pcl::MovingLeastSquares< PointInT, NormalOutT >::NormalCloudOutConstPtr [inherited]

Definition at line 76 of file mls.h.

template<typename PointInT , typename NormalOutT >
typedef NormalCloudOut::Ptr pcl::MovingLeastSquares< PointInT, NormalOutT >::NormalCloudOutPtr [inherited]

Definition at line 75 of file mls.h.

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]

Definition at line 76 of file pcl_base.h.

template<typename PointInT , typename NormalOutT >
typedef PointCloudIn::ConstPtr pcl::MovingLeastSquares< PointInT, NormalOutT >::PointCloudInConstPtr [inherited]

Definition at line 80 of file mls.h.

template<typename PointInT , typename NormalOutT >
typedef PointCloudIn::Ptr pcl::MovingLeastSquares< PointInT, NormalOutT >::PointCloudInPtr [inherited]

Definition at line 79 of file mls.h.

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.

template<typename PointInT , typename NormalOutT >
typedef boost::function<int (int, double, std::vector<int> &, std::vector<float> &)> pcl::MovingLeastSquares< PointInT, NormalOutT >::SearchMethod [inherited]

Definition at line 82 of file mls.h.


Constructor & Destructor Documentation

template<typename PointInT , typename NormalOutT >
pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >::MovingLeastSquaresOMP ( ) [inline]

Empty constructor.

Definition at line 69 of file mls_omp.h.

template<typename PointInT , typename NormalOutT >
pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >::MovingLeastSquaresOMP ( unsigned int  nr_threads) [inline]

Initialize the scheduler and set the number of threads to use.

Parameters:
nr_threadsthe number of hardware threads to use (-1 sets the value back to automatic)

Definition at line 75 of file mls_omp.h.


Member Function Documentation

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.

template<typename PointInT , typename NormalOutT >
NormalCloudOutPtr pcl::MovingLeastSquares< PointInT, NormalOutT >::getOutputNormals ( ) [inline, inherited]

Returns a pointer to the point cloud where normal information was saved during reconstruction.

Definition at line 96 of file mls.h.

template<typename PointInT , typename NormalOutT >
bool pcl::MovingLeastSquares< PointInT, NormalOutT >::getPolynomialFit ( ) [inline, inherited]

Get the polynomial_fit value (true if the surface and normal are approximated using a polynomial).

Definition at line 132 of file mls.h.

template<typename PointInT , typename NormalOutT >
int pcl::MovingLeastSquares< PointInT, NormalOutT >::getPolynomialOrder ( ) [inline, inherited]

Get the order of the polynomial to be fit.

Definition at line 122 of file mls.h.

template<typename PointInT , typename NormalOutT >
KdTreePtr pcl::MovingLeastSquares< PointInT, NormalOutT >::getSearchMethod ( ) [inline, inherited]

Get a pointer to the search method used.

Definition at line 112 of file mls.h.

template<typename PointInT , typename NormalOutT >
double pcl::MovingLeastSquares< PointInT, NormalOutT >::getSearchRadius ( ) [inline, inherited]

Get the sphere radius used for determining the k-nearest neighbors.

Definition at line 143 of file mls.h.

template<typename PointInT , typename NormalOutT >
double pcl::MovingLeastSquares< PointInT, NormalOutT >::getSqrGaussParam ( ) [inline, inherited]

Get the parameter for distance based weighting of neighbors.

Definition at line 154 of file mls.h.

const PointInT & pcl::PCLBase< PointInT >::operator[] ( size_t  pos) [inline, inherited]

Override PointCloud operator[] to shorten code.

Note:
this method can be called instead of (*input_)[(*indices_)[pos]] or input_->points[(*indices_)[pos]]
Parameters:
posposition in indices_ vector

Definition at line 197 of file pcl_base.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::reconstruct ( PointCloudIn output) [inherited]

Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>

Parameters:
[out]outputthe resultant reconstructed surface model

Definition at line 50 of file mls.hpp.

void pcl::PCLBase< PointInT >::setIndices ( const IndicesPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa 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.

Parameters:
indicesa 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.

Parameters:
indicesa 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.

Note:
you shouldn't call this method on unorganized point clouds!
Parameters:
row_startthe offset on rows
col_startthe offset on columns
nb_rowsthe number of rows to be considered row_start included
nb_colsthe 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.

Parameters:
cloudthe const boost shared pointer to a PointCloud message

Definition at line 103 of file pcl_base.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquaresOMP< PointInT, NormalOutT >::setNumberOfThreads ( unsigned int  nr_threads) [inline]

Initialize the scheduler and set the number of threads to use.

Parameters:
nr_threadsthe number of hardware threads to use (-1 sets the value back to automatic)

Definition at line 84 of file mls_omp.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setOutputNormals ( NormalCloudOutPtr  cloud) [inline, inherited]

Provide a pointer to a point cloud where normal information should be saved.

Note:
This is optional, it can be the same as the parameter to the reconstruction method, but no normals are estimated if it is not set.
Parameters:
[in]cloudthe const boost shared pointer to a point cloud with normal

Definition at line 92 of file mls.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setPolynomialFit ( bool  polynomial_fit) [inline, inherited]

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

Parameters:
[in]polynomial_fitset to true for polynomial fit

Definition at line 128 of file mls.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setPolynomialOrder ( int  order) [inline, inherited]

Set the order of the polynomial to be fit.

Parameters:
[in]orderthe order of the polynomial

Definition at line 118 of file mls.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setSearchMethod ( const KdTreePtr tree) [inline, inherited]

Provide a pointer to the search object.

Parameters:
[in]treea pointer to the spatial search object.

Definition at line 102 of file mls.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setSearchRadius ( double  radius) [inline, inherited]

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

Parameters:
[in]radiusthe sphere radius that is to contain all k-nearest neighbors
Note:
Calling this method resets the squared Gaussian parameter to radius * radius !

Definition at line 139 of file mls.h.

template<typename PointInT , typename NormalOutT >
void pcl::MovingLeastSquares< PointInT, NormalOutT >::setSqrGaussParam ( double  sqr_gauss_param) [inline, inherited]

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

Parameters:
[in]sqr_gauss_paramthe squared Gaussian parameter

Definition at line 150 of file mls.h.


The documentation for this class was generated from the following files: