Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::ConditionalRemoval Class Reference

ConditionalRemoval filters data that satisfies certain conditions. More...

#include <pcl/filters/conditional_removal.h>

Inheritance diagram for pcl::ConditionalRemoval:
Inheritance graph
[legend]
Collaboration diagram for pcl::ConditionalRemoval:
Collaboration graph
[legend]

List of all members.

Public Types

typedef pcl::ConditionBase
< PointT > 
ConditionBase
typedef ConditionBase::Ptr ConditionBasePtr
typedef ConditionBase::ConstPtr ConditionBaseConstPtr
typedef boost::shared_ptr
< Filter< PointT > > 
Ptr
typedef boost::shared_ptr
< const Filter< PointT > > 
ConstPtr

Public Member Functions

 ConditionalRemoval (int extract_removed_indices=false)
 the default constructor.
 ConditionalRemoval (ConditionBasePtr condition, bool extract_removed_indices=false)
 a constructor that includes the condition.
void setKeepOrganized (bool val)
 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 ()
void setUserFilterValue (float val)
 Provide a value that the filtered points should be set to instead of removing them.
void setCondition (ConditionBasePtr condition)
 Set the condition that the filter will use.
IndicesConstPtr const getRemovedIndices ()
 Get the point indices being removed.
void setFilterFieldName (const std::string &field_name)
 Provide the name of the field to be used for filtering data.
std::string const getFilterFieldName ()
 Get the name of the field used for filtering.
void setFilterLimits (const double &limit_min, const double &limit_max)
 Set the field filter limits.
void getFilterLimits (double &limit_min, double &limit_max)
 Get the field filter limits (min/max) set by the user.
void setFilterLimitsNegative (const bool limit_negative)
 Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max).
void getFilterLimitsNegative (bool &limit_negative)
 Get whether the data outside the interval (min/max) is to be returned (true) or inside (false).
bool getFilterLimitsNegative ()
void filter (PointCloud &output)
 Calls the filtering method and returns the filtered dataset in output.

Detailed Description

ConditionalRemoval filters data that satisfies certain conditions.

A ConditionalRemoval must be provided a condition. There are two types of conditions: ConditionAnd and ConditionOr. Conditions require one or more comparisons and/or other conditions. A comparison has a name, a comparison operator, and a value.

An ConditionAnd will evaluate to true when ALL of its encapsulated comparisons and conditions are true.

An ConditionOr will evaluate to true when ANY of its encapsulated comparisons and conditions are true.

Depending on the derived type of the comparison, the name can correspond to a PointCloud field name, or a color component in rgb color space or hsi color space.

Here is an example usage: // Build the condition pcl::ConditionAnd<PointT>::Ptr range_cond (new pcl::ConditionAnd<PointT> ()); range_cond->addComparison (pcl::FieldComparison<PointT>::Ptr (new pcl::FieldComparison<PointT>("z", pcl::ComparisonOps::LT, 2.0))); range_cond->addComparison (pcl::FieldComparison<PointT>::Ptr (new pcl::FieldComparison<PointT>("z", pcl::ComparisonOps::GT, 0.0))); // Build the filter pcl::ConditionalRemoval<PointT> range_filt; range_filt.setCondition (range_cond); range_filt.setKeepOrganized (false);

Author:
Louis LeGrand, Intel Labs Seattle

Member Typedef Documentation

Definition at line 420 of file conditional_removal.h.

Definition at line 422 of file conditional_removal.h.

Definition at line 421 of file conditional_removal.h.

typedef boost::shared_ptr< const Filter<PointT> > pcl::Filter::ConstPtr [inherited]

Definition at line 75 of file filter.h.

typedef boost::shared_ptr< Filter<PointT> > pcl::Filter::Ptr [inherited]

Definition at line 74 of file filter.h.


Constructor & Destructor Documentation

pcl::ConditionalRemoval::ConditionalRemoval ( int  extract_removed_indices = false) [inline]

the default constructor.

All ConditionalRemovals require a condition which can be set using the setCondition method

Parameters:
extract_removed_indicesextract filtered indices from indices vector

Definition at line 430 of file conditional_removal.h.

pcl::ConditionalRemoval::ConditionalRemoval ( ConditionBasePtr  condition,
bool  extract_removed_indices = false 
) [inline]

a constructor that includes the condition.

Parameters:
conditionthe condition that each point must satisfy to avoid being removed by the filter
extract_removed_indicesextract filtered indices from indices vector

Definition at line 442 of file conditional_removal.h.


Member Function Documentation

void pcl::Filter::filter ( PointCloud output) [inline, inherited]

Calls the filtering method and returns the filtered dataset in output.

Parameters:
outputthe resultant filtered point cloud dataset

Reimplemented in pcl::FilterIndices.

Definition at line 160 of file filter.h.

std::string const pcl::Filter::getFilterFieldName ( ) [inline, inherited]

Get the name of the field used for filtering.

Definition at line 110 of file filter.h.

void pcl::Filter::getFilterLimits ( double &  limit_min,
double &  limit_max 
) [inline, inherited]

Get the field filter limits (min/max) set by the user.

The default values are -FLT_MAX, FLT_MAX.

Definition at line 128 of file filter.h.

void pcl::Filter::getFilterLimitsNegative ( bool &  limit_negative) [inline, inherited]

Get whether the data outside the interval (min/max) is to be returned (true) or inside (false).

Definition at line 146 of file filter.h.

bool pcl::Filter::getFilterLimitsNegative ( ) [inline, inherited]

Definition at line 151 of file filter.h.

bool pcl::ConditionalRemoval::getKeepOrganized ( ) [inline]

Definition at line 465 of file conditional_removal.h.

IndicesConstPtr const pcl::Filter::getRemovedIndices ( ) [inline, inherited]

Get the point indices being removed.

Definition at line 93 of file filter.h.

void pcl::ConditionalRemoval::setCondition ( ConditionBasePtr  condition)

Set the condition that the filter will use.

Parameters:
conditioneach point must satisfy this condition to avoid being removed by the filter

All ConditionalRemovals require a condition

Definition at line 507 of file conditional_removal.hpp.

void pcl::Filter::setFilterFieldName ( const std::string &  field_name) [inline, inherited]

Provide the name of the field to be used for filtering data.

In conjunction with setFilterLimits, points having values outside this interval will be discarded.

Parameters:
field_namethe name of the field that contains values used for filtering

Definition at line 103 of file filter.h.

void pcl::Filter::setFilterLimits ( const double &  limit_min,
const double &  limit_max 
) [inline, inherited]

Set the field filter limits.

All points having field values outside this interval will be discarded.

Parameters:
limit_minthe minimum allowed field value
limit_maxthe maximum allowed field value

Definition at line 120 of file filter.h.

void pcl::Filter::setFilterLimitsNegative ( const bool  limit_negative) [inline, inherited]

Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max).

Default: false.

Parameters:
limit_negativereturn data inside the interval (false) or outside (true)

Definition at line 139 of file filter.h.

void pcl::ConditionalRemoval::setKeepOrganized ( bool  val) [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.

By default, points are removed.

Parameters:
valset to true whether the filtered points should be kept and set to a given user value (default: NaN)

Definition at line 459 of file conditional_removal.h.

void pcl::ConditionalRemoval::setUserFilterValue ( float  val) [inline]

Provide a value that the filtered points should be set to instead of removing them.

Used in conjunction with setKeepOrganized ().

Parameters:
valthe user given value that the filtered point dimensions should be set to

Definition at line 476 of file conditional_removal.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines