A bilateral filter implementation for point cloud data.
More...
#include <pcl/filters/bilateral.h>
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
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] | output | the 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] | pid | the point index to compute the weight for |
[in] | indices | the set of nearest neighor indices |
[in] | distances | the 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:
-
output | the 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] |
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_name | the 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_min | the minimum allowed field value |
limit_max | the 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_negative | return 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_s | the 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] | tree | a 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_r | the new standard deviation parameter |
Definition at line 107 of file bilateral.h.
The documentation for this class was generated from the following files:
- /builddir/build/BUILD/PCL-1.3.1-Source/filters/include/pcl/filters/bilateral.h
- /builddir/build/BUILD/PCL-1.3.1-Source/filters/include/pcl/filters/impl/bilateral.hpp