Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
pcl::filters::GaussianKernel< PointInT, PointOutT > Class Template Reference

Gaussian kernel implementation interface Use this as implementation reference. More...

#include <pcl/filters/convolution_3d.h>

Inheritance diagram for pcl::filters::GaussianKernel< PointInT, PointOutT >:

Public Types

using Ptr = shared_ptr<GaussianKernel<PointInT, PointOutT> >
using ConstPtr = shared_ptr<GaussianKernel<PointInT, PointOutT> >
Public Types inherited from pcl::filters::ConvolvingKernel< PointInT, PointOutT >
using Ptr = shared_ptr<ConvolvingKernel<PointInT, PointOutT> >
using ConstPtr = shared_ptr<const ConvolvingKernel<PointInT, PointOutT> >
using PointCloudInConstPtr = typename PointCloud<PointInT>::ConstPtr

Public Member Functions

 GaussianKernel ()
 Default constructor.
void setSigma (float sigma)
 Set the sigma parameter of the Gaussian.
void setThresholdRelativeToSigma (float sigma_coefficient)
 Set the distance threshold relative to a sigma factor i.e.
void setThreshold (float threshold)
 Set the distance threshold such as pi, ||pi - q|| > threshold are not considered.
bool initCompute ()
 Must call this method before doing any computation.
virtual PointOutT operator() (const Indices &indices, const std::vector< float > &distances)
 Convolve point at the center of this local information.
Public Member Functions inherited from pcl::filters::ConvolvingKernel< PointInT, PointOutT >
 ConvolvingKernel ()
 empty constructor
virtual ~ConvolvingKernel ()=default
 empty destructor
void setInputCloud (const PointCloudInConstPtr &input)
 Set input cloud.

Protected Attributes

float sigma_
float sigma_sqr_
float threshold_
boost::optional< float > sigma_coefficient_
Protected Attributes inherited from pcl::filters::ConvolvingKernel< PointInT, PointOutT >
PointCloudInConstPtr input_
 source cloud

Additional Inherited Members

Static Public Member Functions inherited from pcl::filters::ConvolvingKernel< PointInT, PointOutT >
static void makeInfinite (PointOutT &p)
 Utility function that annihilates a point making it fail the pcl::isFinite test.

Detailed Description

template<typename PointInT, typename PointOutT>
class pcl::filters::GaussianKernel< PointInT, PointOutT >

Gaussian kernel implementation interface Use this as implementation reference.

Definition at line 115 of file convolution_3d.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointInT, typename PointOutT>
using pcl::filters::GaussianKernel< PointInT, PointOutT >::ConstPtr = shared_ptr<GaussianKernel<PointInT, PointOutT> >

Definition at line 123 of file convolution_3d.h.

◆ Ptr

template<typename PointInT, typename PointOutT>
using pcl::filters::GaussianKernel< PointInT, PointOutT >::Ptr = shared_ptr<GaussianKernel<PointInT, PointOutT> >

Definition at line 122 of file convolution_3d.h.

Constructor & Destructor Documentation

◆ GaussianKernel()

template<typename PointInT, typename PointOutT>
pcl::filters::GaussianKernel< PointInT, PointOutT >::GaussianKernel ( )
inline

Member Function Documentation

◆ initCompute()

template<typename PointInT, typename PointOutT>
bool pcl::filters::GaussianKernel< PointInT, PointOutT >::initCompute ( )
virtual

Must call this method before doing any computation.

Reimplemented from pcl::filters::ConvolvingKernel< PointInT, PointOutT >.

Definition at line 84 of file convolution_3d.hpp.

References sigma_, sigma_coefficient_, sigma_sqr_, and threshold_.

◆ operator()()

template<typename PointInT, typename PointOutT>
PointOutT pcl::filters::GaussianKernel< PointInT, PointOutT >::operator() ( const Indices & indices,
const std::vector< float > & distances )
virtual

Convolve point at the center of this local information.

Parameters
[in]indicesindices of the point in the source point cloud
[in]distanceseuclidean distance squared from the query point
Returns
the convolved point

Implements pcl::filters::ConvolvingKernel< PointInT, PointOutT >.

Reimplemented in pcl::filters::GaussianKernelRGB< PointInT, PointOutT >.

Definition at line 109 of file convolution_3d.hpp.

References pcl::filters::ConvolvingKernel< PointInT, PointOutT >::input_, pcl::isFinite(), pcl::filters::ConvolvingKernel< PointInT, PointOutT >::makeInfinite(), sigma_sqr_, and threshold_.

◆ setSigma()

template<typename PointInT, typename PointOutT>
void pcl::filters::GaussianKernel< PointInT, PointOutT >::setSigma ( float sigma)
inline

Set the sigma parameter of the Gaussian.

Parameters
[in]sigma

Definition at line 136 of file convolution_3d.h.

References sigma_, and sigma_sqr_.

◆ setThreshold()

template<typename PointInT, typename PointOutT>
void pcl::filters::GaussianKernel< PointInT, PointOutT >::setThreshold ( float threshold)
inline

Set the distance threshold such as pi, ||pi - q|| > threshold are not considered.

Definition at line 149 of file convolution_3d.h.

References threshold_.

◆ setThresholdRelativeToSigma()

template<typename PointInT, typename PointOutT>
void pcl::filters::GaussianKernel< PointInT, PointOutT >::setThresholdRelativeToSigma ( float sigma_coefficient)
inline

Set the distance threshold relative to a sigma factor i.e.

points such as ||pi - q|| > sigma_coefficient^2 * sigma^2 are not considered.

Definition at line 142 of file convolution_3d.h.

References sigma_coefficient_.

Member Data Documentation

◆ sigma_

template<typename PointInT, typename PointOutT>
float pcl::filters::GaussianKernel< PointInT, PointOutT >::sigma_
protected

Definition at line 158 of file convolution_3d.h.

Referenced by GaussianKernel(), initCompute(), and setSigma().

◆ sigma_coefficient_

template<typename PointInT, typename PointOutT>
boost::optional<float> pcl::filters::GaussianKernel< PointInT, PointOutT >::sigma_coefficient_
protected

Definition at line 161 of file convolution_3d.h.

Referenced by initCompute(), and setThresholdRelativeToSigma().

◆ sigma_sqr_

template<typename PointInT, typename PointOutT>
float pcl::filters::GaussianKernel< PointInT, PointOutT >::sigma_sqr_
protected

◆ threshold_

template<typename PointInT, typename PointOutT>
float pcl::filters::GaussianKernel< PointInT, PointOutT >::threshold_
protected

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