Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Types | Public Member Functions
pcl::registration::TransformationEstimationLM< PointSource, PointTarget > Class Template Reference

TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation aligning the given correspondences. More...

#include <pcl/registration/transformation_estimation_lm.h>

Inheritance diagram for pcl::registration::TransformationEstimationLM< PointSource, PointTarget >:
Inheritance graph
[legend]
Collaboration diagram for pcl::registration::TransformationEstimationLM< PointSource, PointTarget >:
Collaboration graph
[legend]

List of all members.

Classes

struct  Functor
 Base functor all the models that need non linear optimization must define their own one and implement operator() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) or operator() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec) dependening on the choosen _Scalar.
struct  OptimizationFunctor
struct  OptimizationFunctorWithIndices

Public Types

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

Public Member Functions

 TransformationEstimationLM ()
 Constructor.
 TransformationEstimationLM (const TransformationEstimationLM &src)
 Copy constructor.
TransformationEstimationLMoperator= (const TransformationEstimationLM &src)
 Copy operator.
virtual ~TransformationEstimationLM ()
 Destructor.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Eigen::Matrix4f &transformation_matrix)
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Eigen::Matrix4f &transformation_matrix)
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
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, Eigen::Matrix4f &transformation_matrix)
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Eigen::Matrix4f &transformation_matrix)
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget > > &warp_fcn)
 Set the function we use to warp points.

Detailed Description

template<typename PointSource, typename PointTarget>
class pcl::registration::TransformationEstimationLM< PointSource, PointTarget >

TransformationEstimationLM implements Levenberg Marquardt-based estimation of the transformation aligning the given correspondences.

Author:
Radu B. Rusu

Definition at line 57 of file transformation_estimation_lm.h.


Member Typedef Documentation

template<typename PointSource , typename PointTarget >
typedef boost::shared_ptr<const TransformationEstimation<PointSource, PointTarget> > pcl::registration::TransformationEstimation< PointSource, PointTarget >::ConstPtr [inherited]

Definition at line 121 of file transformation_estimation.h.

template<typename PointSource , typename PointTarget >
typedef boost::shared_ptr<TransformationEstimation<PointSource, PointTarget> > pcl::registration::TransformationEstimation< PointSource, PointTarget >::Ptr [inherited]

Constructor & Destructor Documentation

template<typename PointSource , typename PointTarget >
pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::TransformationEstimationLM ( ) [inline]

Constructor.

Definition at line 70 of file transformation_estimation_lm.h.

template<typename PointSource , typename PointTarget >
pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::TransformationEstimationLM ( const TransformationEstimationLM< PointSource, PointTarget > &  src) [inline]

Copy constructor.

Parameters:
[in]srcthe TransformationEstimationLM object to copy into this

Definition at line 77 of file transformation_estimation_lm.h.

template<typename PointSource , typename PointTarget >
virtual pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::~TransformationEstimationLM ( ) [inline, virtual]

Destructor.

Definition at line 101 of file transformation_estimation_lm.h.


Member Function Documentation

template<typename PointSource , typename PointTarget >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
Eigen::Matrix4f &  transformation_matrix 
) [inline, virtual]

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

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

Definition at line 48 of file transformation_estimation_lm.hpp.

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

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

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

Definition at line 106 of file transformation_estimation_lm.hpp.

template<typename PointSource , typename PointTarget >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::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,
Eigen::Matrix4f &  transformation_matrix 
) [inline, virtual]

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

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

Definition at line 132 of file transformation_estimation_lm.hpp.

template<typename PointSource , typename PointTarget >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
const pcl::Correspondences correspondences,
Eigen::Matrix4f &  transformation_matrix 
) [inline, virtual]

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

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

Definition at line 192 of file transformation_estimation_lm.hpp.

template<typename PointSource , typename PointTarget >
TransformationEstimationLM& pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::operator= ( const TransformationEstimationLM< PointSource, PointTarget > &  src) [inline]

Copy operator.

Parameters:
[in]srcthe TransformationEstimationLM object to copy into this

Definition at line 90 of file transformation_estimation_lm.h.

template<typename PointSource , typename PointTarget >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget >::setWarpFunction ( const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget > > &  warp_fcn) [inline]

Set the function we use to warp points.

Defaults to rigid 6D warp.

Parameters:
[in]warp_fcna shared pointer to an object that warps points

Definition at line 160 of file transformation_estimation_lm.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines