Loading...
Searching...
No Matches
pcl::FastBilateralFilterOMP< 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_omp.h>`

Inheritance diagram for pcl::FastBilateralFilterOMP< PointT >:

## Public Types

using | Ptr = shared_ptr<FastBilateralFilterOMP<PointT> >
using | ConstPtr = shared_ptr<const FastBilateralFilterOMP<PointT> >
Public Types inherited from pcl::FastBilateralFilter< PointT >
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

| FastBilateralFilterOMP (unsigned int nr_threads=0)
| Empty constructor.
void | setNumberOfThreads (unsigned int nr_threads=0)
| Initialize the scheduler and set the number of threads to use.
void | applyFilter (PointCloud &output) override
| Filter the input data and store the results into output.
Public Member Functions inherited from pcl::FastBilateralFilter< PointT >
| FastBilateralFilter ()=default
| Empty constructor.
| ~FastBilateralFilter () override=default
| Empty destructor.
void | setSigmaS (float sigma_s)
| Set the standard deviation of the Gaussian used by the bilateral filter for the spatial neighborhood/window.
float | getSigmaS () const
| Get the size of the Gaussian bilateral filter window as set by the user.
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).
float | getSigmaR () const
| Get the standard deviation of the Gaussian for the intensity difference.
Public Member Functions inherited from pcl::Filter< PointT >
| Filter (bool extract_removed_indices=false)
| Empty constructor.
IndicesConstPtr const | getRemovedIndices () const
| Get the point indices being removed.
void | getRemovedIndices (PointIndices &pi)
| Get the point indices being removed.
void | filter (PointCloud &output)
| Calls the filtering method and returns the filtered dataset in output.
Public Member Functions inherited from pcl::PCLBase< PointT >
| PCLBase ()
| Empty constructor.
| PCLBase (const PCLBase &base)
| Copy constructor.
virtual | ~PCLBase ()=default
| Destructor.
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset.
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset.
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
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.
IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used.
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used.
const PointT & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code.

## Protected Types

using | Array3D = typename FastBilateralFilter<PointT>::Array3D
using | PointCloud = typename Filter<PointT>::PointCloud
Protected Types inherited from pcl::FastBilateralFilter< PointT >
using | PointCloud = typename Filter<PointT>::PointCloud

## Protected Attributes

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

## 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.
Protected Member Functions inherited from pcl::PCLBase< PointT >
bool | initCompute ()
| This method should get called before starting the actual computation.
bool | deinitCompute ()
| This method should get called after finishing the actual computation.

## Detailed Description

template<typename PointT>
class pcl::FastBilateralFilterOMP< 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 57 of file fast_bilateral_omp.h.

## Member Typedef Documentation

## Array3D

template<typename PointT>

using pcl::FastBilateralFilterOMP< PointT >::Array3D = typename FastBilateralFilter<PointT>::Array3D

protected

Definition at line 64 of file fast_bilateral_omp.h.

## ConstPtr

template<typename PointT>

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

Definition at line 71 of file fast_bilateral_omp.h.

## PointCloud

template<typename PointT>

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

protected

Definition at line 66 of file fast_bilateral_omp.h.

## Ptr

template<typename PointT>

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

Definition at line 70 of file fast_bilateral_omp.h.

## Constructor & Destructor Documentation

## FastBilateralFilterOMP()

template<typename PointT>

pcl::FastBilateralFilterOMP< PointT >::FastBilateralFilterOMP | ( | unsigned int | nr_threads = 0 | ) |

inline

Empty constructor.

Definition at line 74 of file fast_bilateral_omp.h.

References setNumberOfThreads().

## Member Function Documentation

## applyFilter()

template<typename PointT>

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

override virtual

Filter the input data and store the results into output.

Parameters

  [out] | output | the resultant point cloud

Reimplemented from pcl::FastBilateralFilter< PointT >.

Definition at line 62 of file fast_bilateral_omp.hpp.

References pcl::copyPointCloud(), pcl::FastBilateralFilter< PointT >::early_division_, pcl::PCLBase< PointT >::input_, pcl::FastBilateralFilter< PointT >::sigma_r_, and pcl::FastBilateralFilter< PointT >::sigma_s_.

## setNumberOfThreads()

template<typename PointT>

void pcl::FastBilateralFilterOMP< PointT >::setNumberOfThreads | ( | unsigned int | nr_threads = 0 | ) |

Initialize the scheduler and set the number of threads to use.

Parameters

  nr_threads | the number of hardware threads to use (0 sets the value back to automatic)

Definition at line 48 of file fast_bilateral_omp.hpp.

References threads_.

Referenced by FastBilateralFilterOMP().

## Member Data Documentation

## threads_

template<typename PointT>

unsigned int pcl::FastBilateralFilterOMP< PointT >::threads_

protected

The number of threads the scheduler should use.

Definition at line 93 of file fast_bilateral_omp.h.

Referenced by setNumberOfThreads().

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

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