pcl::RandomSample< PointT > Class Template Reference
Module filters

RandomSample applies a random sampling with uniform probability. More...

`#include <pcl/filters/random_sample.h>`

Inheritance diagram for pcl::RandomSample< PointT >:

## Public Types

typedef boost::shared_ptr< RandomSample< PointT > > | Ptr
typedef boost::shared_ptr< const RandomSample< PointT > > | ConstPtr
Public Types inherited from pcl::FilterIndices< PointT >
typedef pcl::PointCloud< PointT > | PointCloud
typedef boost::shared_ptr< FilterIndices< PointT > > | Ptr
typedef boost::shared_ptr< const FilterIndices< PointT > > | ConstPtr
Public Types inherited from pcl::Filter< PointT >
typedef boost::shared_ptr< Filter< PointT > > | Ptr
typedef boost::shared_ptr< const Filter< PointT > > | ConstPtr
typedef pcl::PointCloud< PointT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
Public Types inherited from pcl::PCLBase< PointT >
typedef pcl::PointCloud< PointT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr

## Public Member Functions

| RandomSample (bool extract_removed_indices=false)
| Empty constructor. More...
void | setSample (unsigned int sample)
| Set number of indices to be sampled. More...
unsigned int | getSample ()
| Get the value of the internal sample parameter. More...
void | setSeed (unsigned int seed)
| Set seed of random function. More...
unsigned int | getSeed ()
| Get the value of the internal seed parameter. More...
Public Member Functions inherited from pcl::FilterIndices< PointT >
| FilterIndices (bool extract_removed_indices=false)
| Constructor. More...
virtual | ~FilterIndices ()
| Empty virtual destructor. More...
void | filter (PointCloud &output)
void | filter (std::vector< int > &indices)
| Calls the filtering method and returns the filtered point cloud indices. More...
void | setNegative (bool negative)
| Set whether the regular conditions for points filtering should apply, or the inverted conditions. More...
bool | getNegative ()
| Get whether the regular conditions for points filtering should apply, or the inverted conditions. More...
void | setKeepOrganized (bool keep_organized)
| Set whether the filtered points should be kept and set to the value given through setUserFilterValue (default: NaN), or removed from the PointCloud, thus potentially breaking its organized structure. More...
bool | getKeepOrganized ()
| Get whether the filtered points should be kept and set to the value given through setUserFilterValue (default = NaN), or removed from the PointCloud, thus potentially breaking its organized structure. More...
void | setUserFilterValue (float value)
| Provide a value that the filtered points should be set to instead of removing them. More...
Public Member Functions inherited from pcl::Filter< PointT >
| Filter (bool extract_removed_indices=false)
| Empty constructor. More...
virtual | ~Filter ()
| Empty destructor. More...
IndicesConstPtr const | getRemovedIndices ()
| Get the point indices being removed. More...
void | getRemovedIndices (PointIndices &pi)
| Get the point indices being removed. More...
void | filter (PointCloud &output)
| Calls the filtering method and returns the filtered dataset in output. More...
Public Member Functions inherited from pcl::PCLBase< PointT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()
| Destructor. More...
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset. More...
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr const | getIndices ()
| Get a pointer to the vector of indices used. More...
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used. More...
const PointT & | operator[] (size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Member Functions

void | applyFilter (PointCloud &output)
| Sample of point indices into a separate PointCloud. More...
void | applyFilter (std::vector< int > &indices)
| Sample of point indices. More...
float | unifRand ()
| Return a random number fast using a LCG (Linear Congruential Generator) algorithm. More...
Protected Member Functions inherited from pcl::Filter< PointT >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
Protected Member Functions inherited from pcl::PCLBase< PointT >
bool | initCompute ()
| This method should get called before starting the actual computation. More...
bool | deinitCompute ()
| This method should get called after finishing the actual computation. More...

## Protected Attributes

unsigned int | sample_
| Number of indices that will be returned. More...
unsigned int | seed_
| Random number seed. More...
Protected Attributes inherited from pcl::FilterIndices< PointT >
bool | negative_
| False = normal filter behavior (default), true = inverted behavior. More...
bool | keep_organized_
| False = remove points (default), true = redefine points, keep structure. More...
float | user_filter_value_
| The user given value that the filtered point dimensions should be set to (default = NaN). More...
Protected Attributes inherited from pcl::Filter< PointT >
IndicesPtr | removed_indices_
| Indices of the points that are removed. More...
std::string | filter_name_
| The filter name. More...
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points. More...
Protected Attributes inherited from pcl::PCLBase< PointT >
PointCloudConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

## Detailed Description

### template<typename PointT>
class pcl::RandomSample< PointT >

RandomSample applies a random sampling with uniform probability.

Based off Algorithm A from the paper "Faster Methods for Random Sampling" by Jeffrey Scott Vitter. The algorithm runs in O(N) and results in sorted indices http://www.ittc.ku.edu/~jsv/Papers/Vit84.sampling.pdf

Author
  Justin Rosen

Definition at line 56 of file random_sample.h.

## Member Typedef Documentation

template<typename PointT>

typedef boost::shared_ptr< const RandomSample<PointT> > pcl::RandomSample< PointT >::ConstPtr

Definition at line 75 of file random_sample.h.

template<typename PointT>

typedef boost::shared_ptr< RandomSample<PointT> > pcl::RandomSample< PointT >::Ptr

Definition at line 74 of file random_sample.h.

## Constructor & Destructor Documentation

template<typename PointT>

pcl::RandomSample< PointT >::RandomSample | ( | bool | extract_removed_indices = `false` | ) |

inline

Empty constructor.

Definition at line 78 of file random_sample.h.

## Member Function Documentation

template<typename PointT >

void pcl::RandomSample< PointT >::applyFilter | ( | PointCloud & | output | ) |

protected virtual

Sample of point indices into a separate PointCloud.

Parameters

  output | the resultant point cloud

Implements pcl::FilterIndices< PointT >.

Definition at line 48 of file random_sample.hpp.

References pcl::copyPointCloud(), pcl::getFields(), and pcl::PointCloud< PointT >::is_dense.

template<typename PointT >

void pcl::RandomSample< PointT >::applyFilter | ( | std::vector< int > & | indices | ) |

protected virtual

Sample of point indices.

Parameters

  indices | the resultant point cloud indices

Implements pcl::FilterIndices< PointT >.

Definition at line 93 of file random_sample.hpp.

template<typename PointT>

unsigned int pcl::RandomSample< PointT >::getSample | ( |  | ) |

inline

Get the value of the internal sample parameter.

Definition at line 98 of file random_sample.h.

template<typename PointT>

unsigned int pcl::RandomSample< PointT >::getSeed | ( |  | ) |

inline

Get the value of the internal seed parameter.

Definition at line 115 of file random_sample.h.

template<typename PointT>

void pcl::RandomSample< PointT >::setSample | ( | unsigned int | sample | ) |

inline

Set number of indices to be sampled.

Parameters

  sample |

Definition at line 90 of file random_sample.h.

template<typename PointT>

void pcl::RandomSample< PointT >::setSeed | ( | unsigned int | seed | ) |

inline

Set seed of random function.

Parameters

  seed |

Definition at line 107 of file random_sample.h.

template<typename PointT>

float pcl::RandomSample< PointT >::unifRand | ( |  | ) |

inline protected

Return a random number fast using a LCG (Linear Congruential Generator) algorithm.

See http://software.intel.com/en-us/articles/fast-random-number-generator-on-the-intel-pentiumr-4-processor/ for more information.

Definition at line 143 of file random_sample.h.

## Member Data Documentation

template<typename PointT>

unsigned int pcl::RandomSample< PointT >::sample_

protected

Number of indices that will be returned.

Definition at line 123 of file random_sample.h.

Referenced by pcl::RandomSample< pcl::pcl::PCLPointCloud2 >::getSample(), pcl::RandomSample< pcl::PCLPointCloud2 >::getSample(), pcl::RandomSample< pcl::pcl::PCLPointCloud2 >::setSample(), and pcl::RandomSample< pcl::PCLPointCloud2 >::setSample().

template<typename PointT>

unsigned int pcl::RandomSample< PointT >::seed_

protected

Random number seed.

Definition at line 125 of file random_sample.h.

Referenced by pcl::RandomSample< pcl::pcl::PCLPointCloud2 >::getSeed(), pcl::RandomSample< pcl::PCLPointCloud2 >::getSeed(), pcl::RandomSample< pcl::pcl::PCLPointCloud2 >::setSeed(), and pcl::RandomSample< pcl::PCLPointCloud2 >::setSeed().

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

- /build/pcl-0nnAvv/pcl-1.7.2/filters/include/pcl/filters/random_sample.h
- /build/pcl-0nnAvv/pcl-1.7.2/filters/include/pcl/filters/impl/random_sample.hpp