point_cloud_library / 1.12.1 / classpcl_1_1registration_1_1_transformation_estimation_s_v_d_scale.html /

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 > &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
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 > &centroid_src, const Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic > &cloud_tgt_demean, const Eigen::Matrix< float, 4, 1 > &centroid_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.
Author
Suat Gedikli

Definition at line 58 of file transformation_estimation_svd_scale.h.

Member Typedef Documentation

ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
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

template<typename PointSource , typename PointTarget , typename Scalar = float>
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

template<typename PointSource , typename PointTarget , typename Scalar = float>
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()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationEstimationSVDScale< PointSource, PointTarget, Scalar >::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()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationSVDScale< 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

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:

© 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