Point Cloud Library (PCL) 1.12.0
Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar > Class Template Reference

TransformationEstimationPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals. More...

#include <pcl/registration/transformation_estimation_point_to_plane_lls.h>

+ Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >:
+ Collaboration diagram for pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >:

Public Types

using Ptr
 
using ConstPtr
 
using Matrix4
 
- Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
using Matrix4 = Eigen::Matrix<Scalar, 4, 4>
 
using Ptr = shared_ptr<TransformationEstimation<PointSource, PointTarget, Scalar>>
 
using ConstPtr
 

Public Member Functions

 TransformationEstimationPointToPlaneLLS ()
 
 ~TransformationEstimationPointToPlaneLLS ()
 
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.
 
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.
 
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.
 
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.
 
- Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
 TransformationEstimation ()
 
virtual ~TransformationEstimation ()
 

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.
 
void constructTransformationMatrix (const double &alpha, const double &beta, const double &gamma, const double &tx, const double &ty, const double &tz, Matrix4 &transformation_matrix) const
 Construct a 4 by 4 transformation matrix from the provided rotation and translation.
 

Detailed Description

template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >

TransformationEstimationPointToPlaneLLS implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals.

For additional details, see "Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration", Kok-Lim Low, 2004

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
Michael Dixon

Definition at line 63 of file transformation_estimation_point_to_plane_lls.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::ConstPtr
Initial value:
shared_ptr<
const TransformationEstimationPointToPlaneLLS<PointSource, PointTarget, Scalar>>

Definition at line 68 of file transformation_estimation_point_to_plane_lls.h.

◆ Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::Matrix4

◆ Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::Ptr
Initial value:
shared_ptr<
TransformationEstimationPointToPlaneLLS<PointSource, PointTarget, Scalar>>

Definition at line 66 of file transformation_estimation_point_to_plane_lls.h.

Constructor & Destructor Documentation

◆ TransformationEstimationPointToPlaneLLS()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::TransformationEstimationPointToPlaneLLS ( )
inline

◆ ~TransformationEstimationPointToPlaneLLS()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlaneLLS ( )
inline

Member Function Documentation

◆ constructTransformationMatrix()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::constructTransformationMatrix ( const double & alpha,
const double & beta,
const double & gamma,
const double & tx,
const double & ty,
const double & tz,
Matrix4 & transformation_matrix ) const
inlineprotected

Construct a 4 by 4 transformation matrix from the provided rotation and translation.

Parameters
[in]alphathe rotation about the x-axis
[in]betathe rotation about the y-axis
[in]gammathe rotation about the z-axis
[in]txthe x translation
[in]tythe y translation
[in]tzthe z translation
[out]transformation_matrixthe resultant transformation matrix

Definition at line 134 of file transformation_estimation_point_to_plane_lls.hpp.

◆ estimateRigidTransformation() [1/5]

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

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[in]indices_tgtthe vector of indices describing the correspondences of the interest points from indices_src
[out]transformation_matrixthe resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 97 of file transformation_estimation_point_to_plane_lls.hpp.

◆ estimateRigidTransformation() [2/5]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::Indices & indices_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix ) const
inlineoverridevirtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 74 of file transformation_estimation_point_to_plane_lls.hpp.

References pcl::PointCloud< PointT >::size().

◆ estimateRigidTransformation() [3/5]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
const pcl::Correspondences & correspondences,
Matrix4 & transformation_matrix ) const
inlineoverridevirtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[in]correspondencesthe vector of correspondences between source and target point cloud
[out]transformation_matrixthe resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 121 of file transformation_estimation_point_to_plane_lls.hpp.

◆ estimateRigidTransformation() [4/5]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix ) const
inlineoverridevirtual

Estimate a rigid rotation transformation between a source and a target point cloud using SVD.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Implements pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >.

Definition at line 52 of file transformation_estimation_point_to_plane_lls.hpp.

References pcl::PointCloud< PointT >::size().

◆ estimateRigidTransformation() [5/5]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLS< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( ConstCloudIterator< PointSource > & source_it,
ConstCloudIterator< PointTarget > & target_it,
Matrix4 & transformation_matrix ) const
inlineprotected

Estimate a rigid rotation transformation between a source and a target.

Parameters
[in]source_itan iterator over the source point cloud dataset
[in]target_itan iterator over the target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix

Definition at line 167 of file transformation_estimation_point_to_plane_lls.hpp.

References pcl::ConstCloudIterator< PointT >::isValid().


The documentation for this class was generated from the following files: