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 |
Public Types inherited from pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, float > | |
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 |
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 |
|
TransformationEstimationSVDScale () | |
Inherits from TransformationEstimationSVD, but forces it to not use the Umeyama method. More... |
|
Public Member Functions inherited from pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, float > | |
TransformationEstimationSVD (bool use_umeyama=true) | |
Constructor. More... |
|
~TransformationEstimationSVD () | |
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... |
|
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float > | |
TransformationEstimation () | |
virtual | ~TransformationEstimation () |
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... |
|
Protected Member Functions inherited from pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, float > | |
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< float, Eigen::Dynamic, Eigen::Dynamic > &cloud_src_demean, const Eigen::Matrix< float, 4, 1 > ¢roid_src, const Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic > &cloud_tgt_demean, const Eigen::Matrix< float, 4, 1 > ¢roid_tgt, Matrix4 &transformation_matrix) const |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src. More... |
|
Additional Inherited Members |
|
Protected Attributes inherited from pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, float > | |
bool | use_umeyama_ |
Detailed Description
template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >
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.
- 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.
Definition at line 58 of file transformation_estimation_svd_scale.h.
Member Typedef Documentation
ConstPtr
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const TransformationEstimationSVDScale<PointSource, PointTarget, Scalar> > |
Definition at line 64 of file transformation_estimation_svd_scale.h.
Matrix4
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationEstimationSVD<PointSource, PointTarget, Scalar>::Matrix4 |
Definition at line 67 of file transformation_estimation_svd_scale.h.
Ptr
using pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationEstimationSVDScale<PointSource, PointTarget, Scalar> > |
Definition at line 62 of file transformation_estimation_svd_scale.h.
Constructor & Destructor Documentation
TransformationEstimationSVDScale()
|
inline |
Inherits from TransformationEstimationSVD, but forces it to not use the Umeyama method.
Definition at line 71 of file transformation_estimation_svd_scale.h.
Member Function Documentation
getTransformationFromCorrelation()
|
protected |
Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src.
- tgt'
- Parameters
-
[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
Definition at line 50 of file transformation_estimation_svd_scale.hpp.
The documentation for this class was generated from the following files:
- pcl/registration/transformation_estimation_svd_scale.h
- pcl/registration/impl/transformation_estimation_svd_scale.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_transformation_estimation_s_v_d_scale.html