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 Types

using | Ptr
using | ConstPtr
Public Types inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
using | PCLPointCloud2 = pcl::PCLPointCloud2
using | PointCloud
using | Ptr
using | ConstPtr
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
using | PointCloud
using | PointCloudPtr
using | PointCloudConstPtr
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
using | PointCloud
using | PointCloudPtr
using | PointCloudConstPtr

## 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.
void | setSearchMethod (const SearcherPtr &searcher)
| Provide a pointer to the search object.
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.
const pcl::PCLPointCloud2 & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code.

## Protected Types

using | PointCloud
using | PointCloudPtr
using | PointCloudConstPtr
using | SearcherPtr

## 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.
void | applyFilterIndices (Indices &indices)
| Filtered results are indexed by an indices array.
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_

## 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 198 of file statistical_outlier_removal.h.

## Member Typedef Documentation

## ConstPtr

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::ConstPtr

Definition at line 92 of file statistical_outlier_removal.h.

## PointCloud

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::PointCloud

protected

Definition at line 84 of file statistical_outlier_removal.h.

## PointCloudConstPtr

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::PointCloudConstPtr

protected

Definition at line 86 of file statistical_outlier_removal.h.

## PointCloudPtr

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::PointCloudPtr

protected

Definition at line 85 of file statistical_outlier_removal.h.

## Ptr

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::Ptr

Definition at line 91 of file statistical_outlier_removal.h.

## SearcherPtr

using pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::SearcherPtr

protected

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

References pcl::Filter< pcl::PCLPointCloud2 >::filter_name_, and pcl::FilterIndices< pcl::PCLPointCloud2 >::FilterIndices().

## 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 >.

## applyFilterIndices()

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

protected

Filtered results are indexed by an indices array.

Parameters

  [out] | indices | The resultant indices.

Definition at line 174 of file statistical_outlier_removal.hpp.

## 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 232 of file statistical_outlier_removal.h.

References mean_k_.

## getStddevMulThresh()

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

inline

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

Definition at line 251 of file statistical_outlier_removal.h.

References std_mul_.

## 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 225 of file statistical_outlier_removal.h.

References mean_k_.

## setSearchMethod()

void pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::setSearchMethod | ( | const SearcherPtr & | searcher | ) |

inline

Provide a pointer to the search object.

Calling this is optional. If not called, the search method will be chosen automatically.

Parameters

  [in] | searcher | a pointer to the spatial search object.

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

References std_mul_.

## 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 258 of file statistical_outlier_removal.h.

Referenced by getMeanK(), and setMeanK().

## 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 263 of file statistical_outlier_removal.h.

Referenced by getStddevMulThresh(), and setStddevMulThresh().

## tree_

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

protected

A pointer to the spatial search object.

Definition at line 266 of file statistical_outlier_removal.h.

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

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