Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::registration::CorrespondenceRejectorTrimmed Class Reference

CorrespondenceRejectorTrimmed implements a correspondence rejection for ICP-like registration algorithms that uses only the best 'k' correspondences where 'k' is some estimate of the overlap between the two point clouds being registered. More...

#include <pcl/registration/correspondence_rejection_trimmed.h>

+ Inheritance diagram for pcl::registration::CorrespondenceRejectorTrimmed:
+ Collaboration diagram for pcl::registration::CorrespondenceRejectorTrimmed:

Public Types

using Ptr = shared_ptr< CorrespondenceRejectorTrimmed >
 
using ConstPtr = shared_ptr< const CorrespondenceRejectorTrimmed >
 
- Public Types inherited from pcl::registration::CorrespondenceRejector
using Ptr = shared_ptr< CorrespondenceRejector >
 
using ConstPtr = shared_ptr< const CorrespondenceRejector >
 

Public Member Functions

 CorrespondenceRejectorTrimmed ()
 Empty constructor. More...
 
 ~CorrespondenceRejectorTrimmed () override=default
 Destructor. More...
 
virtual void setOverlapRatio (float ratio)
 Set the expected ratio of overlap between point clouds (in terms of correspondences). More...
 
float getOverlapRatio () const
 Get the maximum distance used for thresholding in correspondence rejection. More...
 
void setMinCorrespondences (unsigned int min_correspondences)
 Set a minimum number of correspondences. More...
 
unsigned int getMinCorrespondences () const
 Get the minimum number of correspondences. More...
 
void getRemainingCorrespondences (const pcl::Correspondences &original_correspondences, pcl::Correspondences &remaining_correspondences) override
 Get a list of valid correspondences after rejection from the original set of correspondences. More...
 
- Public Member Functions inherited from pcl::registration::CorrespondenceRejector
 CorrespondenceRejector ()=default
 Empty constructor. More...
 
virtual ~CorrespondenceRejector ()=default
 Empty destructor. More...
 
virtual void setInputCorrespondences (const CorrespondencesConstPtr &correspondences)
 Provide a pointer to the vector of the input correspondences. More...
 
CorrespondencesConstPtr getInputCorrespondences ()
 Get a pointer to the vector of the input correspondences. More...
 
void getCorrespondences (pcl::Correspondences &correspondences)
 Run correspondence rejection. More...
 
void getRejectedQueryIndices (const pcl::Correspondences &correspondences, pcl::Indices &indices)
 Determine the indices of query points of correspondences that have been rejected, i.e., the difference between the input correspondences (set via setInputCorrespondences) and the given correspondence vector. More...
 
const std::string & getClassName () const
 Get a string representation of the name of this class. More...
 
virtual bool requiresSourcePoints () const
 See if this rejector requires source points. More...
 
virtual void setSourcePoints (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the source cloud. More...
 
virtual bool requiresSourceNormals () const
 See if this rejector requires source normals. More...
 
virtual void setSourceNormals (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the source normals. More...
 
virtual bool requiresTargetPoints () const
 See if this rejector requires a target cloud. More...
 
virtual void setTargetPoints (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the target cloud. More...
 
virtual bool requiresTargetNormals () const
 See if this rejector requires target normals. More...
 
virtual void setTargetNormals (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the target normals. More...
 

Protected Member Functions

void applyRejection (pcl::Correspondences &correspondences) override
 Apply the rejection algorithm. More...
 

Protected Attributes

float overlap_ratio_ {0.5f}
 Overlap Ratio in [0..1]. More...
 
unsigned int nr_min_correspondences_ {0}
 Minimum number of correspondences. More...
 
- Protected Attributes inherited from pcl::registration::CorrespondenceRejector
std::string rejection_name_ {}
 The name of the rejection method. More...
 
CorrespondencesConstPtr input_correspondences_
 The input correspondences. More...
 

Detailed Description

CorrespondenceRejectorTrimmed implements a correspondence rejection for ICP-like registration algorithms that uses only the best 'k' correspondences where 'k' is some estimate of the overlap between the two point clouds being registered.

Reference: 'The Trimmed Iterative Closest Point Algorithm' by D. Chetverikov, D. Svirko, D. Stepanov, and Pavel Krsek. In Proceedings of the 16th International Conference on Pattern Recognition (ICPR 2002).

Author
Dirk Holz

Definition at line 61 of file correspondence_rejection_trimmed.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 68 of file correspondence_rejection_trimmed.h.

◆ Ptr

Definition at line 67 of file correspondence_rejection_trimmed.h.

Constructor & Destructor Documentation

◆ CorrespondenceRejectorTrimmed()

pcl::registration::CorrespondenceRejectorTrimmed::CorrespondenceRejectorTrimmed ( )
inline

Empty constructor.

Definition at line 71 of file correspondence_rejection_trimmed.h.

◆ ~CorrespondenceRejectorTrimmed()

pcl::registration::CorrespondenceRejectorTrimmed::~CorrespondenceRejectorTrimmed ( )
overridedefault

Destructor.

Member Function Documentation

◆ applyRejection()

void pcl::registration::CorrespondenceRejectorTrimmed::applyRejection ( pcl::Correspondences correspondences)
inlineoverrideprotectedvirtual

Apply the rejection algorithm.

Parameters
[out]correspondencesthe set of resultant correspondences.

Implements pcl::registration::CorrespondenceRejector.

Definition at line 129 of file correspondence_rejection_trimmed.h.

◆ getMinCorrespondences()

unsigned int pcl::registration::CorrespondenceRejectorTrimmed::getMinCorrespondences ( ) const
inline

Get the minimum number of correspondences.

Definition at line 110 of file correspondence_rejection_trimmed.h.

◆ getOverlapRatio()

float pcl::registration::CorrespondenceRejectorTrimmed::getOverlapRatio ( ) const
inline

Get the maximum distance used for thresholding in correspondence rejection.

Definition at line 90 of file correspondence_rejection_trimmed.h.

◆ getRemainingCorrespondences()

void pcl::registration::CorrespondenceRejectorTrimmed::getRemainingCorrespondences ( const pcl::Correspondences original_correspondences,
pcl::Correspondences remaining_correspondences 
)
overridevirtual

Get a list of valid correspondences after rejection from the original set of correspondences.

Parameters
[in]original_correspondencesthe set of initial correspondences given
[out]remaining_correspondencesthe resultant filtered set of remaining correspondences

Implements pcl::registration::CorrespondenceRejector.

◆ setMinCorrespondences()

void pcl::registration::CorrespondenceRejectorTrimmed::setMinCorrespondences ( unsigned int  min_correspondences)
inline

Set a minimum number of correspondences.

If the specified overlap ratio causes to have less correspondences, CorrespondenceRejectorTrimmed will try to return at least nr_min_correspondences_ correspondences (or all correspondences in case nr_min_correspondences_ is less than the number of given correspondences).

Parameters
[in]min_correspondencesthe minimum number of correspondences

Definition at line 103 of file correspondence_rejection_trimmed.h.

◆ setOverlapRatio()

virtual void pcl::registration::CorrespondenceRejectorTrimmed::setOverlapRatio ( float  ratio)
inlinevirtual

Set the expected ratio of overlap between point clouds (in terms of correspondences).

Parameters
[in]ratioratio of overlap between 0 (no overlap, no correspondences) and 1 (full overlap, all correspondences)

Definition at line 82 of file correspondence_rejection_trimmed.h.

Member Data Documentation

◆ nr_min_correspondences_

unsigned int pcl::registration::CorrespondenceRejectorTrimmed::nr_min_correspondences_ {0}
protected

Minimum number of correspondences.

Definition at line 138 of file correspondence_rejection_trimmed.h.

◆ overlap_ratio_

float pcl::registration::CorrespondenceRejectorTrimmed::overlap_ratio_ {0.5f}
protected

Overlap Ratio in [0..1].

Definition at line 135 of file correspondence_rejection_trimmed.h.


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