Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar > Class Template Reference

TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences. More...

#include <pcl/registration/transformation_estimation_point_to_plane.h>

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

Public Types

typedef boost::shared_ptr
< TransformationEstimationPointToPlane
< PointSource, PointTarget,
Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
TransformationEstimationPointToPlane
< PointSource, PointTarget,
Scalar > > 
ConstPtr
 
typedef pcl::PointCloud
< PointSource > 
PointCloudSource
 
typedef PointCloudSource::Ptr PointCloudSourcePtr
 
typedef PointCloudSource::ConstPtr PointCloudSourceConstPtr
 
typedef pcl::PointCloud
< PointTarget > 
PointCloudTarget
 
typedef PointIndices::Ptr PointIndicesPtr
 
typedef PointIndices::ConstPtr PointIndicesConstPtr
 
typedef Eigen::Matrix< Scalar, 4, 1 > Vector4
 
- Public Types inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
typedef boost::shared_ptr
< TransformationEstimationLM
< PointSource, PointTarget,
Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
TransformationEstimationLM
< PointSource, PointTarget,
Scalar > > 
ConstPtr
 
typedef Eigen::Matrix< Scalar,
Eigen::Dynamic, 1 > 
VectorX
 
typedef Eigen::Matrix< Scalar, 4, 1 > Vector4
 
typedef
TransformationEstimation
< PointSource, PointTarget,
Scalar >::Matrix4 
Matrix4
 
- Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
typedef Eigen::Matrix< Scalar, 4, 4 > Matrix4
 
typedef boost::shared_ptr
< TransformationEstimation
< PointSource, PointTarget,
Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
TransformationEstimation
< PointSource, PointTarget,
Scalar > > 
ConstPtr
 

Public Member Functions

 TransformationEstimationPointToPlane ()
 
virtual ~TransformationEstimationPointToPlane ()
 
- Public Member Functions inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
 TransformationEstimationLM ()
 Constructor. More...
 
 TransformationEstimationLM (const TransformationEstimationLM &src)
 Copy constructor. More...
 
TransformationEstimationLMoperator= (const TransformationEstimationLM &src)
 Copy operator. More...
 
virtual ~TransformationEstimationLM ()
 Destructor. More...
 
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 LM. More...
 
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 LM. More...
 
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 LM. More...
 
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 LM. More...
 
void setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, Scalar > > &warp_fcn)
 Set the function we use to warp points. More...
 
- Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
 TransformationEstimation ()
 
virtual ~TransformationEstimation ()
 

Protected Member Functions

virtual Scalar computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const
 Compute the distance between a source point and its corresponding target point. More...
 
virtual Scalar computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const
 Compute the distance between a source point and its corresponding target point. More...
 

Additional Inherited Members

- Protected Attributes inherited from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >
const PointCloudSourcetmp_src_
 Temporary pointer to the source dataset. More...
 
const PointCloudTargettmp_tgt_
 Temporary pointer to the target dataset. More...
 
const std::vector< int > * tmp_idx_src_
 Temporary pointer to the source dataset indices. More...
 
const std::vector< int > * tmp_idx_tgt_
 Temporary pointer to the target dataset indices. More...
 
boost::shared_ptr
< pcl::registration::WarpPointRigid
< PointSource, PointTarget,
Scalar > > 
warp_point_
 The parameterized function used to warp the source to the target. More...
 

Detailed Description

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

TransformationEstimationPointToPlane uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences.

Author
Michael Dixon

Definition at line 58 of file transformation_estimation_point_to_plane.h.

Member Typedef Documentation

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef boost::shared_ptr<const TransformationEstimationPointToPlane<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::ConstPtr

Definition at line 62 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef pcl::PointCloud<PointSource> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSource

Definition at line 64 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef PointCloudSource::ConstPtr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr

Definition at line 66 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef PointCloudSource::Ptr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudSourcePtr

Definition at line 65 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef pcl::PointCloud<PointTarget> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointCloudTarget

Definition at line 67 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef PointIndices::ConstPtr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointIndicesConstPtr

Definition at line 69 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef PointIndices::Ptr pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::PointIndicesPtr

Definition at line 68 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef boost::shared_ptr<TransformationEstimationPointToPlane<PointSource, PointTarget, Scalar> > pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::Ptr

Definition at line 61 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
typedef Eigen::Matrix<Scalar, 4, 1> pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::Vector4

Definition at line 71 of file transformation_estimation_point_to_plane.h.

Constructor & Destructor Documentation

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

Definition at line 73 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
virtual pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::~TransformationEstimationPointToPlane ( )
inlinevirtual

Definition at line 74 of file transformation_estimation_point_to_plane.h.

Member Function Documentation

template<typename PointSource, typename PointTarget, typename Scalar = float>
virtual Scalar pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::computeDistance ( const PointSource &  p_src,
const PointTarget &  p_tgt 
) const
inlineprotectedvirtual

Compute the distance between a source point and its corresponding target point.

Parameters
[in]p_srcThe source point
[in]p_tgtThe target point
Returns
The distance between p_src and p_tgt
Note
Older versions of PCL used this method internally for calculating the optimization gradient. Since PCL 1.7, a switch has been made to the computeDistance method using Vector4 types instead. This method is only kept for API compatibility reasons.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >.

Definition at line 78 of file transformation_estimation_point_to_plane.h.

template<typename PointSource, typename PointTarget, typename Scalar = float>
virtual Scalar pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >::computeDistance ( const Vector4 p_src,
const PointTarget &  p_tgt 
) const
inlineprotectedvirtual

Compute the distance between a source point and its corresponding target point.

Parameters
[in]p_srcThe source point
[in]p_tgtThe target point
Returns
The distance between p_src and p_tgt
Note
A different distance function can be defined by creating a subclass of TransformationEstimationLM and overriding this method. (See TransformationEstimationPointToPlane)

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, Scalar >.

Definition at line 88 of file transformation_estimation_point_to_plane.h.


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