Ponca  eb7239a9c07e156fb1edc6faac7fe89e2b256bda
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::GaussianWeightKernel< _Scalar > Class Template Reference

Non-compact Gaussian WeightKernel. More...

#include <weightKernel.h>

Inheritance diagram for Ponca::GaussianWeightKernel< _Scalar >:
Collaboration diagram for Ponca::GaussianWeightKernel< _Scalar >:

Public Types

using Scalar = _Scalar
 Scalar type defined outside the class.

Public Member Functions

Scalar f (const Scalar &_x) const
 Defines the Gaussian weighting function \(e^{\frac{-x^2}{2\sigma^2}}\).
Scalar df (const Scalar &_x) const
 Defines the Gaussian weighting function first order derivative \(-e^{\frac{-x^2}{2\sigma^2}}x\).
Scalar ddf (const Scalar &_x) const
 Defines the Gaussian weighting function second order derivative \(e^{\frac{-x^2}{2\sigma^2}}(x^2-1)\).

Static Public Attributes

static constexpr bool isCompact = false
 The kernel is not compact and can be evaluated outside of the scale bounds.
static constexpr bool isDValid = true
 df is defined and valid on the definition interval
static constexpr bool isDDValid = true
 ddf is defined and valid on the definition interval

Detailed Description

template<typename _Scalar>
class Ponca::GaussianWeightKernel< _Scalar >

Non-compact Gaussian WeightKernel.

Note
This is not a distribution, thus the kernel is not normalized in order to have \(f(0)=1\).
Warning
Also, as \(\sigma=t\), a GaussianWeightKernel generates a larger weighting function than a compact kernel, as \(f(1)\approx 0.6\). In order to obtain a comparable weight, it is recommended to scale down \(t\) by a factor of \(0.16\).

Definition at line 301 of file weightKernel.h.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar>
using Ponca::GaussianWeightKernel< _Scalar >::Scalar = _Scalar

Scalar type defined outside the class.

Definition at line 305 of file weightKernel.h.

Member Function Documentation

◆ ddf()

template<typename _Scalar>
Scalar Ponca::GaussianWeightKernel< _Scalar >::ddf ( const Scalar & _x) const
inlinenodiscard

Defines the Gaussian weighting function second order derivative \(e^{\frac{-x^2}{2\sigma^2}}(x^2-1)\).

Definition at line 326 of file weightKernel.h.

◆ df()

template<typename _Scalar>
Scalar Ponca::GaussianWeightKernel< _Scalar >::df ( const Scalar & _x) const
inlinenodiscard

Defines the Gaussian weighting function first order derivative \(-e^{\frac{-x^2}{2\sigma^2}}x\).

Definition at line 323 of file weightKernel.h.

◆ f()

template<typename _Scalar>
Scalar Ponca::GaussianWeightKernel< _Scalar >::f ( const Scalar & _x) const
inlinenodiscard

Defines the Gaussian weighting function \(e^{\frac{-x^2}{2\sigma^2}}\).

As \(x\) is normalized wrt scale such that \( x \in [0:1]\), \(\sigma=0\) and the gaussian kernel boils down to \(e^{\frac{-x^2}{2}}\).

Definition at line 316 of file weightKernel.h.

Member Data Documentation

◆ isCompact

template<typename _Scalar>
bool Ponca::GaussianWeightKernel< _Scalar >::isCompact = false
staticconstexpr

The kernel is not compact and can be evaluated outside of the scale bounds.

Definition at line 308 of file weightKernel.h.

◆ isDDValid

template<typename _Scalar>
bool Ponca::GaussianWeightKernel< _Scalar >::isDDValid = true
staticconstexpr

ddf is defined and valid on the definition interval

Definition at line 333 of file weightKernel.h.

◆ isDValid

template<typename _Scalar>
bool Ponca::GaussianWeightKernel< _Scalar >::isDValid = true
staticconstexpr

df is defined and valid on the definition interval

Definition at line 331 of file weightKernel.h.