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

CorrespondenceRejectorDistance implements a simple correspondence rejection method based on thresholding the distances between the correspondences. More...

#include <pcl/registration/correspondence_rejection_distance.h>

+ Inheritance diagram for pcl::registration::CorrespondenceRejectorDistance:

Public Types

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

Public Member Functions

 CorrespondenceRejectorDistance ()
 Empty constructor. More...
 
 ~CorrespondenceRejectorDistance ()
 Empty destructor. 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...
 
virtual void setMaximumDistance (float distance)
 Set the maximum distance used for thresholding in correspondence rejection. More...
 
float getMaximumDistance () const
 Get the maximum distance used for thresholding in correspondence rejection. More...
 
template<typename PointT >
void setInputCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
 Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
template<typename PointT >
void setInputSource (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
 Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
template<typename PointT >
void setInputTarget (const typename pcl::PointCloud< PointT >::ConstPtr &target)
 Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
bool requiresSourcePoints () const override
 See if this rejector requires source points. More...
 
void setSourcePoints (pcl::PCLPointCloud2::ConstPtr cloud2) override
 Blob method for setting the source cloud. More...
 
bool requiresTargetPoints () const override
 See if this rejector requires a target cloud. More...
 
void setTargetPoints (pcl::PCLPointCloud2::ConstPtr cloud2) override
 Method for setting the target cloud. More...
 
template<typename PointT >
void setSearchMethodTarget (const typename pcl::search::KdTree< PointT >::Ptr &tree, bool force_no_recompute=false)
 Provide a pointer to the search object used to find correspondences in the target cloud. More...
 
- Public Member Functions inherited from pcl::registration::CorrespondenceRejector
 CorrespondenceRejector ()
 Empty constructor. More...
 
virtual ~CorrespondenceRejector ()
 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, std::vector< int > &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 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 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 Types

using DataContainerPtr = DataContainerInterface::Ptr
 

Protected Member Functions

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

Protected Attributes

float max_distance_
 The maximum distance threshold between two correspondent points in source <-> target. More...
 
DataContainerPtr data_container_
 A pointer to the DataContainer object containing the input and target point clouds. 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

CorrespondenceRejectorDistance implements a simple correspondence rejection method based on thresholding the distances between the correspondences.

Note
If setInputCloud and setInputTarget are given, then the distances between correspondences will be estimated using the given XYZ data, and not read from the set of input correspondences.
Author
Dirk Holz, Radu B. Rusu

Definition at line 63 of file correspondence_rejection_distance.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 71 of file correspondence_rejection_distance.h.

◆ DataContainerPtr

Definition at line 201 of file correspondence_rejection_distance.h.

◆ Ptr

Definition at line 70 of file correspondence_rejection_distance.h.

Constructor & Destructor Documentation

◆ CorrespondenceRejectorDistance()

pcl::registration::CorrespondenceRejectorDistance::CorrespondenceRejectorDistance ( )
inline

Empty constructor.

Definition at line 74 of file correspondence_rejection_distance.h.

◆ ~CorrespondenceRejectorDistance()

pcl::registration::CorrespondenceRejectorDistance::~CorrespondenceRejectorDistance ( )
inline

Empty destructor.

Definition at line 80 of file correspondence_rejection_distance.h.

Member Function Documentation

◆ applyRejection()

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

Apply the rejection algorithm.

Parameters
[out]correspondencesthe set of resultant correspondences.

Implements pcl::registration::CorrespondenceRejector.

Definition at line 191 of file correspondence_rejection_distance.h.

◆ getMaximumDistance()

float pcl::registration::CorrespondenceRejectorDistance::getMaximumDistance ( ) const
inline

Get the maximum distance used for thresholding in correspondence rejection.

Definition at line 100 of file correspondence_rejection_distance.h.

◆ getRemainingCorrespondences()

void pcl::registration::CorrespondenceRejectorDistance::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.

◆ requiresSourcePoints()

bool pcl::registration::CorrespondenceRejectorDistance::requiresSourcePoints ( ) const
inlineoverridevirtual

See if this rejector requires source points.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 143 of file correspondence_rejection_distance.h.

◆ requiresTargetPoints()

bool pcl::registration::CorrespondenceRejectorDistance::requiresTargetPoints ( ) const
inlineoverridevirtual

See if this rejector requires a target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 157 of file correspondence_rejection_distance.h.

◆ setInputCloud()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorDistance::setInputCloud ( const typename pcl::PointCloud< PointT >::ConstPtr cloud)
inline

Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.


Parameters
[in]clouda cloud containing XYZ data
Deprecated:
Scheduled for removal in version 1 . 12 : "pcl::registration::CorrespondenceRejectorDistance::setInputCloud is deprecated. Please use setInputSource instead"

Definition at line 109 of file correspondence_rejection_distance.h.

◆ setInputSource()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorDistance::setInputSource ( const typename pcl::PointCloud< PointT >::ConstPtr cloud)
inline

Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.


Parameters
[in]clouda cloud containing XYZ data

Definition at line 121 of file correspondence_rejection_distance.h.

◆ setInputTarget()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorDistance::setInputTarget ( const typename pcl::PointCloud< PointT >::ConstPtr target)
inline

Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.


Parameters
[in]targeta cloud containing XYZ data

Definition at line 133 of file correspondence_rejection_distance.h.

◆ setMaximumDistance()

virtual void pcl::registration::CorrespondenceRejectorDistance::setMaximumDistance ( float  distance)
inlinevirtual

Set the maximum distance used for thresholding in correspondence rejection.

Parameters
[in]distanceDistance to be used as maximum distance between correspondences. Correspondences with larger distances are rejected.
Note
Internally, the distance will be stored squared.

Definition at line 96 of file correspondence_rejection_distance.h.

References pcl::geometry::distance().

◆ setSearchMethodTarget()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorDistance::setSearchMethodTarget ( const typename pcl::search::KdTree< PointT >::Ptr tree,
bool  force_no_recompute = false 
)
inline

Provide a pointer to the search object used to find correspondences in the target cloud.

Parameters
[in]treea pointer to the spatial search object.
[in]force_no_recomputeIf set to true, this tree will NEVER be recomputed, regardless of calls to setInputTarget. Only use if you are confident that the tree will be set correctly.

Definition at line 177 of file correspondence_rejection_distance.h.

◆ setSourcePoints()

void pcl::registration::CorrespondenceRejectorDistance::setSourcePoints ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inlineoverridevirtual

Blob method for setting the source cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 148 of file correspondence_rejection_distance.h.

References pcl::fromPCLPointCloud2().

◆ setTargetPoints()

void pcl::registration::CorrespondenceRejectorDistance::setTargetPoints ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inlineoverridevirtual

Method for setting the target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 162 of file correspondence_rejection_distance.h.

References pcl::fromPCLPointCloud2().

Member Data Documentation

◆ data_container_

DataContainerPtr pcl::registration::CorrespondenceRejectorDistance::data_container_
protected

A pointer to the DataContainer object containing the input and target point clouds.

Definition at line 204 of file correspondence_rejection_distance.h.

◆ max_distance_

float pcl::registration::CorrespondenceRejectorDistance::max_distance_
protected

The maximum distance threshold between two correspondent points in source <-> target.

If the distance is larger than this threshold, the points will not be ignored in the alignment process.

Definition at line 199 of file correspondence_rejection_distance.h.


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