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.