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

## Protected Member Functions

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

## Protected Attributes

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

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.

Author
  Radu Bogdan Rusu

Definition at line 197 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 214 of file statistical_outlier_removal.h.

## Member Function Documentation

## applyFilter() [1/2]

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

override protected virtual

Abstract filter method for point cloud indices.

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

## applyFilter() [2/2]

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

override protected virtual

Abstract filter method for point cloud.

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 231 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 250 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 224 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 243 of file statistical_outlier_removal.h.

## Member Data Documentation

## mean_k_

int pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::mean_k_ {2}

protected

The number of points to use for mean distance estimation.

Definition at line 257 of file statistical_outlier_removal.h.

## std_mul_

double pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::std_mul_ {0.0}

protected

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

Definition at line 262 of file statistical_outlier_removal.h.

## tree_

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

protected

A pointer to the spatial search object.

Definition at line 265 of file statistical_outlier_removal.h.

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

- pcl/filters/statistical_outlier_removal.h