Loading...
Searching...
No Matches
pcl::FilterIndices< PointT > Class Template 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< PointT >:

## Public Types

using | PointCloud = pcl::PointCloud<PointT>
using | Ptr = shared_ptr<FilterIndices<PointT> >
using | ConstPtr = shared_ptr<const FilterIndices<PointT> >
Public Types inherited from pcl::Filter< PointT >
using | Ptr = shared_ptr<Filter<PointT> >
using | ConstPtr = shared_ptr<const Filter<PointT> >
using | PointCloud = pcl::PointCloud<PointT>
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
Public Types inherited from pcl::PCLBase< PointT >
using | PointCloud = pcl::PointCloud<PointT>
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
using | PointIndicesPtr = PointIndices::Ptr
using | PointIndicesConstPtr = PointIndices::ConstPtr

## 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< PointT >
| 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 (PointCloud &output)
| Calls the filtering method and returns the filtered dataset in output.
Public Member Functions inherited from pcl::PCLBase< PointT >
| PCLBase ()
| Empty constructor.
| PCLBase (const PCLBase &base)
| Copy constructor.
virtual | ~PCLBase ()=default
| Destructor.
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset.
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset.
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud.
IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used.
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used.
const PointT & | 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 (PointCloud &output) override
| Abstract filter method for point cloud.
Protected Member Functions inherited from pcl::Filter< PointT >
const std::string & | getClassName () const
| Get a string representation of the name of this class.
Protected Member Functions inherited from pcl::PCLBase< PointT >
bool | initCompute ()
| This method should get called before starting the actual computation.
bool | deinitCompute ()
| This method should get called after finishing the actual computation.

## 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< PointT >
IndicesPtr | removed_indices_
| Indices of the points that are removed.
std::string | filter_name_
| The filter name.
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points.
Protected Attributes inherited from pcl::PCLBase< PointT >
PointCloudConstPtr | 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.

## Detailed Description

template<typename PointT>
class pcl::FilterIndices< PointT >

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 74 of file filter_indices.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT>

using pcl::FilterIndices< PointT >::ConstPtr = shared_ptr<const FilterIndices<PointT> >

Definition at line 81 of file filter_indices.h.

## PointCloud

template<typename PointT>

using pcl::FilterIndices< PointT >::PointCloud = pcl::PointCloud<PointT>

Definition at line 78 of file filter_indices.h.

## Ptr

template<typename PointT>

using pcl::FilterIndices< PointT >::Ptr = shared_ptr<FilterIndices<PointT> >

Definition at line 80 of file filter_indices.h.

## Constructor & Destructor Documentation

## FilterIndices()

template<typename PointT>

pcl::FilterIndices< PointT >::FilterIndices | ( | 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 87 of file filter_indices.h.

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

Referenced by pcl::CropBox< PointT >::CropBox(), pcl::ExtractIndices< PointT >::ExtractIndices(), pcl::FarthestPointSampling< PointT >::FarthestPointSampling(), pcl::FrustumCulling< PointT >::FrustumCulling(), pcl::LocalMaximum< PointT >::LocalMaximum(), pcl::ModelOutlierRemoval< PointT >::ModelOutlierRemoval(), pcl::NormalSpaceSampling< PointT, NormalT >::NormalSpaceSampling(), pcl::PassThrough< PointT >::PassThrough(), pcl::RadiusOutlierRemoval< PointT >::RadiusOutlierRemoval(), pcl::RandomSample< PointT >::RandomSample(), pcl::ShadowPoints< PointT, NormalT >::ShadowPoints(), pcl::StatisticalOutlierRemoval< PointT >::StatisticalOutlierRemoval(), and pcl::UniformSampling< PointT >::UniformSampling().

## Member Function Documentation

## applyFilter() [1/2]

template<typename PointT>

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

protected pure virtual

Abstract filter method for point cloud indices.

Implemented in pcl::CovarianceSampling< PointT, PointNT >, pcl::CropBox< PointT >, pcl::CropHull< PointT >, pcl::experimental::advanced::FunctorFilter< PointT, FunctionObject >, pcl::experimental::advanced::FunctorFilter< PointT, FilterFunction< PointT > >, pcl::ExtractIndices< PointT >, pcl::FarthestPointSampling< PointT >, pcl::FrustumCulling< PointT >, pcl::GridMinimum< PointT >, pcl::LocalMaximum< PointT >, pcl::ModelOutlierRemoval< PointT >, pcl::NormalSpaceSampling< PointT, NormalT >, pcl::PassThrough< PointT >, pcl::PassThrough< PointInT >, pcl::RadiusOutlierRemoval< PointT >, pcl::RandomSample< PointT >, pcl::ShadowPoints< PointT, NormalT >, pcl::StatisticalOutlierRemoval< PointT >, and pcl::UniformSampling< PointT >.

Referenced by applyFilter(), and filter().

## applyFilter() [2/2]

template<typename PointT>

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

override protected virtual

Abstract filter method for point cloud.

Implements pcl::Filter< PointT >.

Reimplemented in pcl::GridMinimum< PointT >, pcl::LocalMaximum< PointT >, and pcl::ShadowPoints< PointT, NormalT >.

Definition at line 77 of file filter_indices.hpp.

References applyFilter(), pcl::copyPoint(), pcl::copyPointCloud(), pcl::Filter< PointT >::extract_removed_indices_, pcl::PCLBase< PointT >::input_, pcl::PointCloud< PointT >::is_dense, keep_organized_, pcl::Filter< PointT >::removed_indices_, and user_filter_value_.

## filter()

template<typename PointT>

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

inline

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

Parameters

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

Definition at line 100 of file filter_indices.h.

References applyFilter(), pcl::PCLBase< PointT >::deinitCompute(), and pcl::PCLBase< PointT >::initCompute().

Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::people::GroundBasedPeopleDetectionApp< PointT >::compute(), pcl::outofcore::OutofcoreOctreeBase< OutofcoreOctreeDiskContainer< pcl::PointXYZ >, pcl::PointXYZRGB >::flushToDiskLazy(), pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute(), pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), and pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::simplifyCloud().

## getKeepOrganized()

template<typename PointT>

bool pcl::FilterIndices< PointT >::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 144 of file filter_indices.h.

References keep_organized_.

## getNegative()

template<typename PointT>

bool pcl::FilterIndices< PointT >::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 124 of file filter_indices.h.

References negative_.

## setKeepOrganized()

template<typename PointT>

void pcl::FilterIndices< PointT >::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 134 of file filter_indices.h.

References keep_organized_.

## setNegative()

template<typename PointT>

void pcl::FilterIndices< PointT >::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 115 of file filter_indices.h.

References negative_.

Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), and pcl::people::GroundBasedPeopleDetectionApp< PointT >::compute().

## setUserFilterValue()

template<typename PointT>

void pcl::FilterIndices< PointT >::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 154 of file filter_indices.h.

References user_filter_value_.

## Member Data Documentation

## keep_organized_

template<typename PointT>

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

protected

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

Definition at line 170 of file filter_indices.h.

Referenced by pcl::ExtractIndices< PointT >::applyFilter(), applyFilter(), pcl::ShadowPoints< PointT, NormalT >::applyFilter(), getKeepOrganized(), and setKeepOrganized().

## negative_

template<typename PointT>

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

protected

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

Definition at line 167 of file filter_indices.h.

Referenced by pcl::CropBox< PointT >::applyFilter(), pcl::FrustumCulling< PointT >::applyFilter(), pcl::RandomSample< PointT >::applyFilter(), pcl::ShadowPoints< PointT, NormalT >::applyFilter(), pcl::ShadowPoints< PointT, NormalT >::applyFilter(), pcl::UniformSampling< PointT >::applyFilter(), pcl::ExtractIndices< PointT >::applyFilterIndices(), pcl::LocalMaximum< PointT >::applyFilterIndices(), pcl::ModelOutlierRemoval< PointT >::applyFilterIndices(), pcl::PassThrough< PointT >::applyFilterIndices(), pcl::RadiusOutlierRemoval< PointT >::applyFilterIndices(), pcl::StatisticalOutlierRemoval< PointT >::applyFilterIndices(), pcl::PassThrough< PointT >::getFilterLimitsNegative(), getNegative(), and setNegative().

## user_filter_value_

template<typename PointT>

float pcl::FilterIndices< PointT >::user_filter_value_

protected

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

Definition at line 173 of file filter_indices.h.

Referenced by applyFilter(), pcl::ShadowPoints< PointT, NormalT >::applyFilter(), pcl::ExtractIndices< PointT >::filterDirectly(), 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