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

TransformationEstimationDualQuaternion implements dual quaternion based estimation of the transformation aligning the given correspondences. More...

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

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

## Public Types

typedef boost::shared_ptr< TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar > > | Ptr
typedef boost::shared_ptr< const TransformationEstimationDualQuaternion< 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

| TransformationEstimationDualQuaternion ()
virtual | ~TransformationEstimationDualQuaternion ()
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 dual quaternion optimization. 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 dual quaternion optimization. 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 dual quaternion optimization. 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 dual quaternion optimization. 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, Matrix4 &transformation_matrix) const
| Estimate a rigid rotation transformation between a source and a target. More...

## Detailed Description

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

TransformationEstimationDualQuaternion implements dual quaternion based estimation of the transformation aligning the given correspondences.

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
  Sergey Zagoruyko

Definition at line 57 of file transformation_estimation_dual_quaternion.h.

## Member Typedef Documentation

## ConstPtr

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

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

Definition at line 61 of file transformation_estimation_dual_quaternion.h.

## Matrix4

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

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

Definition at line 63 of file transformation_estimation_dual_quaternion.h.

## Ptr

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

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

Definition at line 60 of file transformation_estimation_dual_quaternion.h.

## Constructor & Destructor Documentation

## TransformationEstimationDualQuaternion()

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

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

inline

Definition at line 65 of file transformation_estimation_dual_quaternion.h.

## ~TransformationEstimationDualQuaternion()

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

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

inline virtual

Definition at line 66 of file transformation_estimation_dual_quaternion.h.

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

## Member Function Documentation

## estimateRigidTransformation() [1/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationDualQuaternion< 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 dual quaternion optimization.

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_dual_quaternion.hpp.

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

Referenced by pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::~TransformationEstimationDualQuaternion().

## estimateRigidTransformation() [2/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationDualQuaternion< 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 dual quaternion optimization.

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 65 of file transformation_estimation_dual_quaternion.hpp.

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

## estimateRigidTransformation() [3/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationDualQuaternion< 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 dual quaternion optimization.

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 84 of file transformation_estimation_dual_quaternion.hpp.

## estimateRigidTransformation() [4/5]

template<typename PointSource , typename PointTarget , typename Scalar >

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

virtual

Estimate a rigid rotation transformation between a source and a target point cloud using dual quaternion optimization.

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 104 of file transformation_estimation_dual_quaternion.hpp.

## estimateRigidTransformation() [5/5]

template<typename PointSource , typename PointTarget , typename Scalar >

void pcl::registration::TransformationEstimationDualQuaternion< 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 117 of file transformation_estimation_dual_quaternion.hpp.

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

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/registration/include/pcl/registration/transformation_estimation_dual_quaternion.h
- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/registration/include/pcl/registration/impl/transformation_estimation_dual_quaternion.hpp