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 boost::shared_ptr < const FilterIndices< PointT > > | ConstPtr |
typedef pcl::PointCloud< PointT > | PointCloud |
typedef boost::shared_ptr < FilterIndices< PointT > > | Ptr |
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. | |
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 68 of file filter_indices.h.
typedef boost::shared_ptr< const FilterIndices<PointT> > pcl::FilterIndices< PointT >::ConstPtr |
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::FrustumCulling< PointT >, pcl::RadiusOutlierRemoval< PointT >, pcl::ExtractIndices< PointT >, pcl::ExtractIndices< PointType >, pcl::CovarianceSampling< PointT, PointNT >, pcl::RandomSample< PointT >, pcl::ShadowPoints< PointT, NormalT >, pcl::NormalSpaceSampling< PointT, NormalT >, pcl::CropBox< PointT >, and pcl::CropHull< PointT >.
Definition at line 75 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::FrustumCulling< PointT >, pcl::RadiusOutlierRemoval< PointT >, pcl::ExtractIndices< PointT >, pcl::ExtractIndices< PointType >, pcl::RandomSample< PointT >, pcl::ShadowPoints< PointT, NormalT >, pcl::NormalSpaceSampling< PointT, NormalT >, pcl::CropBox< PointT >, and pcl::CropHull< PointT >.
Definition at line 72 of file filter_indices.h.
typedef boost::shared_ptr< FilterIndices<PointT> > pcl::FilterIndices< PointT >::Ptr |
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::FrustumCulling< PointT >, pcl::RadiusOutlierRemoval< PointT >, pcl::ExtractIndices< PointT >, pcl::ExtractIndices< PointType >, pcl::CovarianceSampling< PointT, PointNT >, pcl::RandomSample< PointT >, pcl::ShadowPoints< PointT, NormalT >, pcl::NormalSpaceSampling< PointT, NormalT >, pcl::CropBox< PointT >, and pcl::CropHull< PointT >.
Definition at line 74 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 81 of file filter_indices.h.
virtual pcl::FilterIndices< PointT >::~FilterIndices | ( | ) | [inline, virtual] |
Empty virtual destructor.
Definition at line 91 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::FrustumCulling< PointT >, 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::CovarianceSampling< PointT, PointNT >, pcl::CropHull< PointT >, pcl::RandomSample< PointT >, pcl::ExtractIndices< PointT >, pcl::ExtractIndices< PointType >, and pcl::ShadowPoints< PointT, NormalT >.
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 96 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 105 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 149 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 129 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 139 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 120 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 159 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::keep_organized_ [protected] |
False = remove points (default), true = redefine points, keep structure.
Definition at line 172 of file filter_indices.h.
bool pcl::FilterIndices< PointT >::negative_ [protected] |
False = normal filter behavior (default), true = inverted behavior.
Definition at line 169 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 175 of file filter_indices.h.