pcl::FastBilateralFilter< PointT > Class Template Reference

Implementation of a fast bilateral filter for smoothing depth information in organized point clouds Based on the following paper: More...

`#include <pcl/filters/fast_bilateral.h>`

Inheritance diagram for pcl::FastBilateralFilter< PointT >:

## Classes

class | Array3D

## Public Types

using | Ptr = shared_ptr< FastBilateralFilter< PointT > >
using | ConstPtr = shared_ptr< const FastBilateralFilter< PointT > >
Public Types inherited from pcl::Filter< PointT >
using | Ptr = shared_ptr< Filter< PointT > >
using | ConstPtr = shared_ptr< const Filter< PointT > >
using | PointCloud = pcl::PointCloud< PointT >
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
Public Types inherited from pcl::PCLBase< PointT >
using | PointCloud = pcl::PointCloud< PointT >
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
using | PointIndicesPtr = PointIndices::Ptr
using | PointIndicesConstPtr = PointIndices::ConstPtr

## Public Member Functions

| FastBilateralFilter ()
| Empty constructor. More...
| ~FastBilateralFilter ()
| Empty destructor. More...
void | setSigmaS (float sigma_s)
| Set the standard deviation of the Gaussian used by the bilateral filter for the spatial neighborhood/window. More...
float | getSigmaS () const
| Get the size of the Gaussian bilateral filter window as set by the user. More...
void | setSigmaR (float sigma_r)
| Set the standard deviation of the Gaussian used to control how much an adjacent pixel is downweighted because of the intensity difference (depth in our case). More...
float | getSigmaR () const
| Get the standard deviation of the Gaussian for the intensity difference. More...
void | applyFilter (PointCloud &output) override
| Filter the input data and store the results into output. More...
Public Member Functions inherited from pcl::Filter< PointT >
| Filter (bool extract_removed_indices=false)
| Empty constructor. More...
| ~Filter ()
| Empty destructor. More...
const IndicesConstPtr | getRemovedIndices () const
| Get the point indices being removed. More...
void | getRemovedIndices (PointIndices &pi)
| Get the point indices being removed. More...
void | filter (PointCloud &output)
| Calls the filtering method and returns the filtered dataset in output. More...
Public Member Functions inherited from pcl::PCLBase< PointT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()
| Destructor. More...
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset. More...
const PointCloudConstPtr | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
const IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used. More...
const IndicesConstPtr | getIndices () const
| Get a pointer to the vector of indices used. More...
const PointT & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Types

using | PointCloud = typename Filter< PointT >::PointCloud

## Protected Attributes

float | sigma_s_
float | sigma_r_
bool | early_division_
Protected Attributes inherited from pcl::Filter< PointT >
IndicesPtr | removed_indices_
| Indices of the points that are removed. More...
std::string | filter_name_
| The filter name. More...
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points. More...
Protected Attributes inherited from pcl::PCLBase< PointT >
PointCloudConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

## Additional Inherited Members

Protected Member Functions inherited from pcl::Filter< PointT >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
Protected Member Functions inherited from pcl::PCLBase< PointT >
bool | initCompute ()
| This method should get called before starting the actual computation. More...
bool | deinitCompute ()
| This method should get called after finishing the actual computation. More...

## Detailed Description

### template<typename PointT>
class pcl::FastBilateralFilter< PointT >

Implementation of a fast bilateral filter for smoothing depth information in organized point clouds Based on the following paper:

- Sylvain Paris and Fredo Durand "A Fast Approximation of the Bilateral Filter using a Signal Processing Approach" European Conference on Computer Vision (ECCV'06)

More details on the webpage: http://people.csail.mit.edu/sparis/bf/

Definition at line 56 of file fast_bilateral.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT >

using pcl::FastBilateralFilter< PointT >::ConstPtr = shared_ptr<const FastBilateralFilter<PointT> >

Definition at line 65 of file fast_bilateral.h.

## PointCloud

template<typename PointT >

using pcl::FastBilateralFilter< PointT >::PointCloud = typename Filter<PointT>::PointCloud

protected

Definition at line 60 of file fast_bilateral.h.

## Ptr

template<typename PointT >

using pcl::FastBilateralFilter< PointT >::Ptr = shared_ptr<FastBilateralFilter<PointT> >

Definition at line 64 of file fast_bilateral.h.

## Constructor & Destructor Documentation

## FastBilateralFilter()

template<typename PointT >

pcl::FastBilateralFilter< PointT >::FastBilateralFilter | ( |  | ) |

inline

Empty constructor.

Definition at line 68 of file fast_bilateral.h.

## ~FastBilateralFilter()

template<typename PointT >

pcl::FastBilateralFilter< PointT >::~FastBilateralFilter | ( |  | ) |

inline

Empty destructor.

Definition at line 75 of file fast_bilateral.h.

## Member Function Documentation

## applyFilter()

template<typename PointT >

void pcl::FastBilateralFilter< PointT >::applyFilter | ( | PointCloud & | output | ) |

override virtual

Filter the input data and store the results into output.

Parameters

  [out] | output | the resultant point cloud

Implements pcl::Filter< PointT >.

Reimplemented in pcl::FastBilateralFilterOMP< PointT >.

Definition at line 47 of file fast_bilateral.hpp.

References pcl::FastBilateralFilter< PointT >::Array3D::begin(), pcl::copyPointCloud(), pcl::FastBilateralFilter< PointT >::Array3D::end(), pcl::PointCloud< PointT >::height, pcl::FastBilateralFilter< PointT >::Array3D::trilinear_interpolation(), and pcl::PointCloud< PointT >::width.

## getSigmaR()

template<typename PointT >

float pcl::FastBilateralFilter< PointT >::getSigmaR | ( |  | ) | const

inline

Get the standard deviation of the Gaussian for the intensity difference.

Definition at line 101 of file fast_bilateral.h.

References pcl::FastBilateralFilter< PointT >::sigma_r_.

## getSigmaS()

template<typename PointT >

float pcl::FastBilateralFilter< PointT >::getSigmaS | ( |  | ) | const

inline

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

Definition at line 87 of file fast_bilateral.h.

References pcl::FastBilateralFilter< PointT >::sigma_s_.

## setSigmaR()

template<typename PointT >

void pcl::FastBilateralFilter< PointT >::setSigmaR | ( | float | sigma_r | ) |

inline

Set the standard deviation of the Gaussian used to control how much an adjacent pixel is downweighted because of the intensity difference (depth in our case).

Parameters

  [in] | sigma_r | the standard deviation of the Gaussian for the intensity difference

Definition at line 96 of file fast_bilateral.h.

References pcl::FastBilateralFilter< PointT >::sigma_r_.

## setSigmaS()

template<typename PointT >

void pcl::FastBilateralFilter< PointT >::setSigmaS | ( | float | sigma_s | ) |

inline

Set the standard deviation of the Gaussian used by the bilateral filter for the spatial neighborhood/window.

Parameters

  [in] | sigma_s | the size of the Gaussian bilateral filter window to use

Definition at line 82 of file fast_bilateral.h.

References pcl::FastBilateralFilter< PointT >::sigma_s_.

## Member Data Documentation

## early_division_

template<typename PointT >

bool pcl::FastBilateralFilter< PointT >::early_division_

protected

Definition at line 113 of file fast_bilateral.h.

## sigma_r_

template<typename PointT >

float pcl::FastBilateralFilter< PointT >::sigma_r_

protected

Definition at line 112 of file fast_bilateral.h.

Referenced by pcl::FastBilateralFilter< PointT >::getSigmaR(), and pcl::FastBilateralFilter< PointT >::setSigmaR().

## sigma_s_

template<typename PointT >

float pcl::FastBilateralFilter< PointT >::sigma_s_

protected

Definition at line 111 of file fast_bilateral.h.

Referenced by pcl::FastBilateralFilter< PointT >::getSigmaS(), and pcl::FastBilateralFilter< PointT >::setSigmaS().

The documentation for this class was generated from the following files:

- pcl/filters/fast_bilateral.h
- pcl/filters/impl/fast_bilateral.hpp