Point Cloud Library (PCL)
1.14.1-dev
|
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 () override=default | |
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... | |
PointCloudConstPtr const | 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... | |
PointCloudConstPtr const | 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 ()=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... | |
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_ {0.05} |
int | max_iterations_ {1000} |
PointCloudConstPtr | input_ |
PointCloudPtr | input_transformed_ |
PointCloudConstPtr | target_ |
Eigen::Matrix4f | best_transformation_ |
bool | refine_ {false} |
pcl::Indices | inlier_indices_ |
bool | save_inliers_ {false} |
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... | |
CorrespondenceRejectorSampleConsensus implements a correspondence rejection using Random Sample Consensus to identify inliers (and reject outliers)
Definition at line 54 of file correspondence_rejection_sample_consensus.h.
using pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::ConstPtr = shared_ptr<const CorrespondenceRejectorSampleConsensus<PointT> > |
Definition at line 65 of file correspondence_rejection_sample_consensus.h.
using pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::Ptr = shared_ptr<CorrespondenceRejectorSampleConsensus<PointT> > |
Definition at line 64 of file correspondence_rejection_sample_consensus.h.
|
inline |
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::CorrespondenceRejectorSampleConsensus< PointT >::rejection_name_.
|
overridedefault |
Empty destructor.
|
inlineoverrideprotectedvirtual |
Apply the rejection algorithm.
[out] | correspondences | the set of resultant correspondences. |
Implements pcl::registration::CorrespondenceRejector.
Reimplemented in pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >.
Definition at line 247 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::input_correspondences_.
|
inline |
Get the best transformation after RANSAC rejection.
Definition at line 193 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::best_transformation_.
Referenced by pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), and pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences().
|
inline |
Get a string representation of the name of this class.
Definition at line 131 of file correspondence_rejection.h.
|
inline |
Get the inlier indices found by the correspondence rejector.
This information is only saved if setSaveInliers(true) was called in advance.
[out] | inlier_indices | Indices for the inliers |
Definition at line 221 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::inlier_indices_.
|
inline |
Get the maximum distance between corresponding points.
Definition at line 166 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::inlier_threshold_.
|
inline |
Get a pointer to the input point cloud dataset target.
Definition at line 98 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::input_.
|
inline |
Get a pointer to the input point cloud dataset target.
Definition at line 114 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::target_.
|
inline |
Get the maximum number of iterations.
Definition at line 184 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::max_iterations_.
|
inline |
Get the internal refine parameter value as set by the user using setRefineModel.
Definition at line 211 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::refine_.
|
inlineoverridevirtual |
Get a list of valid correspondences after rejection from the original set of correspondences.
[in] | original_correspondences | the set of initial correspondences given |
[out] | remaining_correspondences | the resultant filtered set of remaining correspondences |
Implements pcl::registration::CorrespondenceRejector.
Reimplemented in pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >.
Definition at line 55 of file correspondence_rejection_sample_consensus.hpp.
References pcl::RandomSampleConsensus< PointT >::computeModel(), pcl::SampleConsensus< T >::getInliers(), pcl::SampleConsensus< T >::getModelCoefficients(), pcl::SampleConsensus< T >::refineModel(), and pcl::SampleConsensus< T >::setMaxIterations().
Referenced by pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::applyRejection(), pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), and pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences().
|
inline |
Get whether the rejector is configured to save inliers.
Definition at line 237 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::save_inliers_.
|
inlineoverridevirtual |
See if this rejector requires source points.
Reimplemented from pcl::registration::CorrespondenceRejector.
Definition at line 121 of file correspondence_rejection_sample_consensus.h.
|
inlineoverridevirtual |
See if this rejector requires a target cloud.
Reimplemented from pcl::registration::CorrespondenceRejector.
Definition at line 137 of file correspondence_rejection_sample_consensus.h.
|
inline |
Set the maximum distance between corresponding points.
Correspondences with distances below the threshold are considered as inliers.
[in] | threshold | Distance threshold in the same dimension as source and target data sets. |
Definition at line 157 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().
|
inlinevirtual |
Provide a source point cloud dataset (must contain XYZ data!)
[in] | cloud | a cloud containing XYZ data |
Definition at line 91 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::input_.
Referenced by pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setSourcePoints().
|
inlinevirtual |
Provide a target point cloud dataset (must contain XYZ data!)
[in] | cloud | a cloud containing XYZ data |
Definition at line 107 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::target_.
Referenced by pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setTargetPoints().
|
inline |
Set the maximum number of iterations.
[in] | max_iterations | Maximum number if iterations to run |
Definition at line 175 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::max_iterations_.
Referenced by pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), and pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::clusterCorrespondences().
|
inline |
Specify whether the model should be refined internally using the variance of the inliers.
[in] | refine | true if the model should be refined, false otherwise |
Definition at line 203 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::refine_.
|
inline |
Set whether to save inliers or not.
[in] | s | True to save inliers / False otherwise |
Definition at line 230 of file correspondence_rejection_sample_consensus.h.
References pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::save_inliers_.
|
inlineoverridevirtual |
Blob method for setting the source cloud.
Reimplemented from pcl::registration::CorrespondenceRejector.
Definition at line 128 of file correspondence_rejection_sample_consensus.h.
References pcl::fromPCLPointCloud2(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInputSource().
|
inlineoverridevirtual |
Method for setting the target cloud.
Reimplemented from pcl::registration::CorrespondenceRejector.
Definition at line 144 of file correspondence_rejection_sample_consensus.h.
References pcl::fromPCLPointCloud2(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInputTarget().
|
protected |
Definition at line 260 of file correspondence_rejection_sample_consensus.h.
Referenced by pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getBestTransformation().
|
protected |
Definition at line 263 of file correspondence_rejection_sample_consensus.h.
Referenced by pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getInliersIndices().
|
protected |
|
protected |
CorrespondencesConstPtr pcl::registration::CorrespondenceRejector::input_correspondences_ |
The input correspondences.
Definition at line 204 of file correspondence_rejection.h.
Referenced by pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::applyRejection(), and pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::applyRejection().
|
protected |
Definition at line 257 of file correspondence_rejection_sample_consensus.h.
|
protected |
|
protected |
std::string pcl::registration::CorrespondenceRejector::rejection_name_ |
The name of the rejection method.
Definition at line 201 of file correspondence_rejection.h.
Referenced by pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::CorrespondenceRejectorSampleConsensus(), and pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::CorrespondenceRejectorSampleConsensus2D().
|
protected |
|
protected |