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 (std::vector<int> &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).
More...
#include <filter_indices.h>
Public Types | |
typedef pcl::PointCloud< PointT > | PointCloud |
Public Member Functions | |
void | filter (PointCloud &output) |
Calls the filtering method and returns the filtered dataset in output. | |
void | filter (std::vector< int > &indices) |
Calls the filtering method and returns the filtered point cloud indices. | |
FilterIndices (bool extract_removed_indices=false) | |
Constructor. | |
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. | |
bool | getNegative () |
Get whether the regular conditions for points filtering should apply, or the inverted conditions. | |
IndicesConstPtr const | getRemovedIndices () |
Get the point indices being removed. | |
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. | |
void | setNegative (bool negative) |
Set whether the regular conditions for points filtering should apply, or the inverted conditions. | |
void | setUserFilterValue (float value) |
Provide a value that the filtered points should be set to instead of removing them. Used in conjunction with setKeepOrganized (). | |
virtual | ~FilterIndices () |
Empty virtual destructor. | |
Protected Member Functions | |
virtual void | applyFilter (std::vector< int > &indices)=0 |
Abstract filter method for point cloud indices. | |
Protected Attributes | |
bool | extract_removed_indices_ |
Set to true if we want to return the indices of the removed points. | |
bool | keep_organized_ |
False = remove points (default), true = redefine points, keep structure. | |
bool | negative_ |
False = normal filter behavior (default), true = inverted behavior. | |
IndicesPtr | removed_indices_ |
Indices of the points that are removed. | |
float | user_filter_value_ |
The user given value that the filtered point dimensions should be set to (default = NaN). |
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 (std::vector<int> &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).
Definition at line 68 of file filter_indices.h.
typedef pcl::PointCloud<PointT> pcl::FilterIndices< PointT >::PointCloud |
Reimplemented from pcl::Filter< PointT >.
Reimplemented in pcl::StatisticalOutlierRemoval< PointT >, pcl::PassThrough< PointT >, pcl::PassThrough< PointInT >, pcl::PassThrough< pcl::PointXYZRGBA >, pcl::PassThrough< PointXYZRGBA >, pcl::PassThrough< PointType >, pcl::RadiusOutlierRemoval< PointT >, pcl::ExtractIndices< PointT >, pcl::ExtractIndices< PointType >, pcl::CropBox< PointT >, pcl::RandomSample< PointT >, pcl::NormalSpaceSampling< PointT, NormalT >, and pcl::CropHull< PointT >.
Definition at line 71 of file filter_indices.h.
pcl::FilterIndices< PointT >::FilterIndices | ( | bool | extract_removed_indices = false | ) | [inline] |
Constructor.
[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 76 of file filter_indices.h.
virtual pcl::FilterIndices< PointT >::~FilterIndices | ( | ) | [inline, virtual] |
Empty virtual destructor.
Definition at line 87 of file filter_indices.h.
virtual void pcl::FilterIndices< PointT >::applyFilter | ( | std::vector< int > & | indices | ) | [protected, pure virtual] |
Abstract filter method for point cloud indices.
Implemented in pcl::PassThrough< PointT >, pcl::PassThrough< PointInT >, pcl::PassThrough< pcl::PointXYZRGBA >, pcl::PassThrough< PointXYZRGBA >, pcl::PassThrough< PointType >, pcl::CropBox< PointT >, pcl::NormalSpaceSampling< PointT, NormalT >, pcl::StatisticalOutlierRemoval< PointT >, pcl::RadiusOutlierRemoval< PointT >, pcl::CropHull< PointT >, pcl::RandomSample< PointT >, pcl::ExtractIndices< PointT >, and pcl::ExtractIndices< PointType >.
void pcl::FilterIndices< PointT >::filter | ( | PointCloud & | output | ) | [inline] |
Calls the filtering method and returns the filtered dataset in output.
[out] | output | the resultant filtered point cloud dataset |
Reimplemented from pcl::Filter< PointT >.
Definition at line 92 of file filter_indices.h.
void pcl::FilterIndices< PointT >::filter | ( | std::vector< int > & | indices | ) | [inline] |
Calls the filtering method and returns the filtered point cloud indices.
[out] | indices | the resultant filtered point cloud indices |
Definition at line 101 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::getKeepOrganized | ( | ) | [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.
Definition at line 145 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::getNegative | ( | ) | [inline] |
Get whether the regular conditions for points filtering should apply, or the inverted conditions.
Definition at line 125 of file filter_indices.h.
IndicesConstPtr const pcl::FilterIndices< PointT >::getRemovedIndices | ( | ) | [inline] |
Get the point indices being removed.
Reimplemented from pcl::Filter< PointT >.
Definition at line 164 of file filter_indices.h.
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.
[in] | keep_organized | false = remove points (default), true = redefine points, keep structure. |
Definition at line 135 of file filter_indices.h.
void pcl::FilterIndices< PointT >::setNegative | ( | bool | negative | ) | [inline] |
Set whether the regular conditions for points filtering should apply, or the inverted conditions.
[in] | negative | false = normal filter behavior (default), true = inverted behavior. |
Definition at line 116 of file filter_indices.h.
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 ().
[in] | value | the user given value that the filtered point dimensions should be set to (default = NaN). |
Definition at line 155 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::extract_removed_indices_ [protected] |
Set to true if we want to return the indices of the removed points.
Reimplemented from pcl::Filter< PointT >.
Definition at line 180 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::keep_organized_ [protected] |
False = remove points (default), true = redefine points, keep structure.
Definition at line 177 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::negative_ [protected] |
False = normal filter behavior (default), true = inverted behavior.
Definition at line 174 of file filter_indices.h.
IndicesPtr pcl::FilterIndices< PointT >::removed_indices_ [protected] |
Indices of the points that are removed.
Reimplemented from pcl::Filter< PointT >.
Definition at line 186 of file filter_indices.h.
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 183 of file filter_indices.h.