Loading...
Searching...
No Matches
pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > Class Template Reference
Module registration

TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences. More...

`#include <pcl/registration/transformation_estimation_point_to_plane_lls_weighted.h>`

Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >:

## Public Types

using | Ptr
using | ConstPtr
using | Matrix4
Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
using | Matrix4
using | Ptr
using | ConstPtr

## Public Member Functions

| TransformationEstimationPointToPlaneLLSWeighted ()=default
virtual | ~TransformationEstimationPointToPlaneLLSWeighted ()=default
void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
| 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
| 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
| 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
| Estimate a rigid rotation transformation between a source and a target point cloud using SVD.
void | setCorrespondenceWeights (const std::vector< Scalar > &weights)
| Set the weights for the correspondences.
Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
| 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.

## Protected Member Functions

void | estimateRigidTransformation (ConstCloudIterator< PointSource > &source_it, ConstCloudIterator< PointTarget > &target_it, typename std::vector< Scalar >::const_iterator &weights_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.

## Protected Attributes

std::vector< Scalar > | weights_

## Detailed Description

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

TransformationEstimationPointToPlaneLLSWeighted implements a Linear Least Squares (LLS) approximation for minimizing the point-to-plane distance between two clouds of corresponding points with normals, with the possibility of assigning weights to the correspondences.

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
  Alex Ichim

Definition at line 63 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointSource, typename PointTarget, typename Scalar = float>

using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::ConstPtr

Initial value:
shared_ptr<const TransformationEstimationPointToPlaneLLSWeighted<PointSource,
PointTarget,
Scalar>>
pcl::registration::TransformationEstimationPointToPlaneLLSWeighted::TransformationEstimationPointToPlaneLLSWeighted
TransformationEstimationPointToPlaneLLSWeighted()=default

Definition at line 69 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Matrix4

template<typename PointSource, typename PointTarget, typename Scalar = float>

using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Matrix4

Initial value:
typename TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4
pcl::registration::TransformationEstimation::Matrix4
Eigen::Matrix< Scalar, 4, 4 > Matrix4
Definition transformation_estimation.h:64

Definition at line 74 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Ptr

template<typename PointSource, typename PointTarget, typename Scalar = float>

using pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Ptr

Initial value:
shared_ptr<TransformationEstimationPointToPlaneLLSWeighted<PointSource,
PointTarget,
Scalar>>

Definition at line 66 of file transformation_estimation_point_to_plane_lls_weighted.h.

## Constructor & Destructor Documentation

## TransformationEstimationPointToPlaneLLSWeighted()

template<typename PointSource, typename PointTarget, typename Scalar = float>

pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::TransformationEstimationPointToPlaneLLSWeighted | ( |  | ) |

default

## ~TransformationEstimationPointToPlaneLLSWeighted()

template<typename PointSource, typename PointTarget, typename Scalar = float>

virtual pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlaneLLSWeighted | ( |  | ) |

virtual default

## Member Function Documentation

## constructTransformationMatrix()

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< 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

inline protected

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

Parameters

  [in] | alpha | the rotation about the x-axis
  [in] | beta | the rotation about the y-axis
  [in] | gamma | the rotation about the z-axis
  [in] | tx | the x translation
  [in] | ty | the y translation
  [in] | tz | the z translation
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 161 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

Referenced by estimateRigidTransformation().

## estimateRigidTransformation() [1/5]

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< 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

inline

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

Parameters

  [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 112 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References estimateRigidTransformation(), and weights_.

## estimateRigidTransformation() [2/5]

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< 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

inline

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

Parameters

  [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 81 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References estimateRigidTransformation(), pcl::PointCloud< PointT >::size(), and weights_.

## estimateRigidTransformation() [3/5]

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | const pcl::Correspondences & | correspondences,
|  | Matrix4 & | transformation_matrix ) const

inline

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

Parameters

  [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 144 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References estimateRigidTransformation().

## estimateRigidTransformation() [4/5]

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | const pcl::PointCloud< PointSource > & | cloud_src,
|  | const pcl::PointCloud< PointTarget > & | cloud_tgt,
|  | Matrix4 & | transformation_matrix ) const

inline

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

Parameters

  [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 51 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References estimateRigidTransformation(), pcl::PointCloud< PointT >::size(), and weights_.

Referenced by estimateRigidTransformation(), estimateRigidTransformation(), estimateRigidTransformation(), and estimateRigidTransformation().

## estimateRigidTransformation() [5/5]

template<typename PointSource, typename PointTarget, typename Scalar>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation | ( | ConstCloudIterator< PointSource > & | source_it,
|  | ConstCloudIterator< PointTarget > & | target_it,
|  | typename std::vector< Scalar >::const_iterator & | weights_it,
|  | Matrix4 & | transformation_matrix ) const

inline protected

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

Parameters

  [in] | source_it | an iterator over the source point cloud dataset
  [in] | target_it | an iterator over the target point cloud dataset
  | weights_it |
  [out] | transformation_matrix | the resultant transformation matrix

Definition at line 194 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

References constructTransformationMatrix(), and pcl::ConstCloudIterator< PointT >::isValid().

## setCorrespondenceWeights()

template<typename PointSource, typename PointTarget, typename Scalar = float>

void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::setCorrespondenceWeights | ( | const std::vector< Scalar > & | weights | ) |

inline

Set the weights for the correspondences.

Parameters

  [in] | weights | the weights for each correspondence

Definition at line 135 of file transformation_estimation_point_to_plane_lls_weighted.h.

References weights_.

## Member Data Documentation

## weights_

template<typename PointSource, typename PointTarget, typename Scalar = float>

std::vector<Scalar> pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::weights_

protected

Definition at line 168 of file transformation_estimation_point_to_plane_lls_weighted.h.

Referenced by estimateRigidTransformation(), estimateRigidTransformation(), estimateRigidTransformation(), and setCorrespondenceWeights().

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

- pcl/registration/transformation_estimation_point_to_plane_lls_weighted.h
- pcl/registration/impl/transformation_estimation_point_to_plane_lls_weighted.hpp