Loading...
Searching...
No Matches
pcl::ExtractIndices< pcl::PCLPointCloud2 > Class Reference
Module filters

ExtractIndices extracts a set of indices from a point cloud. More...

`#include <pcl/filters/extract_indices.h>`

Inheritance diagram for pcl::ExtractIndices< pcl::PCLPointCloud2 >:

## Public Types

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

## Public Member Functions

| ExtractIndices ()
| Empty constructor.
void | filterDirectly (PointCloudPtr &cloud)
| Apply the filter and store the results directly in the input cloud.
Public Member Functions inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
| 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< pcl::PCLPointCloud2 >
| 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 (PCLPointCloud2 &output)
| Calls the filtering method and returns the filtered dataset in output.
Public Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
| PCLBase ()
| Empty constructor.
virtual | ~PCLBase ()=default
| destructor.
void | setInputCloud (const PCLPointCloud2ConstPtr &cloud)
| Provide a pointer to the input dataset.
PCLPointCloud2ConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset.
void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
IndicesPtr const | getIndices () const
| Get a pointer to the vector of indices used.
const pcl::PCLPointCloud2 & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code.

## Protected Types

using | PointCloud
using | PointCloudPtr
using | PointCloudConstPtr
using | FieldList

## Protected Member Functions

void | applyFilter (PCLPointCloud2 &output) override
| Extract point indices into a separate PointCloud.
void | applyFilter (Indices &indices) override
| Extract point indices.
void | applyFilterIndices (Indices &indices)
| Filtered results are indexed by an indices array.
Protected Member Functions inherited from pcl::Filter< pcl::PCLPointCloud2 >
const std::string & | getClassName () const
| Get a string representation of the name of this class.
Protected Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
bool | initCompute ()
bool | deinitCompute ()

## Additional Inherited Members

Protected Attributes inherited from pcl::FilterIndices< pcl::PCLPointCloud2 >
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< pcl::PCLPointCloud2 >
IndicesPtr | removed_indices_
| Indices of the points that are removed.
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points.
std::string | filter_name_
| The filter name.
Protected Attributes inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
PCLPointCloud2ConstPtr | 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.
std::vector< uindex_t > | field_sizes_
| The size of each individual field.
index_t | x_idx_
| The x-y-z fields indices.
index_t | y_idx_
index_t | z_idx_
std::string | x_field_name_
| The desired x-y-z field names.
std::string | y_field_name_
std::string | z_field_name_

## Detailed Description

ExtractIndices extracts a set of indices from a point cloud.

Usage examples:

pcl::ExtractIndices<PointType> filter;
filter.setInputCloud (cloud_in);
filter.setIndices (indices_in);
// Extract the points in cloud_in referenced by indices_in as a separate point cloud:
filter.filter (*cloud_out);
// Retrieve indices to all points in cloud_in except those referenced by indices_in:
filter.setNegative (true);
filter.filter (*indices_out);
// The resulting cloud_out is identical to cloud_in, but all points referenced by indices_in are made NaN:
filter.setNegative (true);
filter.setKeepOrganized (true);
filter.filter (*cloud_out);
pcl::ExtractIndices
ExtractIndices extracts a set of indices from a point cloud.
Definition extract_indices.h:70
pcl::FilterIndices< pcl::PCLPointCloud2 >::filter
void filter(Indices &indices)
Calls the filtering method and returns the filtered point cloud indices.

Note
  Does not inherently remove NaNs from results, hence the extract_removed_indices_ system is not used.

Author
  Radu Bogdan Rusu

Definition at line 160 of file extract_indices.h.

## Member Typedef Documentation

## ConstPtr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::ConstPtr

Definition at line 80 of file extract_indices.h.

## FieldList

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::FieldList

protected

Definition at line 75 of file extract_indices.h.

## PCLPointCloud2

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PCLPointCloud2 = pcl::PCLPointCloud2

Definition at line 163 of file extract_indices.h.

## PCLPointCloud2ConstPtr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PCLPointCloud2ConstPtr = PCLPointCloud2::ConstPtr

Definition at line 165 of file extract_indices.h.

## PCLPointCloud2Ptr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PCLPointCloud2Ptr = PCLPointCloud2::Ptr

Definition at line 164 of file extract_indices.h.

## PointCloud

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PointCloud

protected

Definition at line 72 of file extract_indices.h.

## PointCloudConstPtr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PointCloudConstPtr

protected

Definition at line 74 of file extract_indices.h.

## PointCloudPtr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::PointCloudPtr

protected

Definition at line 73 of file extract_indices.h.

## Ptr

using pcl::ExtractIndices< pcl::PCLPointCloud2 >::Ptr

Definition at line 79 of file extract_indices.h.

## Constructor & Destructor Documentation

## ExtractIndices()

pcl::ExtractIndices< pcl::PCLPointCloud2 >::ExtractIndices | ( |  | ) |

inline

Empty constructor.

Definition at line 168 of file extract_indices.h.

References pcl::Filter< pcl::PCLPointCloud2 >::filter_name_, and pcl::PCLBase< pcl::PCLPointCloud2 >::use_indices_.

## Member Function Documentation

## applyFilter() [1/2]

void pcl::ExtractIndices< pcl::PCLPointCloud2 >::applyFilter | ( | Indices & | indices | ) |

override protected virtual

Extract point indices.

Parameters

  indices | the resultant indices

Implements pcl::FilterIndices< pcl::PCLPointCloud2 >.

## applyFilter() [2/2]

void pcl::ExtractIndices< pcl::PCLPointCloud2 >::applyFilter | ( | PCLPointCloud2 & | output | ) |

override protected virtual

Extract point indices into a separate PointCloud.

Parameters

  [out] | output | the resultant point cloud

Implements pcl::FilterIndices< pcl::PCLPointCloud2 >.

## applyFilterIndices()

void pcl::ExtractIndices< pcl::PCLPointCloud2 >::applyFilterIndices | ( | Indices & | indices | ) |

protected

Filtered results are indexed by an indices array.

Parameters

  [out] | indices | The resultant indices.

Definition at line 134 of file extract_indices.hpp.

References pcl::PCLBase< pcl::PCLPointCloud2 >::indices_, pcl::PCLBase< pcl::PCLPointCloud2 >::input_, and pcl::Filter< pcl::PCLPointCloud2 >::removed_indices_.

## filterDirectly()

void pcl::ExtractIndices< pcl::PCLPointCloud2 >::filterDirectly | ( | PointCloudPtr & | cloud | ) |

Apply the filter and store the results directly in the input cloud.

This method will save the time and memory copy of an output cloud but can not alter the original size of the input cloud: It operates as though setKeepOrganized() is true and will overwrite the filtered points instead of remove them. All fields of filtered points are replaced with the value set by setUserFilterValue() (default = NaN). This method also automatically alters the input cloud set via setInputCloud(). It does not alter the value of the internal keep organized boolean as set by setKeepOrganized().

Parameters

  cloud | The point cloud used for input and output.

Definition at line 101 of file extract_indices.hpp.

The documentation for this class was generated from the following files:

- pcl/filters/extract_indices.h
- pcl/filters/impl/extract_indices.hpp