Loading...
Searching...
No Matches
pcl::FilterIndices< pcl::PCLPointCloud2 > Class Referenceabstract
Module filters

FilterIndices represents the base class for filters that are about binary point removal. More...

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

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

## Public Types

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

| 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 Member Functions

virtual void | applyFilter (Indices &indices)=0
| Abstract filter method for point cloud indices.
void | applyFilter (PCLPointCloud2 &output) override=0
| Abstract filter method for point cloud.
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

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

FilterIndices represents the base class for filters that are about binary point removal.

All derived classes have to implement the filter (PointCloud &output) and the filter (Indices &indices) methods. Ideally they also make use of the negative_, keep_organized_ and extract_removed_indices_ systems. The distinguishment between the negative_ and extract_removed_indices_ systems only makes sense if the class automatically filters non-finite entries in the filtering methods (recommended).

Author
  Justin Rosen

Definition at line 195 of file filter_indices.h.

## Member Typedef Documentation

## ConstPtr

using pcl::FilterIndices< pcl::PCLPointCloud2 >::ConstPtr

Definition at line 81 of file filter_indices.h.

## PCLPointCloud2

using pcl::FilterIndices< pcl::PCLPointCloud2 >::PCLPointCloud2 = pcl::PCLPointCloud2

Definition at line 198 of file filter_indices.h.

## PointCloud

using pcl::FilterIndices< pcl::PCLPointCloud2 >::PointCloud

Definition at line 78 of file filter_indices.h.

## Ptr

using pcl::FilterIndices< pcl::PCLPointCloud2 >::Ptr

Definition at line 80 of file filter_indices.h.

## Constructor & Destructor Documentation

## FilterIndices()

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

inline

Constructor.

Parameters

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

Definition at line 203 of file filter_indices.h.

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

Referenced by pcl::CropBox< pcl::PCLPointCloud2 >::CropBox(), pcl::PassThrough< pcl::PCLPointCloud2 >::PassThrough(), pcl::RadiusOutlierRemoval< pcl::PCLPointCloud2 >::RadiusOutlierRemoval(), and pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >::StatisticalOutlierRemoval().

## Member Function Documentation

## applyFilter() [1/2]

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

protected pure virtual

Abstract filter method for point cloud indices.

Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::ExtractIndices< pcl::PCLPointCloud2 >, pcl::PassThrough< pcl::PCLPointCloud2 >, pcl::RadiusOutlierRemoval< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >.

## applyFilter() [2/2]

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

override protected pure virtual

Abstract filter method for point cloud.

Implements pcl::Filter< pcl::PCLPointCloud2 >.

Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::ExtractIndices< pcl::PCLPointCloud2 >, pcl::PassThrough< pcl::PCLPointCloud2 >, pcl::RadiusOutlierRemoval< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::StatisticalOutlierRemoval< pcl::PCLPointCloud2 >.

## filter()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | Indices & | indices | ) |

Calls the filtering method and returns the filtered point cloud indices.

Parameters

  [out] | indices | the resultant filtered point cloud indices

## getKeepOrganized()

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::getKeepOrganized | ( |  | ) | const

inline

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.

Returns
  The value of the internal keep_organized_ parameter; false = remove points (default), true = redefine points, keep structure.

Definition at line 251 of file filter_indices.h.

References keep_organized_.

## getNegative()

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::getNegative | ( |  | ) | const

inline

Get whether the regular conditions for points filtering should apply, or the inverted conditions.

Returns
  The value of the internal negative_ parameter; false = normal filter behavior (default), true = inverted behavior.

Definition at line 231 of file filter_indices.h.

References negative_.

## setKeepOrganized()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setKeepOrganized | ( | bool | keep_organized | ) |

inline

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.

Parameters

  [in] | keep_organized | false = remove points (default), true = redefine points, keep structure.

Definition at line 241 of file filter_indices.h.

References keep_organized_.

## setNegative()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setNegative | ( | bool | negative | ) |

inline

Set whether the regular conditions for points filtering should apply, or the inverted conditions.

Parameters

  [in] | negative | false = normal filter behavior (default), true = inverted behavior.

Definition at line 222 of file filter_indices.h.

References negative_.

## setUserFilterValue()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setUserFilterValue | ( | float | value | ) |

inline

Provide a value that the filtered points should be set to instead of removing them.

Used in conjunction with setKeepOrganized ().

Parameters

  [in] | value | the user given value that the filtered point dimensions should be set to (default = NaN).

Definition at line 261 of file filter_indices.h.

References user_filter_value_.

## Member Data Documentation

## keep_organized_

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::keep_organized_ {false}

protected

False = remove points (default), true = redefine points, keep structure.

Definition at line 272 of file filter_indices.h.

Referenced by getKeepOrganized(), and setKeepOrganized().

## negative_

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::negative_ {false}

protected

False = normal filter behavior (default), true = inverted behavior.

Definition at line 269 of file filter_indices.h.

Referenced by getNegative(), and setNegative().

## user_filter_value_

float pcl::FilterIndices< pcl::PCLPointCloud2 >::user_filter_value_

protected

The user given value that the filtered point dimensions should be set to (default = NaN).

Definition at line 275 of file filter_indices.h.

Referenced by FilterIndices(), and setUserFilterValue().

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

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