pcl::ModelOutlierRemoval< PointT > Class Template Reference

ModelOutlierRemoval filters points in a cloud based on the distance between model and point. More...

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

Inheritance diagram for pcl::ModelOutlierRemoval< PointT >:

## Public Types

typedef pcl::PointCloud< pcl::Normal >::Ptr | PointCloudNPtr
typedef pcl::PointCloud< pcl::Normal >::ConstPtr | PointCloudNConstPtr
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

| ModelOutlierRemoval (bool extract_removed_indices=false)
| Constructor. More...
void | setModelCoefficients (const pcl::ModelCoefficients model_coefficients)
| sets the models coefficients More...
pcl::ModelCoefficients | getModelCoefficients () const
| returns the models coefficients More...
void | setModelType (pcl::SacModel model)
| Set the type of SAC model used. More...
pcl::SacModel | getModelType () const
| Get the type of SAC model used. More...
void | setThreshold (float thresh)
| Set the thresholdfunction. More...
float | getThreshold () const
| Get the thresholdfunction. More...
void | setInputNormals (const PointCloudNConstPtr normals_ptr)
| Set the normals cloud. More...
PointCloudNConstPtr | getInputNormals () const
| Get the normals cloud. More...
void | setNormalDistanceWeight (const double weight)
| Set the normals distance weight. More...
double | getNormalDistanceWeight () const
| get the normal distance weight More...
void | setThresholdFunction (boost::function< bool(double)> thresh)
| Register a different threshold function. More...
template<typename T >
void | setThresholdFunction (bool(T::*thresh_function)(double), T &instance)
| Register a different threshold function. 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 Types

typedef FilterIndices< PointT >::PointCloud | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef SampleConsensusModel< PointT >::Ptr | SampleConsensusModelPtr

## Protected Member Functions

void | applyFilter (PointCloud &output)
| Filtered results are stored in a separate point cloud. More...
void | applyFilter (std::vector< int > &indices)
| Filtered results are indexed by an indices array. More...
void | applyFilterIndices (std::vector< int > &indices)
| Filtered results are indexed by an indices array. More...
bool | checkSingleThreshold (double value)
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

double | normals_distance_weight_
PointCloudNConstPtr | cloud_normals_
SampleConsensusModelPtr | model_
| The model used to calculate distances. More...
float | thresh_
| The threshold used to seperate outliers (removed_indices) from inliers (indices) More...
Eigen::VectorXf | model_coefficients_
| The model coefficients. More...
pcl::SacModel | model_type_
| The type of model to use (user given parameter). More...
boost::function< bool(double)> | threshold_function_
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::ModelOutlierRemoval< PointT >

ModelOutlierRemoval filters points in a cloud based on the distance between model and point.

Iterates through the entire input once, automatically filtering non-finite points and the points outside the model specified by setSampleConsensusModelPointer() and the threshold specified by setThreholdFunctionPointer().
Usage example:

pcl::ModelCoefficients model_coeff;
model_coeff.values.resize(4);
model_coeff.values[0] = 0; model_coeff.values[1] = 0; model_coeff.values[2] = 1.5; model_coeff.values[3] = 0.5;
pcl::ModelOutlierRemoval<pcl::PointXYZ> filter;
filter.setModelCoefficients (model_coeff);
filter.setThreshold (0.1);
filter.setModelType (pcl::SACMODEL_PLANE);
filter.setInputCloud (*cloud_in);
filter.setFilterLimitsNegative (false);
filter.filter (*cloud_out);

Definition at line 69 of file model_outlier_removal.h.

## Member Typedef Documentation

## PointCloud

template<typename PointT>

typedef FilterIndices<PointT>::PointCloud pcl::ModelOutlierRemoval< PointT >::PointCloud

protected

Definition at line 72 of file model_outlier_removal.h.

## PointCloudConstPtr

template<typename PointT>

typedef PointCloud::ConstPtr pcl::ModelOutlierRemoval< PointT >::PointCloudConstPtr

protected

Definition at line 74 of file model_outlier_removal.h.

## PointCloudNConstPtr

template<typename PointT>

typedef pcl::PointCloud<pcl::Normal>::ConstPtr pcl::ModelOutlierRemoval< PointT >::PointCloudNConstPtr

Definition at line 79 of file model_outlier_removal.h.

## PointCloudNPtr

template<typename PointT>

typedef pcl::PointCloud<pcl::Normal>::Ptr pcl::ModelOutlierRemoval< PointT >::PointCloudNPtr

Definition at line 78 of file model_outlier_removal.h.

## PointCloudPtr

template<typename PointT>

typedef PointCloud::Ptr pcl::ModelOutlierRemoval< PointT >::PointCloudPtr

protected

Definition at line 73 of file model_outlier_removal.h.

## SampleConsensusModelPtr

template<typename PointT>

typedef SampleConsensusModel<PointT>::Ptr pcl::ModelOutlierRemoval< PointT >::SampleConsensusModelPtr

protected

Definition at line 75 of file model_outlier_removal.h.

## Constructor & Destructor Documentation

## ModelOutlierRemoval()

template<typename PointT>

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

inline

Constructor.

Parameters

  [in] | extract_removed_indices | Set to true if you want to be able to extract the indices of points being removed (default = false).

Definition at line 85 of file model_outlier_removal.h.

References pcl::Filter< PointT >::filter_name_, pcl::ModelOutlierRemoval< PointT >::normals_distance_weight_, pcl::ModelOutlierRemoval< PointT >::setThresholdFunction(), and pcl::ModelOutlierRemoval< PointT >::thresh_.

## Member Function Documentation

## applyFilter() [1/2]

template<typename PointT >

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

protected virtual

Filtered results are stored in a separate point cloud.

Parameters

  [out] | output | The resultant point cloud.

Implements pcl::FilterIndices< PointT >.

Definition at line 146 of file model_outlier_removal.hpp.

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

Referenced by pcl::ModelOutlierRemoval< PointT >::setThresholdFunction().

## applyFilter() [2/2]

template<typename PointT>

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

inline protected virtual

Filtered results are indexed by an indices array.

Parameters

  [out] | indices | The resultant indices.

Implements pcl::FilterIndices< PointT >.

Definition at line 213 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::applyFilterIndices().

## applyFilterIndices()

template<typename PointT >

void pcl::ModelOutlierRemoval< PointT >::applyFilterIndices | ( | std::vector< int > & | indices | ) |

protected

Filtered results are indexed by an indices array.

Parameters

  [out] | indices | The resultant indices.

Definition at line 171 of file model_outlier_removal.hpp.

References pcl::isFinite().

Referenced by pcl::ModelOutlierRemoval< PointT >::applyFilter().

## checkSingleThreshold()

template<typename PointT>

bool pcl::ModelOutlierRemoval< PointT >::checkSingleThreshold | ( | double | value | ) |

inline protected

Definition at line 242 of file model_outlier_removal.h.

## getInputNormals()

template<typename PointT>

PointCloudNConstPtr pcl::ModelOutlierRemoval< PointT >::getInputNormals | ( |  | ) | const

inline

Get the normals cloud.

Definition at line 154 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::cloud_normals_.

## getModelCoefficients()

template<typename PointT>

pcl::ModelCoefficients pcl::ModelOutlierRemoval< PointT >::getModelCoefficients | ( |  | ) | const

inline

returns the models coefficients

Definition at line 108 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::model_coefficients_, and pcl::ModelCoefficients::values.

## getModelType()

template<typename PointT>

pcl::SacModel pcl::ModelOutlierRemoval< PointT >::getModelType | ( |  | ) | const

inline

Get the type of SAC model used.

Definition at line 126 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::model_type_.

## getNormalDistanceWeight()

template<typename PointT>

double pcl::ModelOutlierRemoval< PointT >::getNormalDistanceWeight | ( |  | ) | const

inline

get the normal distance weight

Definition at line 168 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::normals_distance_weight_.

## getThreshold()

template<typename PointT>

float pcl::ModelOutlierRemoval< PointT >::getThreshold | ( |  | ) | const

inline

Get the thresholdfunction.

Definition at line 140 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::thresh_.

## setInputNormals()

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setInputNormals | ( | const PointCloudNConstPtr | normals_ptr | ) |

inline

Set the normals cloud.

Definition at line 147 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::cloud_normals_.

## setModelCoefficients()

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setModelCoefficients | ( | const pcl::ModelCoefficients | model_coefficients | ) |

inline

sets the models coefficients

Definition at line 96 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::model_coefficients_, and pcl::ModelCoefficients::values.

## setModelType()

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setModelType | ( | pcl::SacModel | model | ) |

inline

Set the type of SAC model used.

Definition at line 119 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::model_type_.

## setNormalDistanceWeight()

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setNormalDistanceWeight | ( | const double | weight | ) |

inline

Set the normals distance weight.

Definition at line 161 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::normals_distance_weight_.

## setThreshold()

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setThreshold | ( | float | thresh | ) |

inline

Set the thresholdfunction.

Definition at line 133 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::thresh_.

## setThresholdFunction() [1/2]

template<typename PointT>

void pcl::ModelOutlierRemoval< PointT >::setThresholdFunction | ( | boost::function< bool(double)> | thresh | ) |

inline

Register a different threshold function.

Parameters

  [in] | thresh | pointer to a threshold function

Definition at line 177 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::threshold_function_.

Referenced by pcl::ModelOutlierRemoval< PointT >::ModelOutlierRemoval(), and pcl::ModelOutlierRemoval< PointT >::setThresholdFunction().

## setThresholdFunction() [2/2]

template<typename PointT>
template<typename T >

void pcl::ModelOutlierRemoval< PointT >::setThresholdFunction | ( | bool(T::*)(double) | thresh_function,
|  | T & | instance
| ) |  |

inline

Register a different threshold function.

Parameters

  [in] | thresh_function | pointer to a threshold function
  [in] | instance |

Definition at line 187 of file model_outlier_removal.h.

References pcl::ModelOutlierRemoval< PointT >::applyFilter(), and pcl::ModelOutlierRemoval< PointT >::setThresholdFunction().

## Member Data Documentation

## cloud_normals_

template<typename PointT>

PointCloudNConstPtr pcl::ModelOutlierRemoval< PointT >::cloud_normals_

protected

Definition at line 226 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::getInputNormals(), and pcl::ModelOutlierRemoval< PointT >::setInputNormals().

## model_

template<typename PointT>

SampleConsensusModelPtr pcl::ModelOutlierRemoval< PointT >::model_

protected

The model used to calculate distances.

Definition at line 229 of file model_outlier_removal.h.

## model_coefficients_

template<typename PointT>

Eigen::VectorXf pcl::ModelOutlierRemoval< PointT >::model_coefficients_

protected

The model coefficients.

Definition at line 235 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::getModelCoefficients(), and pcl::ModelOutlierRemoval< PointT >::setModelCoefficients().

## model_type_

template<typename PointT>

pcl::SacModel pcl::ModelOutlierRemoval< PointT >::model_type_

protected

The type of model to use (user given parameter).

Definition at line 238 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::getModelType(), and pcl::ModelOutlierRemoval< PointT >::setModelType().

## normals_distance_weight_

template<typename PointT>

double pcl::ModelOutlierRemoval< PointT >::normals_distance_weight_

protected

Definition at line 225 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::getNormalDistanceWeight(), pcl::ModelOutlierRemoval< PointT >::ModelOutlierRemoval(), and pcl::ModelOutlierRemoval< PointT >::setNormalDistanceWeight().

## thresh_

template<typename PointT>

float pcl::ModelOutlierRemoval< PointT >::thresh_

protected

The threshold used to seperate outliers (removed_indices) from inliers (indices)

Definition at line 232 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::getThreshold(), pcl::ModelOutlierRemoval< PointT >::ModelOutlierRemoval(), and pcl::ModelOutlierRemoval< PointT >::setThreshold().

## threshold_function_

template<typename PointT>

boost::function<bool (double)> pcl::ModelOutlierRemoval< PointT >::threshold_function_

protected

Definition at line 239 of file model_outlier_removal.h.

Referenced by pcl::ModelOutlierRemoval< PointT >::setThresholdFunction().

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/filters/include/pcl/filters/model_outlier_removal.h
- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/filters/include/pcl/filters/impl/model_outlier_removal.hpp