A bilateral filter implementation for point cloud data. Uses the intensity data channel. More...
#include <bilateral.h>
Public Types | |
typedef boost::shared_ptr < const BilateralFilter < PointT > > | ConstPtr |
typedef boost::shared_ptr < BilateralFilter< PointT > > | Ptr |
Public Member Functions | |
void | applyFilter (PointCloud &output) |
Filter the input data and store the results into output. | |
BilateralFilter () | |
Constructor. Sets sigma_s_ to 0 and sigma_r_ to MAXDBL. | |
double | computePointWeight (const int pid, const std::vector< int > &indices, const std::vector< float > &distances) |
Compute the intensity average for a single point. | |
double | getHalfSize () const |
Get the half size of the Gaussian bilateral filter window as set by the user. | |
double | getStdDev () const |
Get the value of the current standard deviation parameter of the bilateral filter. | |
void | setHalfSize (const double sigma_s) |
Set the half size of the Gaussian bilateral filter window. | |
void | setSearchMethod (const KdTreePtr &tree) |
Provide a pointer to the search object. | |
void | setStdDev (const double sigma_r) |
Set the standard deviation parameter. | |
Private Types | |
typedef pcl::search::Search < PointT >::Ptr | KdTreePtr |
typedef Filter< PointT > ::PointCloud | PointCloud |
Private Member Functions | |
double | kernel (double x, double sigma) |
The bilateral filter Gaussian distance kernel. | |
Private Attributes | |
double | sigma_r_ |
The standard deviation of the bilateral filter (e.g., standard deviation in intensity). | |
double | sigma_s_ |
The half size of the Gaussian bilateral filter window (e.g., spatial extents in Euclidean). | |
KdTreePtr | tree_ |
A pointer to the spatial search object. |
A bilateral filter implementation for point cloud data. Uses the intensity data channel.
Definition at line 57 of file bilateral.h.
typedef boost::shared_ptr< const BilateralFilter<PointT> > pcl::BilateralFilter< PointT >::ConstPtr |
Reimplemented from pcl::Filter< PointT >.
Definition at line 67 of file bilateral.h.
typedef pcl::search::Search<PointT>::Ptr pcl::BilateralFilter< PointT >::KdTreePtr [private] |
Definition at line 62 of file bilateral.h.
typedef Filter<PointT>::PointCloud pcl::BilateralFilter< PointT >::PointCloud [private] |
Reimplemented from pcl::Filter< PointT >.
Definition at line 61 of file bilateral.h.
typedef boost::shared_ptr< BilateralFilter<PointT> > pcl::BilateralFilter< PointT >::Ptr |
Reimplemented from pcl::Filter< PointT >.
Definition at line 66 of file bilateral.h.
pcl::BilateralFilter< PointT >::BilateralFilter | ( | ) | [inline] |
Constructor. Sets sigma_s_ to 0 and sigma_r_ to MAXDBL.
Definition at line 73 of file bilateral.h.
void pcl::BilateralFilter< PointT >::applyFilter | ( | PointCloud & | output | ) | [virtual] |
Filter the input data and store the results into output.
[out] | output | the resultant point cloud message |
Implements pcl::Filter< PointT >.
Definition at line 73 of file bilateral.hpp.
double pcl::BilateralFilter< PointT >::computePointWeight | ( | const int | pid, |
const std::vector< int > & | indices, | ||
const std::vector< float > & | distances | ||
) |
Compute the intensity average for a single point.
[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 |
Definition at line 47 of file bilateral.hpp.
double pcl::BilateralFilter< PointT >::getHalfSize | ( | ) | const [inline] |
Get the half size of the Gaussian bilateral filter window as set by the user.
Definition at line 104 of file bilateral.h.
double pcl::BilateralFilter< PointT >::getStdDev | ( | ) | const [inline] |
Get the value of the current standard deviation parameter of the bilateral filter.
Definition at line 116 of file bilateral.h.
double pcl::BilateralFilter< PointT >::kernel | ( | double | x, |
double | sigma | ||
) | [inline, private] |
The bilateral filter Gaussian distance kernel.
[in] | x | the spatial distance (distance or intensity) |
[in] | sigma | standard deviation |
Definition at line 133 of file bilateral.h.
void pcl::BilateralFilter< PointT >::setHalfSize | ( | const double | sigma_s | ) | [inline] |
Set the half size of the Gaussian bilateral filter window.
[in] | sigma_s | the half size of the Gaussian bilateral filter window to use |
Definition at line 99 of file bilateral.h.
void pcl::BilateralFilter< PointT >::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline] |
Provide a pointer to the search object.
[in] | tree | a pointer to the spatial search object. |
Definition at line 123 of file bilateral.h.
void pcl::BilateralFilter< PointT >::setStdDev | ( | const double | sigma_r | ) | [inline] |
Set the standard deviation parameter.
[in] | sigma_r | the new standard deviation parameter |
Definition at line 111 of file bilateral.h.
double pcl::BilateralFilter< PointT >::sigma_r_ [private] |
The standard deviation of the bilateral filter (e.g., standard deviation in intensity).
Definition at line 139 of file bilateral.h.
double pcl::BilateralFilter< PointT >::sigma_s_ [private] |
The half size of the Gaussian bilateral filter window (e.g., spatial extents in Euclidean).
Definition at line 137 of file bilateral.h.
KdTreePtr pcl::BilateralFilter< PointT >::tree_ [private] |
A pointer to the spatial search object.
Definition at line 142 of file bilateral.h.