Point Cloud Library (PCL)
1.7.2
|
FilterIndices represents the base class for filters that are about binary point removal. More...
#include <pcl/filters/filter_indices.h>
Public Types | |
typedef pcl::PCLPointCloud2 | PCLPointCloud2 |
![]() | |
typedef boost::shared_ptr < Filter< pcl::PCLPointCloud2 > > | Ptr |
typedef boost::shared_ptr < const Filter < pcl::PCLPointCloud2 > > | ConstPtr |
typedef pcl::PCLPointCloud2 | PCLPointCloud2 |
typedef PCLPointCloud2::Ptr | PCLPointCloud2Ptr |
typedef PCLPointCloud2::ConstPtr | PCLPointCloud2ConstPtr |
![]() | |
typedef pcl::PCLPointCloud2 | PCLPointCloud2 |
typedef boost::shared_ptr < PCLPointCloud2 > | PCLPointCloud2Ptr |
typedef boost::shared_ptr < PCLPointCloud2 const > | PCLPointCloud2ConstPtr |
typedef boost::shared_ptr < PointIndices > | PointIndicesPtr |
typedef boost::shared_ptr < PointIndices const > | PointIndicesConstPtr |
Public Member Functions | |
FilterIndices (bool extract_removed_indices=false) | |
Constructor. More... | |
virtual | ~FilterIndices () |
Empty virtual destructor. More... | |
virtual void | filter (PCLPointCloud2 &output) |
void | filter (std::vector< int > &indices) |
Calls the filtering method and returns the filtered point cloud indices. More... | |
void | setNegative (bool negative) |
Set whether the regular conditions for points filtering should apply, or the inverted conditions. More... | |
bool | getNegative () |
Get whether the regular conditions for points filtering should apply, or the inverted conditions. More... | |
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. More... | |
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. More... | |
void | setUserFilterValue (float value) |
Provide a value that the filtered points should be set to instead of removing them. More... | |
![]() | |
Filter (bool extract_removed_indices=false) | |
Empty constructor. More... | |
virtual | ~Filter () |
Empty destructor. More... | |
IndicesConstPtr const | getRemovedIndices () |
Get the point indices being removed. More... | |
void | getRemovedIndices (PointIndices &pi) |
Get the point indices being removed. More... | |
void | filter (PCLPointCloud2 &output) |
Calls the filtering method and returns the filtered dataset in output. More... | |
![]() | |
PCLBase () | |
Empty constructor. More... | |
virtual | ~PCLBase () |
destructor. More... | |
void | setInputCloud (const PCLPointCloud2ConstPtr &cloud) |
Provide a pointer to the input dataset. More... | |
PCLPointCloud2ConstPtr const | getInputCloud () |
Get a pointer to the input point cloud dataset. More... | |
void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
IndicesPtr const | getIndices () |
Get a pointer to the vector of indices used. More... | |
Protected Member Functions | |
virtual void | applyFilter (std::vector< int > &indices)=0 |
Abstract filter method for point cloud indices. More... | |
virtual void | applyFilter (PCLPointCloud2 &output)=0 |
Abstract filter method for point cloud. More... | |
![]() | |
const std::string & | getClassName () const |
Get a string representation of the name of this class. More... | |
![]() | |
bool | initCompute () |
bool | deinitCompute () |
Protected Attributes | |
bool | negative_ |
False = normal filter behavior (default), true = inverted behavior. More... | |
bool | keep_organized_ |
False = remove points (default), true = redefine points, keep structure. More... | |
float | user_filter_value_ |
The user given value that the filtered point dimensions should be set to (default = NaN). More... | |
![]() | |
IndicesPtr | removed_indices_ |
Indices of the points that are removed. More... | |
bool | extract_removed_indices_ |
Set to true if we want to return the indices of the removed points. More... | |
std::string | filter_name_ |
The filter name. More... | |
![]() | |
PCLPointCloud2ConstPtr | input_ |
The input point cloud dataset. More... | |
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
std::vector< int > | field_sizes_ |
The size of each individual field. More... | |
int | x_idx_ |
The x-y-z fields indices. More... | |
int | y_idx_ |
int | z_idx_ |
std::string | x_field_name_ |
The desired x-y-z field names. More... | |
std::string | y_field_name_ |
std::string | z_field_name_ |
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 205 of file filter_indices.h.
Definition at line 208 of file filter_indices.h.
|
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 213 of file filter_indices.h.
|
inlinevirtual |
Empty virtual destructor.
Definition at line 223 of file filter_indices.h.
|
protectedpure virtual |
Abstract filter method for point cloud indices.
Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::ExtractIndices< pcl::PCLPointCloud2 >.
|
protectedpure virtual |
Abstract filter method for point cloud.
Implements pcl::Filter< pcl::PCLPointCloud2 >.
Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::ExtractIndices< pcl::PCLPointCloud2 >.
|
inlinevirtual |
Definition at line 228 of file filter_indices.h.
References pcl::Filter< PointT >::filter().
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >::buildLODRecursive(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample().
void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | std::vector< int > & | indices | ) |
Calls the filtering method and returns the filtered point cloud indices.
[out] | indices | the resultant filtered point cloud indices |
|
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 272 of file filter_indices.h.
|
inline |
Get whether the regular conditions for points filtering should apply, or the inverted conditions.
Definition at line 252 of file filter_indices.h.
|
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 262 of file filter_indices.h.
|
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 243 of file filter_indices.h.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD().
|
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 282 of file filter_indices.h.
|
protected |
False = remove points (default), true = redefine points, keep structure.
Definition at line 293 of file filter_indices.h.
|
protected |
False = normal filter behavior (default), true = inverted behavior.
Definition at line 290 of file filter_indices.h.
|
protected |
The user given value that the filtered point dimensions should be set to (default = NaN).
Definition at line 296 of file filter_indices.h.