pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 > Class Template Reference
Module filters

StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...

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

Inheritance diagram for pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >:

## Public Member Functions

| StatisticalOutlierRemoval (bool extract_removed_indices=false)
| Empty constructor. More...
void | setMeanK (int nr_k)
| Set the number of points (k) to use for mean distance estimation. More...
int | getMeanK ()
| Get the number of points to use for mean distance estimation. More...
void | setStddevMulThresh (double std_mul)
| Set the standard deviation multiplier threshold. More...
double | getStddevMulThresh ()
| Get the standard deviation multiplier threshold as set by the user. More...
Public Member Functions inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
| FilterIndices (bool extract_removed_indices=false)
| Constructor. More...
| ~FilterIndices ()
| Empty virtual destructor. More...
virtual void | filter (PCLPointCloud2 &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 () const
| 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 () 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. 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< pcl::PCLPointCloud2 >
| Filter (bool extract_removed_indices=false)
| Empty constructor. More...
| ~Filter ()
| Empty destructor. More...
const IndicesConstPtr | getRemovedIndices () const
| Get the point indices being removed. More...
void | getRemovedIndices (PointIndices &pi)
| Get the point indices being removed. More...
void | filter (PCLPointCloud2 &output)
| Calls the filtering method and returns the filtered dataset in output. More...
Public Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
| PCLBase ()
| Empty constructor. More...
virtual | ~PCLBase ()
| destructor. More...
void | setInputCloud (const PCLPointCloud2ConstPtr &cloud)
| Provide a pointer to the input dataset. More...
const PCLPointCloud2ConstPtr | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
const IndicesPtr | getIndices () const
| Get a pointer to the vector of indices used. More...

## Protected Member Functions

void | applyFilter (std::vector< int > &indices) override
| Abstract filter method for point cloud indices. More...
void | applyFilter (PCLPointCloud2 &output) override
| Abstract filter method for point cloud. More...
virtual void | generateStatistics (double &mean, double &variance, double &stddev, std::vector< float > &distances)
| Compute the statistical values used in both applyFilter methods. More...
Protected Member Functions inherited from pcl::Filter< pcl::PCLPointCloud2 >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
Protected Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
bool | initCompute ()
bool | deinitCompute ()

## Protected Attributes

int | mean_k_
| The number of points to use for mean distance estimation. More...
double | std_mul_
| Standard deviations threshold (i.e., points outside of will be marked as outliers). More...
KdTreePtr | tree_
| A pointer to the spatial search object. More...
Protected Attributes inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
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< pcl::PCLPointCloud2 >
IndicesPtr | removed_indices_
| Indices of the points that are removed. More...
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points. More...
std::string | filter_name_
| The filter name. More...
Protected Attributes inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
PCLPointCloud2ConstPtr | 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...
std::vector< int > | field_sizes_
| The size of each individual field. More...
int | x_idx_
| The x-y-z fields indices. More...
int | y_idx_
int | z_idx_
std::string | x_field_name_
| The desired x-y-z field names. More...
std::string | y_field_name_
std::string | z_field_name_

## Additional Inherited Members

Public Types inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
using | PCLPointCloud2 = pcl::PCLPointCloud2
Public Types inherited from pcl::Filter< pcl::PCLPointCloud2 >
using | Ptr = shared_ptr< Filter< pcl::PCLPointCloud2 > >
using | ConstPtr = shared_ptr< const Filter< pcl::PCLPointCloud2 > >
using | PCLPointCloud2 = pcl::PCLPointCloud2
using | PCLPointCloud2Ptr = PCLPointCloud2::Ptr
using | PCLPointCloud2ConstPtr = PCLPointCloud2::ConstPtr
Public Types inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
using | PCLPointCloud2 = pcl::PCLPointCloud2
using | PCLPointCloud2Ptr = PCLPointCloud2::Ptr
using | PCLPointCloud2ConstPtr = PCLPointCloud2::ConstPtr
using | PointIndicesPtr = PointIndices::Ptr
using | PointIndicesConstPtr = PointIndices::ConstPtr

## Detailed Description

### template<>
class pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >

StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data.

For more information check:

- R. B. Rusu, Z. C. Marton, N. Blodow, M. Dolha, and M. Beetz. Towards 3D Point Cloud Based Object Maps for Household Environments Robotics and Autonomous Systems Journal (Special Issue on Semantic Knowledge), 2008.

Note
  setFilterFieldName (), setFilterLimits (), and setFilterLimitNegative () are ignored.

Author
  Radu Bogdan Rusu

Definition at line 200 of file statistical_outlier_removal.h.

## Constructor & Destructor Documentation

## StatisticalOutlierRemoval()

pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::StatisticalOutlierRemoval | ( | bool | extract_removed_indices = `false` | ) |

inline

Empty constructor.

Definition at line 217 of file statistical_outlier_removal.h.

## Member Function Documentation

## applyFilter() [1/2]

void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::applyFilter | ( | PCLPointCloud2 & | output | ) |

override protected virtual

Abstract filter method for point cloud.

Implements pcl::FilterIndices< pcl::PCLPointCloud2 >.

## applyFilter() [2/2]

void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::applyFilter | ( | std::vector< int > & | indices | ) |

override protected virtual

Abstract filter method for point cloud indices.

Implements pcl::FilterIndices< pcl::PCLPointCloud2 >.

## generateStatistics()

virtual void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::generateStatistics | ( | double & | mean,
|  | double & | variance,
|  | double & | stddev,
|  | std::vector< float > & | distances
| ) |  |

protected virtual

Compute the statistical values used in both applyFilter methods.

This method tries to avoid duplicate code.

## getMeanK()

int pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::getMeanK | ( |  | ) |

inline

Get the number of points to use for mean distance estimation.

Definition at line 235 of file statistical_outlier_removal.h.

## getStddevMulThresh()

double pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::getStddevMulThresh | ( |  | ) |

inline

Get the standard deviation multiplier threshold as set by the user.

Definition at line 254 of file statistical_outlier_removal.h.

## setMeanK()

void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::setMeanK | ( | int | nr_k | ) |

inline

Set the number of points (k) to use for mean distance estimation.

Parameters

  nr_k | the number of points to use for mean distance estimation

Definition at line 228 of file statistical_outlier_removal.h.

## setStddevMulThresh()

void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::setStddevMulThresh | ( | double | std_mul | ) |

inline

Set the standard deviation multiplier threshold.

All points outside the

will be considered outliers, where is the estimated mean, and is the standard deviation.

Parameters

  std_mul | the standard deviation multiplier threshold

Definition at line 247 of file statistical_outlier_removal.h.

## Member Data Documentation

## mean_k_

int pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::mean_k_

protected

The number of points to use for mean distance estimation.

Definition at line 261 of file statistical_outlier_removal.h.

## std_mul_

double pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::std_mul_

protected

Standard deviations threshold (i.e., points outside of will be marked as outliers).

Definition at line 266 of file statistical_outlier_removal.h.

## tree_

KdTreePtr pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::tree_

protected

A pointer to the spatial search object.

Definition at line 269 of file statistical_outlier_removal.h.

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

- pcl/filters/statistical_outlier_removal.h