Point Cloud Library (PCL)
1.14.1-dev
|
TransformationEstimationSVD implements SVD-based estimation of the transformation aligning the given correspondences. More...
#include <pcl/registration/transformation_estimation_svd_scale.h>
Public Types | |
using | Ptr = shared_ptr< TransformationEstimationSVDScale< PointSource, PointTarget, Scalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimationSVDScale< PointSource, PointTarget, Scalar > > |
using | Matrix4 = typename TransformationEstimationSVD< PointSource, PointTarget, Scalar >::Matrix4 |
![]() | |
using | Ptr = shared_ptr< TransformationEstimationSVD< PointSource, PointTarget, float > > |
using | ConstPtr = shared_ptr< const TransformationEstimationSVD< PointSource, PointTarget, float > > |
using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, float >::Matrix4 |
![]() | |
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 | |
TransformationEstimationSVDScale () | |
Inherits from TransformationEstimationSVD, but forces it to not use the Umeyama method. More... | |
![]() | |
TransformationEstimationSVD (bool use_umeyama=true) | |
Constructor. More... | |
~TransformationEstimationSVD () 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 SVD. 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 SVD. 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 SVD. 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 SVD. More... | |
![]() | |
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 | 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. More... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
bool | use_umeyama_ |
TransformationEstimationSVD implements SVD-based estimation of the transformation aligning the given correspondences.
Optionally the scale is estimated. Note that the similarity transform might not be optimal for the underlying Frobenius Norm.
Definition at line 58 of file transformation_estimation_svd_scale.h.
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const TransformationEstimationSVDScale<PointSource, PointTarget, Scalar> > |
Definition at line 63 of file transformation_estimation_svd_scale.h.
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimationSVD<PointSource, PointTarget, Scalar>::Matrix4 |
Definition at line 66 of file transformation_estimation_svd_scale.h.
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationEstimationSVDScale<PointSource, PointTarget, Scalar> > |
Definition at line 61 of file transformation_estimation_svd_scale.h.
|
inline |
Inherits from TransformationEstimationSVD, but forces it to not use the Umeyama method.
Definition at line 71 of file transformation_estimation_svd_scale.h.
|
protectedvirtual |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src.
[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 from pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, float >.
Definition at line 49 of file transformation_estimation_svd_scale.hpp.