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 >:
Inheritance graph
[legend]
Collaboration diagram for pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >:
Collaboration graph
[legend]

List of all members.

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

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.

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

template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef boost::shared_ptr<const TransformationEstimationDualQuaternion<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::ConstPtr
template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::Matrix4
template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef boost::shared_ptr<TransformationEstimationDualQuaternion<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::Ptr

Constructor & Destructor Documentation

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.

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.


Member Function Documentation

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().

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 [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
[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.

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

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.

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

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::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), and pcl::PointCloud< PointT >::points.

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 >::estimateRigidTransformation().


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends