Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes
pcl::recognition::TrimmedICP< PointT, Scalar > Class Template Reference

#include <pcl/recognition/ransac_based/trimmed_icp.h>

+ Inheritance diagram for pcl::recognition::TrimmedICP< PointT, Scalar >:

Public Types

typedef pcl::PointCloud< PointTPointCloud
 
typedef PointCloud::ConstPtr PointCloudConstPtr
 
typedef Eigen::Matrix< Scalar, 4, 4 > Matrix4
 
- Public Types inherited from pcl::registration::TransformationEstimationSVD< PointT, PointT, Scalar >
typedef boost::shared_ptr< TransformationEstimationSVD< PointT, PointT, Scalar > > Ptr
 
typedef boost::shared_ptr< const TransformationEstimationSVD< PointT, PointT, Scalar > > ConstPtr
 
typedef TransformationEstimation< PointT, PointT, Scalar >::Matrix4 Matrix4
 
- Public Types inherited from pcl::registration::TransformationEstimation< PointT, PointT, Scalar >
typedef Eigen::Matrix< Scalar, 4, 4 > Matrix4
 
typedef boost::shared_ptr< TransformationEstimation< PointT, PointT, Scalar > > Ptr
 
typedef boost::shared_ptr< const TransformationEstimation< PointT, PointT, Scalar > > ConstPtr
 

Public Member Functions

 TrimmedICP ()
 
virtual ~TrimmedICP ()
 
void init (const PointCloudConstPtr &target)
 Call this method before calling align(). More...
 
void align (const PointCloud &source_points, int num_source_points_to_use, Matrix4 &guess_and_result) const
 The method performs trimmed ICP, i.e., it rigidly registers the source to the target (passed to the init() method). More...
 
void setNewToOldEnergyRatio (float ratio)
 
- Public Member Functions inherited from pcl::registration::TransformationEstimationSVD< PointT, PointT, Scalar >
 TransformationEstimationSVD (bool use_umeyama=true)
 Constructor. More...
 
virtual ~TransformationEstimationSVD ()
 
void estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
 
void estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
 
void estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointT > &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. More...
 
void estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &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. More...
 
- Public Member Functions inherited from pcl::registration::TransformationEstimation< PointT, PointT, Scalar >
 TransformationEstimation ()
 
virtual ~TransformationEstimation ()
 

Static Protected Member Functions

static bool compareCorrespondences (const pcl::Correspondence &a, const pcl::Correspondence &b)
 

Protected Attributes

PointCloudConstPtr target_points_
 
pcl::KdTreeFLANN< PointTkdtree_
 
float new_to_old_energy_ratio_
 
- Protected Attributes inherited from pcl::registration::TransformationEstimationSVD< PointT, PointT, Scalar >
bool use_umeyama_
 

Additional Inherited Members

- Protected Member Functions inherited from pcl::registration::TransformationEstimationSVD< PointT, PointT, Scalar >
void estimateRigidTransformation (ConstCloudIterator< PointT > &source_it, ConstCloudIterator< PointT > &target_it, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target. More...
 
virtual void getTransformationFromCorrelation (const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_src_demean, const Eigen::Matrix< Scalar, 4, 1 > &centroid_src, const Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_tgt_demean, const Eigen::Matrix< Scalar, 4, 1 > &centroid_tgt, Matrix4 &transformation_matrix) const
 Obtain a 4x4 rigid transformation matrix from a correlation matrix H = src * tgt'. More...
 

Detailed Description

template<typename PointT, typename Scalar>
class pcl::recognition::TrimmedICP< PointT, Scalar >

Definition at line 62 of file trimmed_icp.h.

Member Typedef Documentation

template<typename PointT, typename Scalar>
typedef Eigen::Matrix<Scalar, 4, 4> pcl::recognition::TrimmedICP< PointT, Scalar >::Matrix4

Definition at line 68 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
typedef pcl::PointCloud<PointT> pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloud

Definition at line 65 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
typedef PointCloud::ConstPtr pcl::recognition::TrimmedICP< PointT, Scalar >::PointCloudConstPtr

Definition at line 66 of file trimmed_icp.h.

Constructor & Destructor Documentation

template<typename PointT, typename Scalar>
pcl::recognition::TrimmedICP< PointT, Scalar >::TrimmedICP ( )
inline

Definition at line 71 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
virtual pcl::recognition::TrimmedICP< PointT, Scalar >::~TrimmedICP ( )
inlinevirtual

Definition at line 75 of file trimmed_icp.h.

Member Function Documentation

template<typename PointT, typename Scalar>
void pcl::recognition::TrimmedICP< PointT, Scalar >::align ( const PointCloud source_points,
int  num_source_points_to_use,
Matrix4 guess_and_result 
) const
inline

The method performs trimmed ICP, i.e., it rigidly registers the source to the target (passed to the init() method).

Parameters
[in]source_pointsis the point cloud to be registered to the target.
[in]num_source_points_to_usegives the number of closest source points taken into account for registration. By closest source points we mean the source points closest to the target. These points are computed anew at each iteration.
[in,out]guess_and_resultis the estimated rigid transform. IMPORTANT: this matrix is also taken as the initial guess for the alignment. If there is no guess, set the matrix to identity!

Definition at line 99 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
static bool pcl::recognition::TrimmedICP< PointT, Scalar >::compareCorrespondences ( const pcl::Correspondence a,
const pcl::Correspondence b 
)
inlinestaticprotected
template<typename PointT, typename Scalar>
void pcl::recognition::TrimmedICP< PointT, Scalar >::init ( const PointCloudConstPtr target)
inline

Call this method before calling align().

Parameters
[in]targetis target point cloud. The method builds a kd-tree based on 'target' for performing fast closest point search. The source point cloud will be registered to 'target' (see align() method).

Definition at line 84 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
void pcl::recognition::TrimmedICP< PointT, Scalar >::setNewToOldEnergyRatio ( float  ratio)
inline

Definition at line 163 of file trimmed_icp.h.

Member Data Documentation

template<typename PointT, typename Scalar>
pcl::KdTreeFLANN<PointT> pcl::recognition::TrimmedICP< PointT, Scalar >::kdtree_
protected

Definition at line 180 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
float pcl::recognition::TrimmedICP< PointT, Scalar >::new_to_old_energy_ratio_
protected

Definition at line 181 of file trimmed_icp.h.

template<typename PointT, typename Scalar>
PointCloudConstPtr pcl::recognition::TrimmedICP< PointT, Scalar >::target_points_
protected

Definition at line 179 of file trimmed_icp.h.


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