pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > Class Template Reference
Module registration

TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences. More...

`#include <pcl/registration/transformation_estimation_point_to_plane_lls_weighted.h>`

Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >:

## Public Types

typedef boost::shared_ptr< TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > | Ptr
typedef boost::shared_ptr< const TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > > | ConstPtr
typedef TransformationEstimation< PointSource, PointTarget, Scalar >::Matrix4 | Matrix4
Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
typedef Eigen::Matrix< Scalar, 4, 4 > | Matrix4
typedef boost::shared_ptr< TransformationEstimation< PointSource, PointTarget, Scalar > > | Ptr
typedef boost::shared_ptr< const TransformationEstimation< PointSource, PointTarget, Scalar > > | ConstPtr

## Public Member Functions

| TransformationEstimationPointToPlaneLLSWeighted ()
virtual | ~TransformationEstimationPointToPlaneLLSWeighted ()
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &indices_tgt, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
void | setCorrespondenceWeights (const std::vector< Scalar > &weights)
| Set the weights for the correspondences. More...
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
| TransformationEstimation ()
virtual | ~TransformationEstimation ()

## Protected Member Functions

void | estimateRigidTransformation (ConstCloudIterator< PointSource > &source_it, ConstCloudIterator< PointTarget > &target_it, typename std::vector< Scalar >::const_iterator &weights_it, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target. More...
void | constructTransformationMatrix (const double &alpha, const double &beta, const double &gamma, const double &tx, const double &ty, const double &tz, Matrix4 &transformation_matrix) const
| Construct a 4 by 4 tranformation matrix from the provided rotation and translation. More...

## Protected Attributes

std::vector< Scalar > | weights_

## Detailed Description

### template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >

TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences.

For additional details, see "Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration", Kok-Lim Low, 2004

Note
  The class is templated on the source and target point types as well as on the output scalar of the transformation matrix (i.e., float or double). Default: float.

Author
  Alex Ichim

Definition at line 63 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Member Typedef Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>

typedef boost::shared_ptr<const TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::ConstPtr

Definition at line 67 of file transformation_estimation_point_to_plane_lls_weighted.h.

template<typename PointSource , typename PointTarget , typename Scalar = float>

typedef TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Matrix4

Definition at line 69 of file transformation_estimation_point_to_plane_lls_weighted.h.

template<typename PointSource , typename PointTarget , typename Scalar = float>

typedef boost::shared_ptr<TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Ptr

Definition at line 66 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Constructor & Destructor Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>

pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::TransformationEstimationPointToPlaneLLSWeighted | ( |  | ) |

inline

Definition at line 71 of file transformation_estimation_point_to_plane_lls_weighted.h.

template<typename PointSource , typename PointTarget , typename Scalar = float>

virtual pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlaneLLSWeighted | ( |  | ) |

inline virtual

Definition at line 72 of file transformation_estimation_point_to_plane_lls_weighted.h.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation().

## Member Function Documentation

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::constructTransformationMatrix | ( | const double & | alpha,
|  | const double & | beta,
|  | const double & | gamma,
|  | const double & | tx,
|  | const double & | ty,
|  | const double & | tz,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline protected

Construct a 4 by 4 tranformation matrix from the provided rotation and translation.

Parameters

  [in] | alpha | the rotation about the x-axis
  [in] | beta | the rotation about the y-axis
  [in] | gamma | the rotation about the z-axis
  [in] | tx | the x translation
  [in] | ty | the y translation
  [in] | tz | the z translation
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 146 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation().

Referenced by pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), and pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::setCorrespondenceWeights().

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline virtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters

  [in] | cloud_src | the source point cloud dataset
  [in] | cloud_tgt | the target point cloud dataset
  [out] | transformation_matrix | the resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 46 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::PointCloud< PointT >::points.

Referenced by pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::constructTransformationMatrix(), pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::setCorrespondenceWeights(), and pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlaneLLSWeighted().

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const std::vector< int > & | indices_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline virtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters

  [in] | cloud_src | the source point cloud dataset
  [in] | indices_src | the vector of indices describing the points of interest in cloud_src
  [in] | cloud_tgt | the target point cloud dataset
  [out] | transformation_matrix | the resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 72 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), and pcl::PointCloud< PointT >::points.

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const std::vector< int > & | indices_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | const std::vector< int > & | indices_tgt,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline virtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters

  [in] | cloud_src | the source point cloud dataset
  [in] | indices_src | the vector of indices describing the points of interest in cloud_src
  [in] | cloud_tgt | the target point cloud dataset
  [in] | indices_tgt | the vector of indices describing the correspondences of the interst points from indices_src
  [out] | transformation_matrix | the resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 101 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation().

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | const pcl::Correspondences & | correspondences,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline virtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters

  [in] | cloud_src | the source point cloud dataset
  [in] | cloud_tgt | the target point cloud dataset
  [in] | correspondences | the vector of correspondences between source and target point cloud
  [out] | transformation_matrix | the resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 129 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::constructTransformationMatrix().

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | ConstCloudIterator< PointSource > & | source_it,
|  | ConstCloudIterator< PointTarget > & | target_it,
|  | typename std::vector< Scalar >::const_iterator & | weights_it,
|  | Matrix4 & | transformation_matrix
| ) |  | const

inline protected

Estimate a rigid rotation transformation between a source and a target.

Parameters

  [in] | source_it | an iterator over the source point cloud dataset
  [in] | target_it | an iterator over the target point cloud dataset
  | weights_it |
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 171 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References pcl::ConstCloudIterator< PointT >::isValid().

template<typename PointSource , typename PointTarget , typename Scalar = float>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::setCorrespondenceWeights | ( | const std::vector< Scalar > & | weights | ) |

inline

Set the weights for the correspondences.

Parameters

  [in] | weights | the weights for each correspondence

Definition at line 131 of file transformation_estimation_point_to_plane_lls_weighted.h.

References pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::constructTransformationMatrix(), pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), and pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::weights_.

## Member Data Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>

std::vector<Scalar> pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::weights_

protected

Definition at line 162 of file transformation_estimation_point_to_plane_lls_weighted.h.

Referenced by pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::setCorrespondenceWeights().

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

- /build/pcl-0nnAvv/pcl-1.7.2/registration/include/pcl/registration/transformation_estimation_point_to_plane_lls_weighted.h
- /build/pcl-0nnAvv/pcl-1.7.2/registration/include/pcl/registration/impl/transformation_estimation_point_to_plane_lls_weighted.hpp