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

Differentiation of GLSParam. More...

#include <gls.h>

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

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
 
using VectorType = typename Base::VectorType
 Alias to vector type.
 
using WFunctor = typename Base::WFunctor
 Alias to weight function.
 
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, _WFunctor, DiffType, T > & glsDer ()
 Explicit conversion to GLSDer , to access methods potentially hidden by heritage.
 
const GLSDer< DataPoint, _WFunctor, DiffType, T > & glsDer () const
 Explicit conversion to GLSDer , 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

enum  { Check , PROVIDES_GLS_DERIVATIVE , PROVIDES_GLS_GEOM_VAR }
 
using Base = T
 Base class of the procedure.
 

Detailed Description

template<class DataPoint, class _WFunctor, int DiffType, typename T>
class Ponca::GLSDer< DataPoint, _WFunctor, DiffType, T >

Differentiation of GLSParam.

Method published in [10]

Definition at line 116 of file gls.h.

Member Typedef Documentation

◆ Base

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

Base class of the procedure.

Definition at line 118 of file gls.h.

◆ Scalar

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

Alias to scalar type.

Definition at line 118 of file gls.h.

◆ ScalarArray

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

Alias to scalar derivatives array.

Definition at line 119 of file gls.h.

◆ VectorArray

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

Alias to vector derivatives array.

Definition at line 119 of file gls.h.

◆ VectorType

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

Alias to vector type.

Definition at line 118 of file gls.h.

◆ WFunctor

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

Alias to weight function.

Definition at line 118 of file gls.h.

Member Enumeration Documentation

◆ anonymous enum

template<class DataPoint , class _WFunctor , int DiffType, typename T >
anonymous enum
protected

Definition at line 122 of file gls.h.

Member Function Documentation

◆ deta()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::VectorArray GLSDer::deta ( ) const
inline

Compute and return \( \eta \) derivatives.

Definition at line 42 of file gls.hpp.

◆ deta_normalized()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::VectorArray GLSDer::deta_normalized ( ) const
inline

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

Definition at line 72 of file gls.hpp.

◆ dkappa()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::ScalarArray GLSDer::dkappa ( ) const
inline

Compute and return \( \kappa \) derivatives.

Definition at line 50 of file gls.hpp.

◆ dkappa_normalized()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::ScalarArray GLSDer::dkappa_normalized ( ) const
inline

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

Definition at line 80 of file gls.hpp.

◆ dtau()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::ScalarArray GLSDer::dtau ( ) const
inline

Compute and return \( \tau \) derivatives.

Definition at line 23 of file gls.hpp.

◆ dtau_normalized()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::ScalarArray GLSDer::dtau_normalized ( ) const
inline

Compute and return \( \tau \) derivatives.

Definition at line 64 of file gls.hpp.

◆ geomVar()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
GLSDer< DataPoint, _WFunctor, DiffType, T >::Scalar GLSDer::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 [10]

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

Definition at line 90 of file gls.hpp.

◆ glsDer() [1/2]

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

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

Definition at line 132 of file gls.h.

◆ glsDer() [2/2]

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

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

Definition at line 132 of file gls.h.