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

TransformationEstimationPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals. More...

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

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

## Public Types

using | Ptr = shared_ptr< TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar > >
using | ConstPtr = shared_ptr< const TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar > >
using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, Scalar >::Matrix4
Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
using | Matrix4 = Eigen::Matrix< float, 4, 4 >
using | Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, float > >
using | ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, float > >

## Public Member Functions

| TransformationEstimationPointToPlaneLLS ()
| ~TransformationEstimationPointToPlaneLLS ()
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override
| 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::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override
| 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::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const override
| 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 override
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
| TransformationEstimation ()
virtual | ~TransformationEstimation ()
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0
| Estimate a rigid rotation transformation between a source and a target point cloud. More...
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0
| Estimate a rigid rotation transformation between a source and a target point cloud. More...
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const=0
| Estimate a rigid rotation transformation between a source and a target point cloud. More...
virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const=0
| Estimate a rigid rotation transformation between a source and a target point cloud. More...

## Protected Member Functions

void | estimateRigidTransformation (ConstCloudIterator< PointSource > &source_it, ConstCloudIterator< PointTarget > &target_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 transformation matrix from the provided rotation and translation. More...

## Detailed Description

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

TransformationEstimationPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals.

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
  Michael Dixon

Definition at line 63 of file transformation_estimation_point_to_plane_lls.h.

## Member Typedef Documentation

## ConstPtr

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

using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const TransformationEstimationPointToPlaneLLS<PointSource, PointTarget, Scalar> >

Definition at line 68 of file transformation_estimation_point_to_plane_lls.h.

## Matrix4

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

using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4

Definition at line 71 of file transformation_estimation_point_to_plane_lls.h.

## Ptr

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

using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::Ptr = shared_ptr< TransformationEstimationPointToPlaneLLS<PointSource, PointTarget, Scalar> >

Definition at line 66 of file transformation_estimation_point_to_plane_lls.h.

## Constructor & Destructor Documentation

## TransformationEstimationPointToPlaneLLS()

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

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

inline

Definition at line 74 of file transformation_estimation_point_to_plane_lls.h.

## ~TransformationEstimationPointToPlaneLLS()

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

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

inline

Definition at line 75 of file transformation_estimation_point_to_plane_lls.h.

## Member Function Documentation

## constructTransformationMatrix()

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLS< 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 transformation 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 134 of file transformation_estimation_point_to_plane_lls.hpp.

## estimateRigidTransformation() [1/5]

template<typename PointSource , typename PointTarget , typename Scalar >

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

inline override

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 interest points from indices_src
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 97 of file transformation_estimation_point_to_plane_lls.hpp.

## estimateRigidTransformation() [2/5]

template<typename PointSource , typename PointTarget , typename Scalar >

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

inline override

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

Definition at line 74 of file transformation_estimation_point_to_plane_lls.hpp.

References pcl::PointCloud< PointT >::size().

## estimateRigidTransformation() [3/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLS< 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 override

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

Definition at line 121 of file transformation_estimation_point_to_plane_lls.hpp.

## estimateRigidTransformation() [4/5]

template<typename PointSource , typename PointTarget , typename Scalar >

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

inline override

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

Definition at line 52 of file transformation_estimation_point_to_plane_lls.hpp.

References pcl::PointCloud< PointT >::size().

## estimateRigidTransformation() [5/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | ConstCloudIterator< PointSource > & | source_it,
|  | ConstCloudIterator< PointTarget > & | target_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
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 167 of file transformation_estimation_point_to_plane_lls.hpp.

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

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

- pcl/registration/transformation_estimation_point_to_plane_lls.h
- pcl/registration/impl/transformation_estimation_point_to_plane_lls.hpp