pcl::PPFRegistration< PointSource, PointTarget > Class Template Reference

Class that registers two point clouds based on their sets of PPFSignatures. More...

#include <pcl/registration/ppf_registration.h>

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

List of all members.

Classes

struct  PoseWithVotes
 Structure for storing a pose (represented as an Eigen::Affine3f) and an integer for counting votes. More...

Public Types

typedef std::vector
< PoseWithVotes,
Eigen::aligned_allocator
< PoseWithVotes > > 
PoseWithVotesList
typedef pcl::PointCloud
< PointSource > 
PointCloudSource
typedef PointCloudSource::Ptr PointCloudSourcePtr
typedef PointCloudSource::ConstPtr PointCloudSourceConstPtr
typedef pcl::PointCloud
< PointTarget > 
PointCloudTarget
typedef PointCloudTarget::Ptr PointCloudTargetPtr
typedef PointCloudTarget::ConstPtr PointCloudTargetConstPtr

Public Member Functions

 PPFRegistration ()
 Empty constructor that initializes all the parameters of the algorithm with default values.
void setPositionClusteringThreshold (float clustering_position_diff_threshold)
 Method for setting the position difference clustering parameter.
float getPositionClusteringThreshold ()
 Returns the parameter defining the position difference clustering parameter - distance threshold below which two poses are considered close enough to be in the same cluster (for the clustering phase of the algorithm).
void setRotationClusteringThreshold (float clustering_rotation_diff_threshold)
 Method for setting the rotation clustering parameter.
float getRotationClusteringThreshold ()
 Returns the parameter defining the rotation clustering threshold.
void setSceneReferencePointSamplingRate (unsigned int scene_reference_point_sampling_rate)
 Method for setting the scene reference point sampling rate.
unsigned int getSceneReferencePointSamplingRate ()
 Returns the parameter for the scene reference point sampling rate of the algorithm.
void setSearchMethod (PPFHashMapSearch::Ptr search_method)
 Function that sets the search method for the algorithm.
PPFHashMapSearch::Ptr getSearchMethod ()
 Getter function for the search method of the class.
void setInputTarget (const PointCloudTargetConstPtr &cloud)
 Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to).

Detailed Description

template<typename PointSource, typename PointTarget>
class pcl::PPFRegistration< PointSource, PointTarget >

Class that registers two point clouds based on their sets of PPFSignatures.

Please refer to the following publication for more details: B. Drost, M. Ulrich, N. Navab, S. Ilic Model Globally, Match Locally: Efficient and Robust 3D Object Recognition 2010 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 13-18 June 2010, San Francisco, CA

Note:
This class works in tandem with the PPFEstimation class
Author:
Alexandru-Eugen Ichim

Definition at line 144 of file ppf_registration.h.


Member Typedef Documentation

template<typename PointSource, typename PointTarget>
typedef pcl::PointCloud<PointSource> pcl::PPFRegistration< PointSource, PointTarget >::PointCloudSource

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 171 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef PointCloudSource::ConstPtr pcl::PPFRegistration< PointSource, PointTarget >::PointCloudSourceConstPtr

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 173 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef PointCloudSource::Ptr pcl::PPFRegistration< PointSource, PointTarget >::PointCloudSourcePtr

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 172 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef pcl::PointCloud<PointTarget> pcl::PPFRegistration< PointSource, PointTarget >::PointCloudTarget

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 175 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef PointCloudTarget::ConstPtr pcl::PPFRegistration< PointSource, PointTarget >::PointCloudTargetConstPtr

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 177 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef PointCloudTarget::Ptr pcl::PPFRegistration< PointSource, PointTarget >::PointCloudTargetPtr

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 176 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
typedef std::vector<PoseWithVotes, Eigen::aligned_allocator<PoseWithVotes> > pcl::PPFRegistration< PointSource, PointTarget >::PoseWithVotesList

Definition at line 161 of file ppf_registration.h.


Constructor & Destructor Documentation

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

Empty constructor that initializes all the parameters of the algorithm with default values.

Definition at line 181 of file ppf_registration.h.


Member Function Documentation

template<typename PointSource, typename PointTarget>
float pcl::PPFRegistration< PointSource, PointTarget >::getPositionClusteringThreshold (  )  [inline]

Returns the parameter defining the position difference clustering parameter - distance threshold below which two poses are considered close enough to be in the same cluster (for the clustering phase of the algorithm).

Definition at line 201 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
float pcl::PPFRegistration< PointSource, PointTarget >::getRotationClusteringThreshold (  )  [inline]

Returns the parameter defining the rotation clustering threshold.

Definition at line 213 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
unsigned int pcl::PPFRegistration< PointSource, PointTarget >::getSceneReferencePointSamplingRate (  )  [inline]

Returns the parameter for the scene reference point sampling rate of the algorithm.

Definition at line 223 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
PPFHashMapSearch::Ptr pcl::PPFRegistration< PointSource, PointTarget >::getSearchMethod (  )  [inline]

Getter function for the search method of the class.

Definition at line 235 of file ppf_registration.h.

template<typename PointSource , typename PointTarget >
void pcl::PPFRegistration< PointSource, PointTarget >::setInputTarget ( const PointCloudTargetConstPtr cloud  )  [inline, virtual]

Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to).

Parameters:
cloud the input point cloud target

Reimplemented from pcl::Registration< PointSource, PointTarget >.

Definition at line 109 of file ppf_registration.hpp.

References pcl::KdTreeFLANN< PointT, Dist >::setInputCloud(), and pcl::Registration< PointSource, PointTarget >::target_.

template<typename PointSource, typename PointTarget>
void pcl::PPFRegistration< PointSource, PointTarget >::setPositionClusteringThreshold ( float  clustering_position_diff_threshold  )  [inline]

Method for setting the position difference clustering parameter.

Parameters:
clustering_position_diff_threshold distance threshold below which two poses are considered close enough to be in the same cluster (for the clustering phase of the algorithm)

Definition at line 194 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
void pcl::PPFRegistration< PointSource, PointTarget >::setRotationClusteringThreshold ( float  clustering_rotation_diff_threshold  )  [inline]

Method for setting the rotation clustering parameter.

Parameters:
clustering_rotation_diff_threshold rotation difference threshold below which two poses are considered to be in the same cluster (for the clustering phase of the algorithm)

Definition at line 208 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
void pcl::PPFRegistration< PointSource, PointTarget >::setSceneReferencePointSamplingRate ( unsigned int  scene_reference_point_sampling_rate  )  [inline]

Method for setting the scene reference point sampling rate.

Parameters:
scene_reference_point_sampling_rate sampling rate for the scene reference point

Definition at line 219 of file ppf_registration.h.

template<typename PointSource, typename PointTarget>
void pcl::PPFRegistration< PointSource, PointTarget >::setSearchMethod ( PPFHashMapSearch::Ptr  search_method  )  [inline]

Function that sets the search method for the algorithm.

Note:
Right now, the only available method is the one initially proposed by the authors - by using a hash map with discretized feature vectors
Parameters:
search_method smart pointer to the search method to be set

Definition at line 231 of file ppf_registration.h.


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