point_cloud_library / 1.12.1 / classpcl_1_1registration_1_1_correspondence_rejector_sample_consensus.html /

CorrespondenceRejectorSampleConsensus implements a correspondence rejection using Random Sample Consensus to identify inliers (and reject outliers) More...

#include <pcl/registration/correspondence_rejection_sample_consensus.h>

Public Types

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

Public Member Functions

CorrespondenceRejectorSampleConsensus ()
Empty constructor. More...
~CorrespondenceRejectorSampleConsensus ()
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 setInputSource (const PointCloudConstPtr &cloud)
Provide a source point cloud dataset (must contain XYZ data!) More...
const PointCloudConstPtr getInputSource ()
Get a pointer to the input point cloud dataset target. More...
virtual void setInputTarget (const PointCloudConstPtr &cloud)
Provide a target point cloud dataset (must contain XYZ data!) More...
const PointCloudConstPtr getInputTarget ()
Get a pointer to the input point cloud dataset target. 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...
void setInlierThreshold (double threshold)
Set the maximum distance between corresponding points. More...
double getInlierThreshold ()
Get the maximum distance between corresponding points. More...
void setMaximumIterations (int max_iterations)
Set the maximum number of iterations. More...
int getMaximumIterations ()
Get the maximum number of iterations. More...
Eigen::Matrix4f getBestTransformation ()
Get the best transformation after RANSAC rejection. More...
void setRefineModel (const bool refine)
Specify whether the model should be refined internally using the variance of the inliers. More...
bool getRefineModel () const
Get the internal refine parameter value as set by the user using setRefineModel. More...
void getInliersIndices (pcl::Indices &inlier_indices)
Get the inlier indices found by the correspondence rejector. More...
void setSaveInliers (bool s)
Set whether to save inliers or not. More...
bool getSaveInliers ()
Get whether the rejector is configured to save inliers. More...
const std::string & getClassName () const
Get a string representation of the name of this class. 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, 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...

Public Attributes

CorrespondencesConstPtr input_correspondences_
The input correspondences. More...
std::string rejection_name_
The name of the rejection method. More...

Protected Member Functions

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

Protected Attributes

double inlier_threshold_
int max_iterations_
PointCloudConstPtr input_
PointCloudPtr input_transformed_
PointCloudConstPtr target_
Eigen::Matrix4f best_transformation_
bool refine_
pcl::Indices inlier_indices_
bool save_inliers_
- 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

template<typename PointT>
class pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >

CorrespondenceRejectorSampleConsensus implements a correspondence rejection using Random Sample Consensus to identify inliers (and reject outliers)

Author
Dirk Holz

Definition at line 54 of file correspondence_rejection_sample_consensus.h.

Member Typedef Documentation

ConstPtr

Ptr

Constructor & Destructor Documentation

CorrespondenceRejectorSampleConsensus()

Empty constructor.

Sets the inlier threshold to 5cm (0.05m), and the maximum number of iterations to 1000.

Definition at line 70 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejector::rejection_name_.

~CorrespondenceRejectorSampleConsensus()

Member Function Documentation

applyRejection()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::applyRejection ( pcl::Correspondences & correspondences )
inlineoverrideprotectedvirtual

getBestTransformation()

template<typename PointT >
Eigen::Matrix4f pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getBestTransformation ( )
inline

getClassName()

template<typename PointT >
const std::string& pcl::registration::CorrespondenceRejector::getClassName
inline

Get a string representation of the name of this class.

Definition at line 131 of file correspondence_rejection.h.

getInliersIndices()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getInliersIndices ( pcl::Indices & inlier_indices )
inline

Get the inlier indices found by the correspondence rejector.

This information is only saved if setSaveInliers(true) was called in advance.

Parameters
[out] inlier_indices Indices for the inliers

Definition at line 228 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::inlier_indices_.

getInlierThreshold()

template<typename PointT >
double pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getInlierThreshold ( )
inline

Get the maximum distance between corresponding points.

Returns
Distance threshold in the same dimension as source and target data sets.

Definition at line 173 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::inlier_threshold_.

getInputSource()

template<typename PointT >
const PointCloudConstPtr pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getInputSource ( )
inline

Get a pointer to the input point cloud dataset target.

Definition at line 105 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::input_.

getInputTarget()

template<typename PointT >
const PointCloudConstPtr pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getInputTarget ( )
inline

Get a pointer to the input point cloud dataset target.

Definition at line 121 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::target_.

getMaximumIterations()

template<typename PointT >
int pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getMaximumIterations ( )
inline

Get the maximum number of iterations.

Returns
max_iterations Maximum number if iterations to run

Definition at line 191 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::max_iterations_.

getRefineModel()

template<typename PointT >
bool pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRefineModel ( ) const
inline

Get the internal refine parameter value as set by the user using setRefineModel.

Definition at line 218 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::refine_.

getRemainingCorrespondences()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences ( const pcl::Correspondences & original_correspondences,
pcl::Correspondences & remaining_correspondences
)
inlineoverridevirtual

getSaveInliers()

template<typename PointT >
bool pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getSaveInliers ( )
inline

Get whether the rejector is configured to save inliers.

Definition at line 244 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::save_inliers_.

requiresSourcePoints()

template<typename PointT >
bool pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::requiresSourcePoints ( ) const
inlineoverridevirtual

See if this rejector requires source points.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 128 of file correspondence_rejection_sample_consensus.h.

requiresTargetPoints()

template<typename PointT >
bool pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::requiresTargetPoints ( ) const
inlineoverridevirtual

See if this rejector requires a target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 144 of file correspondence_rejection_sample_consensus.h.

setInlierThreshold()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInlierThreshold ( double threshold )
inline

Set the maximum distance between corresponding points.

Correspondences with distances below the threshold are considered as inliers.

Parameters
[in] threshold Distance threshold in the same dimension as source and target data sets.

Definition at line 164 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::inlier_threshold_.

Referenced by pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), and pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences().

setInputSource()

setInputTarget()

setMaximumIterations()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setMaximumIterations ( int max_iterations )
inline

setRefineModel()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setRefineModel ( const bool refine )
inline

Specify whether the model should be refined internally using the variance of the inliers.

Parameters
[in] refine true if the model should be refined, false otherwise

Definition at line 210 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::refine_.

setSaveInliers()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setSaveInliers ( bool s )
inline

Set whether to save inliers or not.

Parameters
[in] s True to save inliers / False otherwise

Definition at line 237 of file correspondence_rejection_sample_consensus.h.

References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::save_inliers_.

setSourcePoints()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setSourcePoints ( pcl::PCLPointCloud2::ConstPtr cloud2 )
inlineoverridevirtual

setTargetPoints()

template<typename PointT >
void pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setTargetPoints ( pcl::PCLPointCloud2::ConstPtr cloud2 )
inlineoverridevirtual

Member Data Documentation

best_transformation_

inlier_indices_

inlier_threshold_

input_

input_correspondences_

template<typename PointT >
CorrespondencesConstPtr pcl::registration::CorrespondenceRejector::input_correspondences_

The input correspondences.

Definition at line 200 of file correspondence_rejection.h.

input_transformed_

template<typename PointT >
PointCloudPtr pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::input_transformed_
protected

Definition at line 264 of file correspondence_rejection_sample_consensus.h.

max_iterations_

refine_

rejection_name_

template<typename PointT >
std::string pcl::registration::CorrespondenceRejector::rejection_name_

The name of the rejection method.

Definition at line 197 of file correspondence_rejection.h.

save_inliers_

target_


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_correspondence_rejector_sample_consensus.html