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

The CorrespondenceRejectionOrganizedBoundary class implements a simple correspondence rejection measure. More...

#include <pcl/registration/correspondence_rejection_organized_boundary.h>

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

Public Member Functions

 CorrespondenceRejectionOrganizedBoundary ()=default
 Empty constructor. 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...
 
void setNumberOfBoundaryNaNs (int val)
 
template<typename PointT >
void setInputSource (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
 
template<typename PointT >
void setInputTarget (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
 
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...
 
virtual bool updateSource (const Eigen::Matrix4d &)
 
- 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 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

int boundary_nans_threshold_ {8}
 
int window_size_ {5}
 
float depth_step_threshold_ {0.025f}
 
DataContainerPtr data_container_
 
- 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...
 

Additional Inherited Members

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

Detailed Description

The CorrespondenceRejectionOrganizedBoundary class implements a simple correspondence rejection measure.

For each pair of points in correspondence, it checks whether they are on the boundary of a silhouette. This is done by counting the number of NaN dexels in a window around the points (the threshold and window size can be set by the user).

Note
Both the source and the target clouds need to be organized, otherwise all the correspondences will be rejected.
Author
Alexandru E. Ichim

Definition at line 58 of file correspondence_rejection_organized_boundary.h.

Member Typedef Documentation

◆ DataContainerPtr

Constructor & Destructor Documentation

◆ CorrespondenceRejectionOrganizedBoundary()

pcl::registration::CorrespondenceRejectionOrganizedBoundary::CorrespondenceRejectionOrganizedBoundary ( )
default

Empty constructor.

Member Function Documentation

◆ applyRejection()

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

Apply the rejection algorithm.

Parameters
[out]correspondencesthe set of resultant correspondences.

Implements pcl::registration::CorrespondenceRejector.

Definition at line 137 of file correspondence_rejection_organized_boundary.h.

◆ getRemainingCorrespondences()

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

Pure virtual. Compared to getCorrespondences this function is stateless, i.e., input correspondences do not need to be provided beforehand, but are directly provided in the function call.

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::CorrespondenceRejectionOrganizedBoundary::requiresSourcePoints ( ) const
inlineoverridevirtual

See if this rejector requires source points.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 96 of file correspondence_rejection_organized_boundary.h.

◆ requiresTargetPoints()

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

See if this rejector requires a target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 112 of file correspondence_rejection_organized_boundary.h.

◆ setInputSource()

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

◆ setInputTarget()

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

◆ setNumberOfBoundaryNaNs()

void pcl::registration::CorrespondenceRejectionOrganizedBoundary::setNumberOfBoundaryNaNs ( int  val)
inline

◆ setSourcePoints()

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

Blob method for setting the source cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 103 of file correspondence_rejection_organized_boundary.h.

References pcl::fromPCLPointCloud2().

◆ setTargetPoints()

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

Method for setting the target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 119 of file correspondence_rejection_organized_boundary.h.

References pcl::fromPCLPointCloud2().

◆ updateSource()

virtual bool pcl::registration::CorrespondenceRejectionOrganizedBoundary::updateSource ( const Eigen::Matrix4d &  )
inlinevirtual

Member Data Documentation

◆ boundary_nans_threshold_

int pcl::registration::CorrespondenceRejectionOrganizedBoundary::boundary_nans_threshold_ {8}
protected

◆ data_container_

DataContainerPtr pcl::registration::CorrespondenceRejectionOrganizedBoundary::data_container_
protected

◆ depth_step_threshold_

float pcl::registration::CorrespondenceRejectionOrganizedBoundary::depth_step_threshold_ {0.025f}
protected

◆ window_size_

int pcl::registration::CorrespondenceRejectionOrganizedBoundary::window_size_ {5}
protected

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