Loading...
Searching...
No Matches
pcl::RandomizedMEstimatorSampleConsensus< PointT > Class Template Reference
Module sample_consensus

RandomizedMEstimatorSampleConsensus represents an implementation of the RMSAC (Randomized M-estimator SAmple Consensus) algorithm, which basically adds a Td,d test (see RandomizedRandomSampleConsensus) to an MSAC estimator (see MEstimatorSampleConsensus). More...

`#include <pcl/sample_consensus/rmsac.h>`

Inheritance diagram for pcl::RandomizedMEstimatorSampleConsensus< PointT >:

## Public Types

using | Ptr = shared_ptr< RandomizedMEstimatorSampleConsensus< PointT > >
using | ConstPtr = shared_ptr< const RandomizedMEstimatorSampleConsensus< PointT > >
Public Types inherited from pcl::SampleConsensus< PointT >
using | Ptr = shared_ptr< SampleConsensus< PointT > >
using | ConstPtr = shared_ptr< const SampleConsensus< PointT > >

## Public Member Functions

| RandomizedMEstimatorSampleConsensus (const SampleConsensusModelPtr &model)
| RMSAC (Randomized M-estimator SAmple Consensus) main constructor.
| RandomizedMEstimatorSampleConsensus (const SampleConsensusModelPtr &model, double threshold)
| RMSAC (Randomized M-estimator SAmple Consensus) main constructor.
bool | computeModel (int debug_verbosity_level=0) override
| Compute the actual model and find the inliers.
void | setFractionNrPretest (double nr_pretest)
| Set the percentage of points to pre-test.
double | getFractionNrPretest () const
| Get the percentage of points to pre-test.
Public Member Functions inherited from pcl::SampleConsensus< PointT >
| SampleConsensus (const SampleConsensusModelPtr &model, bool random=false)
| Constructor for base SAC.
| SampleConsensus (const SampleConsensusModelPtr &model, double threshold, bool random=false)
| Constructor for base SAC.
void | setSampleConsensusModel (const SampleConsensusModelPtr &model)
| Set the Sample Consensus model to use.
SampleConsensusModelPtr | getSampleConsensusModel () const
| Get the Sample Consensus model used.
virtual | ~SampleConsensus ()=default
| Destructor for base SAC.
void | setDistanceThreshold (double threshold)
| Set the distance to model threshold.
double | getDistanceThreshold () const
| Get the distance to model threshold, as set by the user.
void | setMaxIterations (int max_iterations)
| Set the maximum number of iterations.
int | getMaxIterations () const
| Get the maximum number of iterations, as set by the user.
void | setProbability (double probability)
| Set the desired probability of choosing at least one sample free from outliers.
double | getProbability () const
| Obtain the probability of choosing at least one sample free from outliers, as set by the user.
void | setNumberOfThreads (const int nr_threads=-1)
| Set the number of threads to use or turn off parallelization.
int | getNumberOfThreads () const
| Get the number of threads, as set by the user.
virtual bool | refineModel (const double sigma=3.0, const unsigned int max_iterations=1000)
| Refine the model found.
void | getRandomSamples (const IndicesPtr &indices, std::size_t nr_samples, std::set< index_t > &indices_subset)
| Get a set of randomly selected indices.
void | getModel (Indices &model) const
| Return the best model found so far.
void | getInliers (Indices &inliers) const
| Return the best set of inliers found so far for this model.
void | getModelCoefficients (Eigen::VectorXf &model_coefficients) const
| Return the model coefficients of the best model found so far.

## Additional Inherited Members

Protected Member Functions inherited from pcl::SampleConsensus< PointT >
double | rnd ()
| Boost-based random number generator.
Protected Attributes inherited from pcl::SampleConsensus< PointT >
SampleConsensusModelPtr | sac_model_
| The underlying data model used (i.e.
Indices | model_
| The model found after the last computeModel () as point cloud indices.
Indices | inliers_
| The indices of the points that were chosen as inliers after the last computeModel () call.
Eigen::VectorXf | model_coefficients_
| The coefficients of our model computed directly from the model found.
double | probability_
| Desired probability of choosing at least one sample free from outliers.
int | iterations_
| Total number of internal loop iterations that we've done so far.
double | threshold_
| Distance to model threshold.
int | max_iterations_
| Maximum number of iterations before giving up.
int | threads_
| The number of threads the scheduler should use, or a negative number if no parallelization is wanted.
boost::mt19937 | rng_alg_
| Boost-based random number generator algorithm.
std::shared_ptr< boost::uniform_01< boost::mt19937 > > | rng_
| Boost-based random number generator distribution.

## Detailed Description

template<typename PointT>
class pcl::RandomizedMEstimatorSampleConsensus< PointT >

RandomizedMEstimatorSampleConsensus represents an implementation of the RMSAC (Randomized M-estimator SAmple Consensus) algorithm, which basically adds a Td,d test (see RandomizedRandomSampleConsensus) to an MSAC estimator (see MEstimatorSampleConsensus).

Note
  RMSAC is useful in situations where most of the data samples belong to the model, and a fast outlier rejection algorithm is needed.

Author
  Radu B. Rusu

Definition at line 56 of file rmsac.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT >

using pcl::RandomizedMEstimatorSampleConsensus< PointT >::ConstPtr = shared_ptr<const RandomizedMEstimatorSampleConsensus<PointT> >

Definition at line 62 of file rmsac.h.

## Ptr

template<typename PointT >

using pcl::RandomizedMEstimatorSampleConsensus< PointT >::Ptr = shared_ptr<RandomizedMEstimatorSampleConsensus<PointT> >

Definition at line 61 of file rmsac.h.

## Constructor & Destructor Documentation

## RandomizedMEstimatorSampleConsensus() [1/2]

template<typename PointT >

pcl::RandomizedMEstimatorSampleConsensus< PointT >::RandomizedMEstimatorSampleConsensus | ( | const SampleConsensusModelPtr & | model | ) |

inline

RMSAC (Randomized M-estimator SAmple Consensus) main constructor.

Parameters

  [in] | model | a Sample Consensus model

Definition at line 76 of file rmsac.h.

References pcl::SampleConsensus< PointT >::max_iterations_.

## RandomizedMEstimatorSampleConsensus() [2/2]

template<typename PointT >

pcl::RandomizedMEstimatorSampleConsensus< PointT >::RandomizedMEstimatorSampleConsensus | ( | const SampleConsensusModelPtr & | model,
|  | double | threshold
| ) |  |

inline

RMSAC (Randomized M-estimator SAmple Consensus) main constructor.

Parameters

  [in] | model | a Sample Consensus model
  [in] | threshold | distance to model threshold

Definition at line 88 of file rmsac.h.

References pcl::SampleConsensus< PointT >::max_iterations_.

## Member Function Documentation

## computeModel()

template<typename PointT >

bool pcl::RandomizedMEstimatorSampleConsensus< PointT >::computeModel | ( | int | debug_verbosity_level = `0` | ) |

override virtual

Compute the actual model and find the inliers.

Parameters

  [in] | debug_verbosity_level | enable/disable on-screen debug information and set the verbosity level

Implements pcl::SampleConsensus< PointT >.

Definition at line 48 of file rmsac.hpp.

References pcl_lrint.

## getFractionNrPretest()

template<typename PointT >

double pcl::RandomizedMEstimatorSampleConsensus< PointT >::getFractionNrPretest | ( |  | ) | const

inline

Get the percentage of points to pre-test.

Definition at line 110 of file rmsac.h.

## setFractionNrPretest()

template<typename PointT >

void pcl::RandomizedMEstimatorSampleConsensus< PointT >::setFractionNrPretest | ( | double | nr_pretest | ) |

inline

Set the percentage of points to pre-test.

Parameters

  [in] | nr_pretest | percentage of points to pre-test

Definition at line 106 of file rmsac.h.

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

- pcl/sample_consensus/rmsac.h
- pcl/sample_consensus/impl/rmsac.hpp