Public Types | Public Member Functions | Protected Attributes

pcl::SampleConsensus< T > Class Template Reference
[Module sample_consensus]

SampleConsensus represents the base class. More...

#include <pcl/sample_consensus/sac.h>

Collaboration diagram for pcl::SampleConsensus< T >:
Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

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

Protected Attributes

SampleConsensusModelPtr sac_model_
 The underlying data model used (i.e.
std::vector< int > model_
 The model found after the last computeModel () as point cloud indices.
std::vector< int > 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.

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 53 of file sac.h.


Member Typedef Documentation

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

Definition at line 63 of file sac.h.

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

Definition at line 59 of file sac.h.


Constructor & Destructor Documentation

template<typename T>
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr &  model  )  [inline]

Constructor for base SAC.

Parameters:
model a Sample Consensus model

Definition at line 68 of file sac.h.

template<typename T>
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr &  model,
double  threshold 
) [inline]

Constructor for base SAC.

Parameters:
model a Sample Consensus model
threshold distance to model threshold

Definition at line 76 of file sac.h.

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

Destructor for base SAC.

Definition at line 83 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 91 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:
inliers the resultant set of inliers

Definition at line 136 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 99 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:
model the resultant model

Definition at line 131 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:
model_coefficients the resultant model coefficients

Definition at line 141 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 108 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:
indices the input indices vector
nr_samples the desired number of point indices to randomly select
indices_subset the resultant output set of randomly selected indices

Reimplemented in pcl::ProgressiveSampleConsensus< PointT >.

Definition at line 119 of file sac.h.

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

Set the distance to model threshold.

Parameters:
threshold distance to model threshold

Definition at line 88 of file sac.h.

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

Set the maximum number of iterations.

Parameters:
max_iterations maximum number of iterations

Definition at line 96 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:
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 105 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 151 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 160 of file sac.h.

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

Maximum number of iterations before giving up.

Definition at line 166 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 148 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 154 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 157 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 145 of file sac.h.

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

Distance to model threshold.

Definition at line 163 of file sac.h.


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