#include <transformation_estimation_svd.h>
Public Types | |
typedef boost::shared_ptr < const TransformationEstimationSVD < PointSource, PointTarget, Scalar > > | ConstPtr |
typedef TransformationEstimation < PointSource, PointTarget, Scalar >::Matrix4 | Matrix4 |
typedef boost::shared_ptr < TransformationEstimationSVD < PointSource, PointTarget, Scalar > > | Ptr |
Public Member Functions | |
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 SVD. | |
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 SVD. | |
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 SVD. | |
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 SVD. | |
TransformationEstimationSVD (bool use_umeyama=true) | |
Constructor. | |
virtual | ~TransformationEstimationSVD () |
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. | |
virtual void | getTransformationFromCorrelation (const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_src_demean, const Eigen::Matrix< Scalar, 4, 1 > ¢roid_src, const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_tgt_demean, const Eigen::Matrix< Scalar, 4, 1 > ¢roid_tgt, Matrix4 &transformation_matrix) const |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src * tgt'. | |
Protected Attributes | |
bool | use_umeyama_ |
TransformationEstimationSVD implements SVD-based estimation of the transformation aligning the given correspondences.
Definition at line 58 of file transformation_estimation_svd.h.
typedef boost::shared_ptr<const TransformationEstimationSVD<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::ConstPtr |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.
Reimplemented in pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >.
Definition at line 62 of file transformation_estimation_svd.h.
typedef TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::Matrix4 |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.
Reimplemented in pcl::recognition::TrimmedICP< PointT, Scalar >, pcl::recognition::TrimmedICP< pcl::PointXYZ, float >, and pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >.
Definition at line 64 of file transformation_estimation_svd.h.
typedef boost::shared_ptr<TransformationEstimationSVD<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::Ptr |
Reimplemented from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.
Reimplemented in pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >.
Definition at line 61 of file transformation_estimation_svd.h.
pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::TransformationEstimationSVD | ( | bool | use_umeyama = true | ) | [inline] |
Constructor.
[in] | use_umeyama | Toggles whether or not to use 3rd party software |
Definition at line 68 of file transformation_estimation_svd.h.
virtual pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::~TransformationEstimationSVD | ( | ) | [inline, virtual] |
Definition at line 72 of file transformation_estimation_svd.h.
void pcl::registration::TransformationEstimationSVD< 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 SVD.
[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 47 of file transformation_estimation_svd.hpp.
void pcl::registration::TransformationEstimationSVD< 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 SVD.
[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 66 of file transformation_estimation_svd.hpp.
void pcl::registration::TransformationEstimationSVD< 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 SVD.
[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 85 of file transformation_estimation_svd.hpp.
void pcl::registration::TransformationEstimationSVD< 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 SVD.
[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 105 of file transformation_estimation_svd.hpp.
void pcl::registration::TransformationEstimationSVD< 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.
[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 118 of file transformation_estimation_svd.hpp.
void pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::getTransformationFromCorrelation | ( | const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > & | cloud_src_demean, |
const Eigen::Matrix< Scalar, 4, 1 > & | centroid_src, | ||
const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > & | cloud_tgt_demean, | ||
const Eigen::Matrix< Scalar, 4, 1 > & | centroid_tgt, | ||
Matrix4 & | transformation_matrix | ||
) | const [protected, virtual] |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src * tgt'.
[in] | cloud_src_demean | the input source cloud, demeaned, in Eigen format |
[in] | centroid_src | the input source centroid, in Eigen format |
[in] | cloud_tgt_demean | the input target cloud, demeaned, in Eigen format |
[in] | centroid_tgt | the input target cloud, in Eigen format |
[out] | transformation_matrix | the resultant 4x4 rigid transformation matrix |
Reimplemented in pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >.
Definition at line 170 of file transformation_estimation_svd.hpp.
bool pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::use_umeyama_ [protected] |
Definition at line 153 of file transformation_estimation_svd.h.