Point Cloud Library (PCL)
1.15.0-dev
|
TransformationEstimationSVD implements SVD-based estimation of the transformation aligning the given correspondences. More...
#include <pcl/registration/transformation_estimation_svd.h>
Public Types | |
using | Ptr = shared_ptr< TransformationEstimationSVD< PointSource, PointTarget, Scalar > > |
using | ConstPtr = shared_ptr< const TransformationEstimationSVD< PointSource, PointTarget, Scalar > > |
using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, Scalar >::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 | |
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 | 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... | |
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. More... | |
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.
using pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationEstimationSVD<PointSource, PointTarget, Scalar> > |
Definition at line 62 of file transformation_estimation_svd.h.
using pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 |
Definition at line 65 of file transformation_estimation_svd.h.
using pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationEstimationSVD<PointSource, PointTarget, Scalar> > |
Definition at line 61 of file transformation_estimation_svd.h.
|
inline |
Constructor.
[in] | use_umeyama | Toggles whether or not to use 3rd party software |
Definition at line 70 of file transformation_estimation_svd.h.
|
overridedefault |
|
inlineoverride |
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 interest points from indices_src |
[out] | transformation_matrix | the resultant transformation matrix |
Definition at line 94 of file transformation_estimation_svd.hpp.
|
inlineoverride |
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 |
Definition at line 73 of file transformation_estimation_svd.hpp.
References pcl::PointCloud< PointT >::size().
|
override |
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 |
Definition at line 116 of file transformation_estimation_svd.hpp.
|
inlineoverride |
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 |
Definition at line 52 of file transformation_estimation_svd.hpp.
References pcl::PointCloud< PointT >::size().
|
inlineprotected |
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 129 of file transformation_estimation_svd.hpp.
|
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 in pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >.
Definition at line 185 of file transformation_estimation_svd.hpp.
References pcl::console::isVerbosityLevelEnabled(), and pcl::console::L_DEBUG.
|
protected |
Definition at line 151 of file transformation_estimation_svd.h.