Loading...
Searching...
No Matches
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

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

## Public Member Functions

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

## Protected Member Functions

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

## Protected Attributes

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

## 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 55 of file random_sample.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT>

using pcl::RandomSample< PointT >::ConstPtr = shared_ptr<const RandomSample<PointT> >

Definition at line 74 of file random_sample.h.

## Ptr

template<typename PointT>

using pcl::RandomSample< PointT >::Ptr = shared_ptr<RandomSample<PointT> >

Definition at line 73 of file random_sample.h.

## Constructor & Destructor Documentation

## RandomSample()

template<typename PointT>

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

inline

Empty constructor.

Definition at line 77 of file random_sample.h.

References pcl::Filter< PointT >::filter_name_, pcl::FilterIndices< PointT >::FilterIndices(), sample_, and seed_.

## Member Function Documentation

## applyFilter()

template<typename PointT>

void pcl::RandomSample< PointT >::applyFilter | ( | Indices & | indices | ) |

override protected virtual

Sample of point indices.

Parameters

  indices | the resultant point cloud indices

Implements pcl::FilterIndices< PointT >.

Definition at line 47 of file random_sample.hpp.

References pcl::Filter< PointT >::extract_removed_indices_, pcl::PCLBase< PointT >::indices_, pcl::FilterIndices< PointT >::negative_, pcl::Filter< PointT >::removed_indices_, sample_, seed_, and unifRand().

## getSample()

template<typename PointT>

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

inline

Get the value of the internal sample parameter.

Definition at line 97 of file random_sample.h.

References sample_.

## getSeed()

template<typename PointT>

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

inline

Get the value of the internal seed parameter.

Definition at line 114 of file random_sample.h.

References seed_.

## setSample()

template<typename PointT>

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

inline

Set number of indices to be sampled.

Parameters

  sample |

Definition at line 89 of file random_sample.h.

References sample_.

Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute(), pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample().

## setSeed()

template<typename PointT>

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

inline

Set seed of random function.

Parameters

  seed |

Definition at line 106 of file random_sample.h.

References seed_.

Referenced by pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute().

## unifRand()

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 136 of file random_sample.h.

Referenced by applyFilter().

## Member Data Documentation

## sample_

template<typename PointT>

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

protected

Number of indices that will be returned.

Definition at line 122 of file random_sample.h.

Referenced by applyFilter(), getSample(), RandomSample(), and setSample().

## seed_

template<typename PointT>

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

protected

Random number seed.

Definition at line 124 of file random_sample.h.

Referenced by applyFilter(), getSeed(), RandomSample(), and setSeed().

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

- pcl/filters/random_sample.h
- pcl/filters/impl/random_sample.hpp