Point Cloud Library (PCL)  1.14.0-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 >:
+ Collaboration diagram for pcl::recognition::TrimmedICP< PointT, Scalar >:

Public Types

using PointCloud = pcl::PointCloud< PointT >
 
using PointCloudConstPtr = typename PointCloud::ConstPtr
 
using Matrix4 = typename Eigen::Matrix< Scalar, 4, 4 >
 
- Public Types inherited from pcl::registration::TransformationEstimationSVD< PointT, PointT, Scalar >
using Ptr = shared_ptr< TransformationEstimationSVD< PointT, PointT, Scalar > >
 
using ConstPtr = shared_ptr< const TransformationEstimationSVD< PointT, PointT, Scalar > >
 
using Matrix4 = typename TransformationEstimation< PointT, PointT, Scalar >::Matrix4
 
- Public Types inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
using Matrix4 = Eigen::Matrix< Scalar, 4, 4 >
 
using Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, Scalar > >
 
using ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, Scalar > >
 

Public Member Functions

 TrimmedICP ()=default
 
 ~TrimmedICP () override=default
 
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...
 
 ~TransformationEstimationSVD () override=default
 
void estimateRigidTransformation (const pcl::PointCloud< PointT > &cloud_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const override
 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::Indices &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, Matrix4 &transformation_matrix) const override
 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::Indices &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const override
 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 override
 Estimate a rigid rotation transformation between a source and a target point cloud using SVD. More...
 
- Public Member Functions inherited from pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
 TransformationEstimation ()=default
 
virtual ~TransformationEstimation ()=default
 

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_ {0.99f}
 
- 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. 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

◆ Matrix4

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

Definition at line 68 of file trimmed_icp.h.

◆ PointCloud

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

Definition at line 65 of file trimmed_icp.h.

◆ PointCloudConstPtr

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

Definition at line 66 of file trimmed_icp.h.

Constructor & Destructor Documentation

◆ TrimmedICP()

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

◆ ~TrimmedICP()

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

Member Function Documentation

◆ align()

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 96 of file trimmed_icp.h.

References pcl::recognition::TrimmedICP< PointT, Scalar >::compareCorrespondences(), pcl::PointCloud< PointT >::size(), and pcl::recognition::aux::transform().

◆ compareCorrespondences()

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

◆ init()

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 81 of file trimmed_icp.h.

◆ setNewToOldEnergyRatio()

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

Definition at line 160 of file trimmed_icp.h.

Member Data Documentation

◆ kdtree_

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

Definition at line 177 of file trimmed_icp.h.

◆ new_to_old_energy_ratio_

template<typename PointT , typename Scalar >
float pcl::recognition::TrimmedICP< PointT, Scalar >::new_to_old_energy_ratio_ {0.99f}
protected

Definition at line 178 of file trimmed_icp.h.

◆ target_points_

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

Definition at line 176 of file trimmed_icp.h.


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