Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::ProgressiveSampleConsensus Class Reference

RandomSampleConsensus represents an implementation of the RANSAC (RAndom SAmple Consensus) algorithm, as described in: "Matching with PROSAC – Progressive Sample Consensus", Chum, O. More...

#include <pcl/sample_consensus/prosac.h>

Inheritance diagram for pcl::ProgressiveSampleConsensus:
Inheritance graph
[legend]
Collaboration diagram for pcl::ProgressiveSampleConsensus:
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

 ProgressiveSampleConsensus (const SampleConsensusModelPtr &model)
 PROSAC (Progressive SAmple Consensus) main constructor.
 ProgressiveSampleConsensus (const SampleConsensusModelPtr &model, double threshold)
 PROSAC (Progressive SAmple Consensus) main constructor.
bool computeModel (int debug_verbosity_level=0)
 Compute the actual model and find the inliers.
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 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.
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.

Detailed Description

RandomSampleConsensus represents an implementation of the RANSAC (RAndom SAmple Consensus) algorithm, as described in: "Matching with PROSAC – Progressive Sample Consensus", Chum, O.

and Matas, J.G., CVPR, I: 220-226 2005.

Author:
Vincent Rabaud

Member Typedef Documentation

typedef boost::shared_ptr<const SampleConsensus> pcl::SampleConsensus::ConstPtr [inherited]

Definition at line 63 of file sac.h.

typedef boost::shared_ptr<SampleConsensus> pcl::SampleConsensus::Ptr [inherited]

Definition at line 59 of file sac.h.


Constructor & Destructor Documentation

pcl::ProgressiveSampleConsensus::ProgressiveSampleConsensus ( const SampleConsensusModelPtr &  model) [inline]

PROSAC (Progressive SAmple Consensus) main constructor.

Parameters:
modela Sample Consensus model

Definition at line 71 of file prosac.h.

pcl::ProgressiveSampleConsensus::ProgressiveSampleConsensus ( const SampleConsensusModelPtr &  model,
double  threshold 
) [inline]

PROSAC (Progressive SAmple Consensus) main constructor.

Parameters:
modela Sample Consensus model
thresholddistance to model threshold

Definition at line 82 of file prosac.h.


Member Function Documentation

bool pcl::ProgressiveSampleConsensus::computeModel ( int  debug_verbosity_level = 0) [virtual]

Compute the actual model and find the inliers.

Parameters:
debug_verbosity_levelenable/disable on-screen debug information and set the verbosity level

Implements pcl::SampleConsensus< PointT >.

Definition at line 47 of file prosac.hpp.

double pcl::SampleConsensus::getDistanceThreshold ( ) [inline, inherited]

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

Definition at line 91 of file sac.h.

void pcl::SampleConsensus::getInliers ( std::vector< int > &  inliers) [inline, inherited]

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

Parameters:
inliersthe resultant set of inliers

Definition at line 136 of file sac.h.

int pcl::SampleConsensus::getMaxIterations ( ) [inline, inherited]

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

Definition at line 99 of file sac.h.

void pcl::SampleConsensus::getModel ( std::vector< int > &  model) [inline, inherited]

Return the best model found so far.

Parameters:
modelthe resultant model

Definition at line 131 of file sac.h.

void pcl::SampleConsensus::getModelCoefficients ( Eigen::VectorXf &  model_coefficients) [inline, inherited]

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

Parameters:
model_coefficientsthe resultant model coefficients

Definition at line 141 of file sac.h.

double pcl::SampleConsensus::getProbability ( ) [inline, inherited]

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.

void pcl::ProgressiveSampleConsensus::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:
indicesthe input indices vector
nr_samplesthe desired number of point indices to randomly select
indices_subsetthe resultant output set of randomly selected indices

Reimplemented from pcl::SampleConsensus< PointT >.

void pcl::SampleConsensus::setDistanceThreshold ( double  threshold) [inline, inherited]

Set the distance to model threshold.

Parameters:
thresholddistance to model threshold

Definition at line 88 of file sac.h.

void pcl::SampleConsensus::setMaxIterations ( int  max_iterations) [inline, inherited]

Set the maximum number of iterations.

Parameters:
max_iterationsmaximum number of iterations

Definition at line 96 of file sac.h.

void pcl::SampleConsensus::setProbability ( double  probability) [inline, inherited]

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

Parameters:
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 105 of file sac.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines