Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar > Class Template Reference

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 >:
+ Collaboration diagram for pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >:

Public Types

using Ptr = shared_ptr< TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar > >
 
using ConstPtr = shared_ptr< const TransformationEstimationDualQuaternion< 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

 TransformationEstimationDualQuaternion ()=default
 
 ~TransformationEstimationDualQuaternion () override=default
 
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 dual quaternion optimization. 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 dual quaternion optimization. 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 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 override
 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, float >
 TransformationEstimation ()=default
 
virtual ~TransformationEstimation ()=default
 
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...
 

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 56 of file transformation_estimation_dual_quaternion.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const TransformationEstimationDualQuaternion<PointSource, PointTarget, Scalar> >

Definition at line 61 of file transformation_estimation_dual_quaternion.h.

◆ Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4

Definition at line 64 of file transformation_estimation_dual_quaternion.h.

◆ Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::Ptr = shared_ptr< TransformationEstimationDualQuaternion<PointSource, PointTarget, Scalar> >

Definition at line 59 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 ( )
default

◆ ~TransformationEstimationDualQuaternion()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationEstimationDualQuaternion< PointSource, PointTarget, Scalar >::~TransformationEstimationDualQuaternion ( )
overridedefault

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::Indices indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
const pcl::Indices indices_tgt,
Matrix4 transformation_matrix 
) const
inlineoverride

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

Parameters
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[in]indices_tgtthe vector of indices describing the correspondences of the interest points from indices_src
[out]transformation_matrixthe resultant transformation matrix

Definition at line 96 of file transformation_estimation_dual_quaternion.hpp.

◆ 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 pcl::Indices indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
Matrix4 transformation_matrix 
) const
inlineoverride

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

Parameters
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Definition at line 75 of file transformation_estimation_dual_quaternion.hpp.

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

◆ 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 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 dual quaternion optimization.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[in]correspondencesthe vector of correspondences between source and target point cloud
[out]transformation_matrixthe resultant transformation matrix

Definition at line 119 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,
Matrix4 transformation_matrix 
) const
inlineoverride

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

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Definition at line 53 of file transformation_estimation_dual_quaternion.hpp.

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

◆ 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
inlineprotected

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

Parameters
[in]source_itan iterator over the source point cloud dataset
[in]target_itan iterator over the target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Definition at line 132 of file transformation_estimation_dual_quaternion.hpp.

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


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