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

TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences. More...

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

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

## Public Types

typedef boost::shared_ptr< TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > > | Ptr
typedef boost::shared_ptr< const TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > > | ConstPtr
typedef pcl::PointCloud< PointSource > | PointCloudSource
typedef PointCloudSource::Ptr | PointCloudSourcePtr
typedef PointCloudSource::ConstPtr | PointCloudSourceConstPtr
typedef pcl::PointCloud< PointTarget > | PointCloudTarget
typedef PointIndices::Ptr | PointIndicesPtr
typedef PointIndices::ConstPtr | PointIndicesConstPtr
typedef Eigen::Matrix< Scalar, 4, 1 > | Vector4
Public Types inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
typedef boost::shared_ptr< TransformationEstimationLM< PointSource, PointTarget, Scalar > > | Ptr
typedef boost::shared_ptr< const TransformationEstimationLM< PointSource, PointTarget, Scalar > > | ConstPtr
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | VectorX
typedef Eigen::Matrix< Scalar, 4, 1 > | Vector4
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

| TransformationEstimationPointToPlane ()
virtual | ~TransformationEstimationPointToPlane ()
Public Member Functions inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
| TransformationEstimationLM ()
| Constructor. More...
| TransformationEstimationLM (const TransformationEstimationLM &src)
| Copy constructor. More...
TransformationEstimationLM & | operator= (const TransformationEstimationLM &src)
| Copy operator. More...
virtual | ~TransformationEstimationLM ()
| Destructor. More...
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 LM. 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 LM. 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 LM. 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 LM. More...
void | setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, Scalar > > &warp_fcn)
| Set the function we use to warp points. More...
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
| TransformationEstimation ()
virtual | ~TransformationEstimation ()

## Protected Member Functions

virtual Scalar | computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const
| Compute the distance between a source point and its corresponding target point. More...
virtual Scalar | computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const
| Compute the distance between a source point and its corresponding target point. More...

## Additional Inherited Members

Protected Attributes inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
const PointCloudSource * | tmp_src_
| Temporary pointer to the source dataset. More...
const PointCloudTarget * | tmp_tgt_
| Temporary pointer to the target dataset. More...
const std::vector< int > * | tmp_idx_src_
| Temporary pointer to the source dataset indices. More...
const std::vector< int > * | tmp_idx_tgt_
| Temporary pointer to the target dataset indices. More...
boost::shared_ptr< pcl::registration::WarpPointRigid< PointSource, PointTarget, Scalar > > | warp_point_
| The parameterized function used to warp the source to the target. More...

## Detailed Description

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

TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences.

Author
  Michael Dixon

Definition at line 58 of file transformation_estimation_point_to_plane.h.

## Member Typedef Documentation

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

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

Definition at line 62 of file transformation_estimation_point_to_plane.h.

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

typedef pcl::PointCloud<PointSource> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSource

Definition at line 64 of file transformation_estimation_point_to_plane.h.

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

typedef PointCloudSource::ConstPtr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr

Definition at line 66 of file transformation_estimation_point_to_plane.h.

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

typedef PointCloudSource::Ptr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSourcePtr

Definition at line 65 of file transformation_estimation_point_to_plane.h.

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

typedef pcl::PointCloud<PointTarget> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudTarget

Definition at line 67 of file transformation_estimation_point_to_plane.h.

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

typedef PointIndices::ConstPtr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointIndicesConstPtr

Definition at line 69 of file transformation_estimation_point_to_plane.h.

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

typedef PointIndices::Ptr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointIndicesPtr

Definition at line 68 of file transformation_estimation_point_to_plane.h.

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

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

Definition at line 61 of file transformation_estimation_point_to_plane.h.

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

typedef Eigen::Matrix<Scalar, 4, 1> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::Vector4

Definition at line 71 of file transformation_estimation_point_to_plane.h.

## Constructor & Destructor Documentation

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

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

inline

Definition at line 73 of file transformation_estimation_point_to_plane.h.

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

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

inline virtual

Definition at line 74 of file transformation_estimation_point_to_plane.h.

## Member Function Documentation

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

virtual Scalar pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::computeDistance | ( | const PointSource & | p_src,
|  | const PointTarget & | p_tgt
| ) |  | const

inline protected virtual

Compute the distance between a source point and its corresponding target point.

Parameters

  [in] | p_src | The source point
  [in] | p_tgt | The target point

Returns
  The distance between p_src and p_tgt

Note
  Older versions of PCL used this method internally for calculating the optimization gradient. Since PCL 1.7, a switch has been made to the computeDistance method using Vector4 types instead. This method is only kept for API compatibility reasons.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >.

Definition at line 78 of file transformation_estimation_point_to_plane.h.

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

virtual Scalar pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::computeDistance | ( | const Vector4 & | p_src,
|  | const PointTarget & | p_tgt
| ) |  | const

inline protected virtual

Compute the distance between a source point and its corresponding target point.

Parameters

  [in] | p_src | The source point
  [in] | p_tgt | The target point

Returns
  The distance between p_src and p_tgt

Note
  A different distance function can be defined by creating a subclass of TransformationEstimationLM and overriding this method. (See TransformationEstimationPointToPlane)

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >.

Definition at line 88 of file transformation_estimation_point_to_plane.h.

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

- /build/pcl-0nnAvv/pcl-1.7.2/registration/include/pcl/registration/transformation_estimation_point_to_plane.h