Ponca  2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::GLSDer< DataPoint, _NFilter, DiffType, T > Class Template Reference

Differentiation of GLSParam. More...

#include <gls.h>

Inheritance diagram for Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >:
Collaboration diagram for Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >:

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
using VectorType = typename Base::VectorType
 Alias to vector type.
using NeighborFilter = typename Base::NeighborFilter
 Alias to the filter applied on the neighbors.
using ScalarArray = typename Base::ScalarArray
 Alias to scalar derivatives array.
using VectorArray = typename Base::VectorArray
 Alias to vector derivatives array.

Public Member Functions

GLSDer< DataPoint, _NFilter, DiffType, T > & glsDer ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const GLSDer< DataPoint, _NFilter, DiffType, T > & glsDer () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
GLSDer< DataPoint, _NFilter, DiffType, T > & geomVar ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const GLSDer< DataPoint, _NFilter, DiffType, T > & geomVar () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
ScalarArray dtau () const
 Compute and return \( \tau \) derivatives.
VectorArray deta () const
 Compute and return \( \eta \) derivatives.
ScalarArray dkappa () const
 Compute and return \( \kappa \) derivatives.
ScalarArray dtau_normalized () const
 Compute and return \( \tau \) derivatives.
VectorArray deta_normalized () const
 Compute and return \( t * d\eta \).
ScalarArray dkappa_normalized () const
 Compute and return \( d\kappa * t^{2} \).
Scalar geomVar (Scalar wtau=Scalar(1), Scalar weta=Scalar(1), Scalar wkappa=Scalar(1)) const
 The Geometric Variation is computed as the weighted sum of the GLS scale-invariant partial derivatives.

Protected Types

using Base = T
 Base class of the procedure.

Detailed Description

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
class Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >

Differentiation of GLSParam.

Method published in [14]

Definition at line 121 of file gls.h.

Member Typedef Documentation

◆ Base

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::Base = T
protected

Base class of the procedure.

Definition at line 123 of file gls.h.

◆ NeighborFilter

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::NeighborFilter = typename Base::NeighborFilter

Alias to the filter applied on the neighbors.

Definition at line 123 of file gls.h.

◆ Scalar

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 123 of file gls.h.

◆ ScalarArray

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::ScalarArray = typename Base::ScalarArray

Alias to scalar derivatives array.

Definition at line 124 of file gls.h.

◆ VectorArray

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::VectorArray = typename Base::VectorArray

Alias to vector derivatives array.

Definition at line 124 of file gls.h.

◆ VectorType

template<class DataPoint, class _NFilter, int DiffType, typename T>
using Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 123 of file gls.h.

Member Function Documentation

◆ deta()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::VectorArray GLSDer::deta ( ) const
inline

Compute and return \( \eta \) derivatives.

Definition at line 42 of file gls.h.

◆ deta_normalized()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::VectorArray GLSDer::deta_normalized ( ) const
inline

Compute and return \( t * d\eta \).

Definition at line 71 of file gls.h.

◆ dkappa()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::ScalarArray GLSDer::dkappa ( ) const
inline

Compute and return \( \kappa \) derivatives.

Definition at line 49 of file gls.h.

◆ dkappa_normalized()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::ScalarArray GLSDer::dkappa_normalized ( ) const
inline

Compute and return \( d\kappa * t^{2} \).

Definition at line 79 of file gls.h.

◆ dtau()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::ScalarArray GLSDer::dtau ( ) const
inline

Compute and return \( \tau \) derivatives.

Definition at line 24 of file gls.h.

◆ dtau_normalized()

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
GLSDer< DataPoint, _NFilter, DiffType, T >::ScalarArray GLSDer::dtau_normalized ( ) const
inline

Compute and return \( \tau \) derivatives.

Definition at line 63 of file gls.h.

◆ geomVar() [1/3]

template<class DataPoint, class _NFilter, int DiffType, typename T>
GLSDer< DataPoint, _NFilter, DiffType, T > & Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::geomVar ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 127 of file gls.h.

◆ geomVar() [2/3]

template<class DataPoint, class _NFilter, int DiffType, typename T>
const GLSDer< DataPoint, _NFilter, DiffType, T > & Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::geomVar ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 127 of file gls.h.

◆ geomVar() [3/3]

template<class DataPoint, class _NFilter, int DiffType, typename T>
Scalar Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::geomVar ( Scalar wtau = Scalar(1),
Scalar weta = Scalar(1),
Scalar wkappa = Scalar(1) ) const
inline

The Geometric Variation is computed as the weighted sum of the GLS scale-invariant partial derivatives.

\[ \nu(\mathbf{p},t) = w_\tau \left(\frac{\delta\tau}{\delta t}\right)^2 + w_\eta \left( t \frac{\delta\eta}{\delta t}\right)^2 + w_\kappa \left( t^2 \frac{\delta\kappa}{\delta t}\right)^2 \]

Method published in [14]

Parameters
wtauWeight applied to \( \tau \)
wetaWeight applied to \( \eta \)
wkappaWeight applied to \( \kappa \)
Returns

◆ glsDer() [1/2]

template<class DataPoint, class _NFilter, int DiffType, typename T>
GLSDer< DataPoint, _NFilter, DiffType, T > & Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::glsDer ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 126 of file gls.h.

◆ glsDer() [2/2]

template<class DataPoint, class _NFilter, int DiffType, typename T>
const GLSDer< DataPoint, _NFilter, DiffType, T > & Ponca::GLSDer< DataPoint, _NFilter, DiffType, T >::glsDer ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 126 of file gls.h.