SampleConsensus represents the base class. More...
#include <pcl/sample_consensus/sac.h>
Public Types | |
using | Ptr = shared_ptr< SampleConsensus< T > > |
using | ConstPtr = shared_ptr< const SampleConsensus< T > > |
Public Member Functions | |
SampleConsensus (const SampleConsensusModelPtr &model, bool random=false) | |
Constructor for base SAC. More... |
|
SampleConsensus (const SampleConsensusModelPtr &model, double threshold, bool random=false) | |
Constructor for base SAC. More... |
|
void | setSampleConsensusModel (const SampleConsensusModelPtr &model) |
Set the Sample Consensus model to use. More... |
|
SampleConsensusModelPtr | getSampleConsensusModel () const |
Get the Sample Consensus model used. More... |
|
virtual | ~SampleConsensus () |
Destructor for base SAC. More... |
|
void | setDistanceThreshold (double threshold) |
Set the distance to model threshold. More... |
|
double | getDistanceThreshold () const |
Get the distance to model threshold, as set by the user. More... |
|
void | setMaxIterations (int max_iterations) |
Set the maximum number of iterations. More... |
|
int | getMaxIterations () const |
Get the maximum number of iterations, as set by the user. More... |
|
void | setProbability (double probability) |
Set the desired probability of choosing at least one sample free from outliers. More... |
|
double | getProbability () const |
Obtain the probability of choosing at least one sample free from outliers, as set by the user. More... |
|
void | setNumberOfThreads (const int nr_threads=-1) |
Set the number of threads to use or turn off parallelization. More... |
|
int | getNumberOfThreads () const |
Get the number of threads, as set by the user. More... |
|
virtual bool | computeModel (int debug_verbosity_level=0)=0 |
Compute the actual model. More... |
|
virtual bool | refineModel (const double sigma=3.0, const unsigned int max_iterations=1000) |
Refine the model found. More... |
|
void | getRandomSamples (const IndicesPtr &indices, std::size_t nr_samples, std::set< index_t > &indices_subset) |
Get a set of randomly selected indices. More... |
|
void | getModel (Indices &model) const |
Return the best model found so far. More... |
|
void | getInliers (Indices &inliers) const |
Return the best set of inliers found so far for this model. More... |
|
void | getModelCoefficients (Eigen::VectorXf &model_coefficients) const |
Return the model coefficients of the best model found so far. More... |
|
Protected Member Functions | |
double | rnd () |
Boost-based random number generator. More... |
|
Protected Attributes | |
SampleConsensusModelPtr | sac_model_ |
The underlying data model used (i.e. More... |
|
Indices | model_ |
The model found after the last computeModel () as point cloud indices. More... |
|
Indices | inliers_ |
The indices of the points that were chosen as inliers after the last computeModel () call. More... |
|
Eigen::VectorXf | model_coefficients_ |
The coefficients of our model computed directly from the model found. More... |
|
double | probability_ |
Desired probability of choosing at least one sample free from outliers. More... |
|
int | iterations_ |
Total number of internal loop iterations that we've done so far. More... |
|
double | threshold_ |
Distance to model threshold. More... |
|
int | max_iterations_ |
Maximum number of iterations before giving up. More... |
|
int | threads_ |
The number of threads the scheduler should use, or a negative number if no parallelization is wanted. More... |
|
boost::mt19937 | rng_alg_ |
Boost-based random number generator algorithm. More... |
|
std::shared_ptr< boost::uniform_01< boost::mt19937 > > | rng_ |
Boost-based random number generator distribution. More... |
|
SampleConsensus represents the base class.
All sample consensus methods must inherit from this class.
using pcl::SampleConsensus< T >::ConstPtr = shared_ptr<const SampleConsensus<T> > |
using pcl::SampleConsensus< T >::Ptr = shared_ptr<SampleConsensus<T> > |
| inline |
| inline |
| inlinevirtual |
| pure virtual |
Compute the actual model.
Pure virtual.
Implemented in pcl::RandomSampleConsensus< PointT >, pcl::RandomizedRandomSampleConsensus< PointT >, pcl::MaximumLikelihoodSampleConsensus< PointT >, pcl::MEstimatorSampleConsensus< PointT >, pcl::LeastMedianSquares< PointT >, pcl::RandomizedMEstimatorSampleConsensus< PointT >, and pcl::ProgressiveSampleConsensus< PointT >.
| inline |
| inline |
| inline |
| inline |
| inline |
Return the model coefficients of the best model found so far.
[out] | model_coefficients | the resultant model coefficients, as documented in Module sample_consensus |
| inline |
| inline |
| inline |
| inline |
| inlinevirtual |
Refine the model found.
This loops over the model coefficients and optimizes them together with the set of inliers, until the change in the set of inliers is minimal.
[in] | sigma | standard deviation multiplier for considering a sample as inlier (Mahalanobis distance) |
[in] | max_iterations | the maxim number of iterations to try to refine in case the inliers keep on changing |
| inlineprotected |
Boost-based random number generator.
Definition at line 354 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getRandomSamples().
| inline |
| inline |
| inline |
Set the number of threads to use or turn off parallelization.
[in] | nr_threads | the number of hardware threads to use (0 sets the value automatically, a negative number turns parallelization off) |
| inline |
| inline |
| protected |
The indices of the points that were chosen as inliers after the last computeModel () call.
Definition at line 326 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getInliers(), and pcl::SampleConsensus< WeightSACPointType >::refineModel().
| protected |
| protected |
Maximum number of iterations before giving up.
Definition at line 341 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getMaxIterations(), and pcl::SampleConsensus< WeightSACPointType >::setMaxIterations().
| protected |
The model found after the last computeModel () as point cloud indices.
Definition at line 323 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getModel().
| protected |
The coefficients of our model computed directly from the model found.
Definition at line 329 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getModelCoefficients(), and pcl::SampleConsensus< WeightSACPointType >::refineModel().
| protected |
Desired probability of choosing at least one sample free from outliers.
Definition at line 332 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getProbability(), and pcl::SampleConsensus< WeightSACPointType >::setProbability().
| protected |
Boost-based random number generator distribution.
Definition at line 350 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::rnd(), and pcl::SampleConsensus< WeightSACPointType >::SampleConsensus().
| protected |
| protected |
The underlying data model used (i.e.
what is it that we attempt to search for).
Definition at line 320 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getSampleConsensusModel(), pcl::SampleConsensus< WeightSACPointType >::refineModel(), and pcl::SampleConsensus< WeightSACPointType >::setSampleConsensusModel().
| protected |
The number of threads the scheduler should use, or a negative number if no parallelization is wanted.
Definition at line 344 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getNumberOfThreads(), and pcl::SampleConsensus< WeightSACPointType >::setNumberOfThreads().
| protected |
Distance to model threshold.
Definition at line 338 of file sac.h.
Referenced by pcl::SampleConsensus< WeightSACPointType >::getDistanceThreshold(), pcl::SampleConsensus< WeightSACPointType >::refineModel(), and pcl::SampleConsensus< WeightSACPointType >::setDistanceThreshold().
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_sample_consensus.html