Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions
pcl::SampleConsensus< T > Class Template Reference

SampleConsensus represents the base class. All sample consensus methods must inherit from this class. More...

#include <sac.h>

List of all members.

Public Types

typedef boost::shared_ptr
< const SampleConsensus
ConstPtr
typedef boost::shared_ptr
< SampleConsensus
Ptr

Public Member Functions

virtual bool computeModel (int debug_verbosity_level=0)=0
 Compute the actual model. Pure virtual.
double getDistanceThreshold ()
 Get the distance to model threshold, as set by the user.
void getInliers (std::vector< int > &inliers)
 Return the best set of inliers found so far for this model.
int getMaxIterations ()
 Get the maximum number of iterations, as set by the user.
void getModel (std::vector< int > &model)
 Return the best model found so far.
void getModelCoefficients (Eigen::VectorXf &model_coefficients)
 Return the model coefficients of the best model found so far.
double getProbability ()
 Obtain the probability of choosing at least one sample free from outliers, as set by the user.
void getRandomSamples (const boost::shared_ptr< std::vector< int > > &indices, size_t nr_samples, std::set< int > &indices_subset)
 Get a set of randomly selected indices.
 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 setDistanceThreshold (double threshold)
 Set the distance to model threshold.
void setMaxIterations (int max_iterations)
 Set the maximum number of iterations.
void setProbability (double probability)
 Set the desired probability of choosing at least one sample free from outliers.
virtual ~SampleConsensus ()
 Destructor for base SAC.

Protected Member Functions

double rnd ()
 Boost-based random number generator.

Protected Attributes

std::vector< int > inliers_
 The indices of the points that were chosen as inliers after the last computeModel () call.
int iterations_
 Total number of internal loop iterations that we've done so far.
int max_iterations_
 Maximum number of iterations before giving up.
std::vector< int > model_
 The model found after the last computeModel () as point cloud indices.
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.
boost::shared_ptr
< boost::uniform_01
< boost::mt19937 > > 
rng_
 Boost-based random number generator distribution.
boost::mt19937 rng_alg_
 Boost-based random number generator algorithm.
SampleConsensusModelPtr sac_model_
 The underlying data model used (i.e. what is it that we attempt to search for).
double threshold_
 Distance to model threshold.

Private Types

typedef SampleConsensusModel
< T >::Ptr 
SampleConsensusModelPtr

Private Member Functions

 SampleConsensus ()
 Constructor for base SAC.

Detailed Description

template<typename T>
class pcl::SampleConsensus< T >

SampleConsensus represents the base class. All sample consensus methods must inherit from this class.

Author:
Radu Bogdan Rusu

Definition at line 55 of file sac.h.


Member Typedef Documentation

template<typename T>
typedef boost::shared_ptr<const SampleConsensus> pcl::SampleConsensus< T >::ConstPtr

Definition at line 65 of file sac.h.

template<typename T>
typedef boost::shared_ptr<SampleConsensus> pcl::SampleConsensus< T >::Ptr

Definition at line 61 of file sac.h.

template<typename T>
typedef SampleConsensusModel<T>::Ptr pcl::SampleConsensus< T >::SampleConsensusModelPtr [private]

Constructor & Destructor Documentation

template<typename T>
pcl::SampleConsensus< T >::SampleConsensus ( ) [inline, private]

Constructor for base SAC.

Definition at line 61 of file sac.h.

template<typename T>
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr model,
bool  random = false 
) [inline]

Constructor for base SAC.

Parameters:
[in]modela Sample Consensus model
[in]randomif true set the random seed to the current time, else set to 12345 (default: false)

Definition at line 71 of file sac.h.

template<typename T>
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr model,
double  threshold,
bool  random = false 
) [inline]

Constructor for base SAC.

Parameters:
[in]modela Sample Consensus model
[in]thresholddistance to model threshol
[in]randomif true set the random seed to the current time, else set to 12345 (default: false)

Definition at line 95 of file sac.h.

template<typename T>
virtual pcl::SampleConsensus< T >::~SampleConsensus ( ) [inline, virtual]

Destructor for base SAC.

Definition at line 115 of file sac.h.


Member Function Documentation

template<typename T>
virtual bool pcl::SampleConsensus< T >::computeModel ( int  debug_verbosity_level = 0) [pure virtual]
template<typename T>
double pcl::SampleConsensus< T >::getDistanceThreshold ( ) [inline]

Get the distance to model threshold, as set by the user.

Definition at line 125 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::getInliers ( std::vector< int > &  inliers) [inline]

Return the best set of inliers found so far for this model.

Parameters:
[out]inliersthe resultant set of inliers

Definition at line 178 of file sac.h.

template<typename T>
int pcl::SampleConsensus< T >::getMaxIterations ( ) [inline]

Get the maximum number of iterations, as set by the user.

Definition at line 135 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::getModel ( std::vector< int > &  model) [inline]

Return the best model found so far.

Parameters:
[out]modelthe resultant model

Definition at line 172 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::getModelCoefficients ( Eigen::VectorXf &  model_coefficients) [inline]

Return the model coefficients of the best model found so far.

Parameters:
[out]model_coefficientsthe resultant model coefficients

Definition at line 184 of file sac.h.

template<typename T>
double pcl::SampleConsensus< T >::getProbability ( ) [inline]

Obtain the probability of choosing at least one sample free from outliers, as set by the user.

Definition at line 146 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::getRandomSamples ( const boost::shared_ptr< std::vector< int > > &  indices,
size_t  nr_samples,
std::set< int > &  indices_subset 
) [inline]

Get a set of randomly selected indices.

Parameters:
[in]indicesthe input indices vector
[in]nr_samplesthe desired number of point indices to randomly select
[out]indices_subsetthe resultant output set of randomly selected indices

Definition at line 158 of file sac.h.

template<typename T>
double pcl::SampleConsensus< T >::rnd ( ) [inline, protected]

Boost-based random number generator.

Definition at line 219 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::setDistanceThreshold ( double  threshold) [inline]

Set the distance to model threshold.

Parameters:
[in]thresholddistance to model threshold

Definition at line 121 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::setMaxIterations ( int  max_iterations) [inline]

Set the maximum number of iterations.

Parameters:
[in]max_iterationsmaximum number of iterations

Definition at line 131 of file sac.h.

template<typename T>
void pcl::SampleConsensus< T >::setProbability ( double  probability) [inline]

Set the desired probability of choosing at least one sample free from outliers.

Parameters:
[in]probabilitythe 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 142 of file sac.h.


Member Data Documentation

template<typename T>
std::vector<int> pcl::SampleConsensus< T >::inliers_ [protected]

The indices of the points that were chosen as inliers after the last computeModel () call.

Definition at line 194 of file sac.h.

template<typename T>
int pcl::SampleConsensus< T >::iterations_ [protected]

Total number of internal loop iterations that we've done so far.

Definition at line 203 of file sac.h.

template<typename T>
int pcl::SampleConsensus< T >::max_iterations_ [protected]

Maximum number of iterations before giving up.

Definition at line 209 of file sac.h.

template<typename T>
std::vector<int> pcl::SampleConsensus< T >::model_ [protected]

The model found after the last computeModel () as point cloud indices.

Definition at line 191 of file sac.h.

template<typename T>
Eigen::VectorXf pcl::SampleConsensus< T >::model_coefficients_ [protected]

The coefficients of our model computed directly from the model found.

Definition at line 197 of file sac.h.

template<typename T>
double pcl::SampleConsensus< T >::probability_ [protected]

Desired probability of choosing at least one sample free from outliers.

Definition at line 200 of file sac.h.

template<typename T>
boost::shared_ptr<boost::uniform_01<boost::mt19937> > pcl::SampleConsensus< T >::rng_ [protected]

Boost-based random number generator distribution.

Definition at line 215 of file sac.h.

template<typename T>
boost::mt19937 pcl::SampleConsensus< T >::rng_alg_ [protected]

Boost-based random number generator algorithm.

Definition at line 212 of file sac.h.

template<typename T>
SampleConsensusModelPtr pcl::SampleConsensus< T >::sac_model_ [protected]

The underlying data model used (i.e. what is it that we attempt to search for).

Definition at line 188 of file sac.h.

template<typename T>
double pcl::SampleConsensus< T >::threshold_ [protected]

Distance to model threshold.

Definition at line 206 of file sac.h.


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


pcl
Author(s): Open Perception
autogenerated on Mon Oct 6 2014 03:20:08