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::PCLPointCloud2 | PCLPointCloud2 |
Public Member Functions | |
virtual void | filter (PCLPointCloud2 &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. | |
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 | keep_organized_ |
False = remove points (default), true = redefine points, keep structure. | |
bool | negative_ |
False = normal filter behavior (default), true = inverted behavior. | |
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 193 of file filter_indices.h.
Reimplemented from pcl::Filter< pcl::PCLPointCloud2 >.
Reimplemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::ExtractIndices< pcl::PCLPointCloud2 >, and pcl::RandomSample< pcl::PCLPointCloud2 >.
Definition at line 196 of file filter_indices.h.
pcl::FilterIndices< pcl::PCLPointCloud2 >::FilterIndices | ( | bool | extract_removed_indices = false | ) | [inline] |
Constructor.
[in] | extract_removed_indices | Set to true if you want to extract the indices of points being removed (default = false). |
Definition at line 201 of file filter_indices.h.
virtual pcl::FilterIndices< pcl::PCLPointCloud2 >::~FilterIndices | ( | ) | [inline, virtual] |
Empty virtual destructor.
Definition at line 211 of file filter_indices.h.
virtual void pcl::FilterIndices< pcl::PCLPointCloud2 >::applyFilter | ( | std::vector< int > & | indices | ) | [protected, pure virtual] |
Abstract filter method for point cloud indices.
Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::ExtractIndices< pcl::PCLPointCloud2 >.
virtual void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | PCLPointCloud2 & | output | ) | [inline, virtual] |
Calls the filtering method and returns the filtered dataset in output.
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
[out] | output | the resultant filtered point cloud dataset |
output | the resultant filtered point cloud dataset |
Reimplemented from pcl::Filter< pcl::PCLPointCloud2 >.
Definition at line 216 of file filter_indices.h.
void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | std::vector< int > & | indices | ) |
Calls the filtering method and returns the filtered point cloud indices.
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
[out] | indices | the resultant filtered point cloud indices |
output | the resultant filtered point cloud dataset |
Definition at line 48 of file filter_indices.cpp.
bool pcl::FilterIndices< pcl::PCLPointCloud2 >::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 260 of file filter_indices.h.
bool pcl::FilterIndices< pcl::PCLPointCloud2 >::getNegative | ( | ) | [inline] |
Get whether the regular conditions for points filtering should apply, or the inverted conditions.
Definition at line 240 of file filter_indices.h.
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.
[in] | keep_organized | false = remove points (default), true = redefine points, keep structure. |
Definition at line 250 of file filter_indices.h.
void pcl::FilterIndices< pcl::PCLPointCloud2 >::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 231 of file filter_indices.h.
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 ().
[in] | value | the user given value that the filtered point dimensions should be set to (default = NaN). |
Definition at line 270 of file filter_indices.h.
bool pcl::FilterIndices< pcl::PCLPointCloud2 >::keep_organized_ [protected] |
False = remove points (default), true = redefine points, keep structure.
Definition at line 280 of file filter_indices.h.
bool pcl::FilterIndices< pcl::PCLPointCloud2 >::negative_ [protected] |
False = normal filter behavior (default), true = inverted behavior.
Definition at line 277 of file filter_indices.h.
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 283 of file filter_indices.h.