 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, st8b7c:f320:99b9:690f:4595:cd17:293a:c069size_t nr_samples, st8b7c:f320:99b9:690f:4595:cd17:293a:c069set< 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 (Eigen8b7c:f320:99b9:690f:4595:cd17:293a:c069VectorXf &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...

   
Eigen8b7c:f320:99b9:690f:4595:cd17:293a:c069VectorXf 
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...

   
boost8b7c:f320:99b9:690f:4595:cd17:293a:c069mt19937 
rng_alg_
 
 
Boost-based random number generator algorithm. More...

   
st8b7c:f320:99b9:690f:4595:cd17:293a:c069shared_ptr< boost8b7c:f320:99b9:690f:4595:cd17:293a:c069uniform_01< boost8b7c:f320:99b9:690f:4595:cd17:293a:c069mt19937 > > 
rng_
 
 
Boost-based random number generator distribution. More...

    Detailed Description 
template<typename T> class pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T > SampleConsensus represents the base class.  All sample consensus methods must inherit from this class. 

Author
Radu Bogdan Rusu 
 Definition at line 60 of file sac.h. 
Member Typedef Documentation  ConstPtr    template<typename T >    using pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069onstPtr = shared_ptr<const SampleConsensus<T> >   
 Definition at line 70 of file sac.h.    Ptr    template<typename T >    using pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069Ptr = shared_ptr<SampleConsensus<T> >   
 Definition at line 69 of file sac.h.   Constructor & Destructor Documentation  SampleConsensus() [1/2]
    template<typename T >       
pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus  ( const SampleConsensusModelPtr &  
model,      bool  
random = false     ) 
     inline    
 Constructor for base SAC.  
Parameters
  
[in]
model
a Sample Consensus model 
 
[in]
random
if true set the random seed to the current time, else set to 12345 (default: false) 
    Definition at line 77 of file sac.h.    SampleConsensus() [2/2]
    template<typename T >       
pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus  ( const SampleConsensusModelPtr &  
model,      double  
threshold,      bool  
random = false     ) 
     inline    
 Constructor for base SAC.  
Parameters
  
[in]
model
a Sample Consensus model 
 
[in]
threshold
distance to model threshold 
 
[in]
random
if true set the random seed to the current time, else set to 12345 (default: false) 
    Definition at line 98 of file sac.h.    ~SampleConsensus()    template<typename T >       virtual pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069~SampleConsensus  ( 
)      inlinevirtual    
 Destructor for base SAC.  Definition at line 133 of file sac.h.   Member Function Documentation  computeModel()    template<typename T >       virtual bool pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069omputeModel  ( int  
debug_verbosity_level = 0

)      pure virtual    
 Compute the actual model.  Pure virtual.  Implemented in pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069RandomSampleConsensus< PointT >, pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069RandomizedRandomSampleConsensus< PointT >, pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069MaximumLikelihoodSampleConsensus< PointT >, pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069MEstimatorSampleConsensus< PointT >, pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069LeastMedianSquares< PointT >, pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069RandomizedMEstimatorSampleConsensus< PointT >, and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069ProgressiveSampleConsensus< PointT >.    getDistanceThreshold()    template<typename T >       double pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getDistanceThreshold  ( 
)  const     inline    
 Get the distance to model threshold, as set by the user.  Definition at line 143 of file sac.h.    getInliers()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getInliers  ( 
Indices &  inliers
)  const     inline    
 Return the best set of inliers found so far for this model.  
Parameters
  
[out]
inliers
the resultant set of inliers 
    Definition at line 310 of file sac.h.    getMaxIterations()    template<typename T >       int pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getMaxIterations  ( 
)  const     inline    
 Get the maximum number of iterations, as set by the user.  Definition at line 153 of file sac.h.    getModel()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getModel  ( 
Indices &  model
)  const     inline    
 Return the best model found so far.  
Parameters
  
[out]
model
the resultant model 
    Definition at line 304 of file sac.h.    getModelCoefficients()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getModelCoefficients  ( Eigen8b7c:f320:99b9:690f:4595:cd17:293a:c069VectorXf &  model_coefficients
)  const     inline    
 Return the model coefficients of the best model found so far.  
Parameters
  
[out]
model_coefficients
the resultant model coefficients, as documented in Module sample_consensus 
    Definition at line 316 of file sac.h.    getNumberOfThreads()    template<typename T >       int pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getNumberOfThreads  ( 
)  const     inline    
 Get the number of threads, as set by the user.  Definition at line 175 of file sac.h.    getProbability()    template<typename T >       double pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getProbability  ( 
)  const     inline    
 Obtain the probability of choosing at least one sample free from outliers, as set by the user.  Definition at line 164 of file sac.h.    getRandomSamples()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getRandomSamples  ( const IndicesPtr &  
indices,      st8b7c:f320:99b9:690f:4595:cd17:293a:c069size_t  
nr_samples,      st8b7c:f320:99b9:690f:4595:cd17:293a:c069set< index_t > &  
indices_subset     ) 
     inline    
 Get a set of randomly selected indices.  
Parameters
  
[in]
indices
the input indices vector 
 
[in]
nr_samples
the desired number of point indices to randomly select 
 
[out]
indices_subset
the resultant output set of randomly selected indices 
    Definition at line 290 of file sac.h.    getSampleConsensusModel()    template<typename T >       SampleConsensusModelPtr pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069getSampleConsensusModel  ( 
)  const     inline    
 Get the Sample Consensus model used.  Definition at line 127 of file sac.h.    refineModel()    template<typename T >       virtual bool pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069refineModel  ( const double  
sigma = 3.0,      const unsigned int  
max_iterations = 1000     ) 
     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. 

Parameters
  
[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 
    Definition at line 189 of file sac.h.    rnd()    template<typename T >       double pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069rnd  ( 
)      inlineprotected    
 Boost-based random number generator.  Definition at line 354 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getRandomSamples().    setDistanceThreshold()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069setDistanceThreshold  ( double  threshold
)      inline    
 Set the distance to model threshold.  
Parameters
  
[in]
threshold
distance to model threshold 
    Definition at line 139 of file sac.h.    setMaxIterations()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069setMaxIterations  ( int  max_iterations
)      inline    
 Set the maximum number of iterations.  
Parameters
  
[in]
max_iterations
maximum number of iterations 
    Definition at line 149 of file sac.h.    setNumberOfThreads()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069setNumberOfThreads  ( const int  
nr_threads = -1

)      inline    
 Set the number of threads to use or turn off parallelization.  
Parameters
  
[in]
nr_threads
the number of hardware threads to use (0 sets the value automatically, a negative number turns parallelization off) 
    
Note
Not all SAC methods have a parallel implementation. Some will ignore this setting. 
 Definition at line 171 of file sac.h.    setProbability()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069setProbability  ( double  probability
)      inline    
 Set the desired probability of choosing at least one sample free from outliers.  
Parameters
  
[in]
probability
the desired probability of choosing at least one sample free from outliers 
    
Note
internally, the probability is set to 99% (0.99) by default. 
 Definition at line 160 of file sac.h.    setSampleConsensusModel()    template<typename T >       void pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069setSampleConsensusModel  ( const SampleConsensusModelPtr &  model
)      inline    
 Set the Sample Consensus model to use.  
Parameters
  
[in]
model
a Sample Consensus model 
    Definition at line 120 of file sac.h.   Member Data Documentation  inliers_    template<typename T >       
Indices pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069inliers_     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 pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getInliers(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069refineModel().    iterations_    template<typename T >       int pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069iterations_     protected    
 Total number of internal loop iterations that we've done so far.  Definition at line 335 of file sac.h.    max_iterations_    template<typename T >       int pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069max_iterations_     protected    
 Maximum number of iterations before giving up.  Definition at line 341 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getMaxIterations(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069setMaxIterations().    model_    template<typename T >       
Indices pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069model_     protected    
 The model found after the last computeModel () as point cloud indices.  Definition at line 323 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getModel().    model_coefficients_    template<typename T >       Eigen8b7c:f320:99b9:690f:4595:cd17:293a:c069VectorXf pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069model_coefficients_     protected    
 The coefficients of our model computed directly from the model found.  Definition at line 329 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getModelCoefficients(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069refineModel().    probability_    template<typename T >       double pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069probability_     protected    
 Desired probability of choosing at least one sample free from outliers.  Definition at line 332 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getProbability(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069setProbability().    rng_    template<typename T >       st8b7c:f320:99b9:690f:4595:cd17:293a:c069shared_ptr<boost8b7c:f320:99b9:690f:4595:cd17:293a:c069uniform_01<boost8b7c:f320:99b9:690f:4595:cd17:293a:c069mt19937> > pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069rng_     protected    
 Boost-based random number generator distribution.  Definition at line 350 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069rnd(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus().    rng_alg_    template<typename T >       boost8b7c:f320:99b9:690f:4595:cd17:293a:c069mt19937 pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069rng_alg_     protected    
 Boost-based random number generator algorithm.  Definition at line 347 of file sac.h.    sac_model_    template<typename T >       SampleConsensusModelPtr pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069sac_model_     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 pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getSampleConsensusModel(), pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069refineModel(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069setSampleConsensusModel().    threads_    template<typename T >       int pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069threads_     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 pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getNumberOfThreads(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069setNumberOfThreads().    threshold_    template<typename T >       double pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< T >8b7c:f320:99b9:690f:4595:cd17:293a:c069threshold_     protected    
 Distance to model threshold.  Definition at line 338 of file sac.h. Referenced by pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069getDistanceThreshold(), pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069refineModel(), and pcl8b7c:f320:99b9:690f:4595:cd17:293a:c069SampleConsensus< WeightSACPointType >8b7c:f320:99b9:690f:4595:cd17:293a:c069setDistanceThreshold().   The documentation for this class was generated from the following file: pcl/sample_consensus/sac.h
  

    © 2009–2012, Willow Garage, Inc.
{'path': 'public/docs/point_cloud_library/classpcl_1_1_sample_consensus.html', 'source': 'DevDocs.IO'}