Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar > Class Template Reference

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 <transformation_estimation_point_to_plane_lls_weighted.h>

Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr
< const
TransformationEstimationPointToPlaneLLSWeighted
< PointSource, PointTarget,
Scalar > > 
ConstPtr
typedef
TransformationEstimation
< PointSource, PointTarget,
Scalar >::Matrix4 
Matrix4
typedef boost::shared_ptr
< TransformationEstimationPointToPlaneLLSWeighted
< PointSource, PointTarget,
Scalar > > 
Ptr

Public Member Functions

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 std::vector< int > &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 std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &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.
 TransformationEstimationPointToPlaneLLSWeighted ()
virtual ~TransformationEstimationPointToPlaneLLSWeighted ()

Protected Member Functions

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 tranformation matrix from the provided rotation and translation.
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.

Protected Attributes

std::vector< Scalarweights_

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

template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef boost::shared_ptr<const TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::ConstPtr
template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef TransformationEstimation<PointSource, PointTarget, Scalar>::Matrix4 pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Matrix4
template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef boost::shared_ptr<TransformationEstimationPointToPlaneLLSWeighted<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::Ptr

Constructor & Destructor Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::TransformationEstimationPointToPlaneLLSWeighted ( ) [inline]
template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlaneLLSWeighted ( ) [inline, virtual]

Member Function Documentation

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 tranformation 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]transformationthe resultant transformation matrix

Definition at line 146 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

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, virtual]

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

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const std::vector< int > &  indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
Matrix4 transformation_matrix 
) const [inline, virtual]

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

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const std::vector< int > &  indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
const std::vector< int > &  indices_tgt,
Matrix4 transformation_matrix 
) const [inline, virtual]

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 interst points from indices_src
[out]transformation_matrixthe resultant transformation matrix

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

Definition at line 101 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

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, virtual]

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

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_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 171 of file transformation_estimation_point_to_plane_lls_weighted.hpp.

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]weightsthe weights for each correspondence

Definition at line 131 of file transformation_estimation_point_to_plane_lls_weighted.h.


Member Data Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>
std::vector<Scalar> pcl::registration::TransformationEstimationPointToPlaneLLSWeighted< PointSource, PointTarget, Scalar >::weights_ [protected]

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


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:46:56