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

A bilateral filter implementation for point cloud data. More...

#include <pcl/filters/bilateral.h>

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

List of all members.

Public Types

typedef boost::shared_ptr
< Filter< PointT > > 
Ptr
typedef boost::shared_ptr
< const Filter< PointT > > 
ConstPtr
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr

Public Member Functions

 BilateralFilter ()
 Constructor.
void applyFilter (PointCloud &output)
 Filter the input data and store the results into output.
double computePointWeight (const int pid, const std::vector< int > &indices, const std::vector< float > &distances)
 Compute the intensity average for a single point.
void setHalfSize (const double sigma_s)
 Set the half size of the Gaussian bilateral filter window.
double getHalfSize ()
 Get the half size of the Gaussian bilateral filter window as set by the user.
void setStdDev (const double sigma_r)
 Set the standard deviation parameter.
double getStdDev ()
 Get the value of the current standard deviation parameter of the bilateral filter.
void setSearchMethod (const KdTreePtr &tree)
 Provide a pointer to the search object.
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

A bilateral filter implementation for point cloud data.

Uses the intensity data channel.

Note:
For more information please see C. Tomasi and R. Manduchi. Bilateral Filtering for Gray and Color Images. In Proceedings of the IEEE International Conference on Computer Vision, 1998.
Author:
Luca Penasa

Member Typedef Documentation

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

Definition at line 75 of file filter.h.

Definition at line 79 of file filter.h.

Definition at line 78 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::BilateralFilter::BilateralFilter ( ) [inline]

Constructor.

Sets sigma_s_ to 0 and sigma_r_ to MAXDBL

Definition at line 66 of file bilateral.h.


Member Function Documentation

void pcl::BilateralFilter::applyFilter ( PointCloud &  output)

Filter the input data and store the results into output.

Parameters:
[out]outputthe resultant point cloud message

Definition at line 71 of file bilateral.hpp.

double pcl::BilateralFilter::computePointWeight ( const int  pid,
const std::vector< int > &  indices,
const std::vector< float > &  distances 
)

Compute the intensity average for a single point.

Parameters:
[in]pidthe point index to compute the weight for
[in]indicesthe set of nearest neighor indices
[in]distancesthe set of nearest neighbor distances
Returns:
the intensity average at a given point index

Definition at line 45 of file bilateral.hpp.

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.

double pcl::BilateralFilter::getHalfSize ( ) [inline]

Get the half size of the Gaussian bilateral filter window as set by the user.

Definition at line 98 of file bilateral.h.

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

Get the point indices being removed.

Definition at line 93 of file filter.h.

double pcl::BilateralFilter::getStdDev ( ) [inline]

Get the value of the current standard deviation parameter of the bilateral filter.

Definition at line 114 of file bilateral.h.

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::BilateralFilter::setHalfSize ( const double  sigma_s) [inline]

Set the half size of the Gaussian bilateral filter window.

Parameters:
[in]sigma_sthe half size of the Gaussian bilateral filter window to use

Definition at line 91 of file bilateral.h.

void pcl::BilateralFilter::setSearchMethod ( const KdTreePtr &  tree) [inline]

Provide a pointer to the search object.

Parameters:
[in]treea pointer to the spatial search object.

Definition at line 123 of file bilateral.h.

void pcl::BilateralFilter::setStdDev ( const double  sigma_r) [inline]

Set the standard deviation parameter.

Parameters:
[in]sigma_rthe new standard deviation parameter

Definition at line 107 of file bilateral.h.


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