Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::SpectralAngleKernelFunctor Class Reference

Spectral Angle Kernel. More...

#include <otbSpectralAngleKernelFunctor.h>

+ Inheritance diagram for otb::SpectralAngleKernelFunctor:
+ Collaboration diagram for otb::SpectralAngleKernelFunctor:

Public Types

typedef SpectralAngleKernelFunctor Self
typedef GenericKernelFunctorBase Superclass

Public Member Functions

 SpectralAngleKernelFunctor ()
virtual ~SpectralAngleKernelFunctor ()
virtual GenericKernelFunctorBase * Clone () const
double operator() (const svm_node *x, const svm_node *y, const svm_parameter &param) const
void Update ()

Protected Member Functions

 SpectralAngleKernelFunctor (const Self &copy)
SpectralAngleKernelFunctoroperator= (const Self &copy)

Private Member Functions

double SAM (const svm_node *x, const svm_node *y) const

Private Attributes

double m_Coef

Detailed Description

Spectral Angle Kernel.

Performs an inverse multiquadric kernel evaluation that suits spectral data.

It is of kind:

\( frac{1}{\sqrt{ c_0 + \cos\textrm{SAM(x, y)} }} \) where \( \textrm{SAM(x, y)} \) is Spectral Angle Measure: \( \textrm{SAM}(x, y) = \cos^{-1}\left( \frac{x \cdot y}{\|x\| \|y\|} \right) \).

The only parameter \( c_0 \) is to be fixed by the


interface with keyword Coef (def 2.0).

Definition at line 45 of file otbSpectralAngleKernelFunctor.h.

Member Typedef Documentation

Definition at line 49 of file otbSpectralAngleKernelFunctor.h.

typedef GenericKernelFunctorBase otb::SpectralAngleKernelFunctor::Superclass

Definition at line 50 of file otbSpectralAngleKernelFunctor.h.

Constructor & Destructor Documentation

otb::SpectralAngleKernelFunctor::SpectralAngleKernelFunctor ( )

Definition at line 29 of file otbSpectralAngleKernelFunctor.cxx.

virtual otb::SpectralAngleKernelFunctor::~SpectralAngleKernelFunctor ( )

Definition at line 62 of file otbSpectralAngleKernelFunctor.h.

otb::SpectralAngleKernelFunctor::SpectralAngleKernelFunctor ( const Self copy)

Definition at line 69 of file otbSpectralAngleKernelFunctor.h.

Member Function Documentation

virtual GenericKernelFunctorBase* otb::SpectralAngleKernelFunctor::Clone ( ) const

Definition at line 53 of file otbSpectralAngleKernelFunctor.h.

double otb::SpectralAngleKernelFunctor::operator() ( const svm_node *  x,
const svm_node *  y,
const svm_parameter &  param 
) const

Definition at line 46 of file otbSpectralAngleKernelFunctor.cxx.

SpectralAngleKernelFunctor& otb::SpectralAngleKernelFunctor::operator= ( const Self copy)

Definition at line 76 of file otbSpectralAngleKernelFunctor.h.

References Update().

double otb::SpectralAngleKernelFunctor::SAM ( const svm_node *  x,
const svm_node *  y 
) const

Definition at line 58 of file otbSpectralAngleKernelFunctor.cxx.

void otb::SpectralAngleKernelFunctor::Update ( void  )

Specific implementation of

to split m_MapParameters into specific variables to speed up kernel evaluations

Definition at line 39 of file otbSpectralAngleKernelFunctor.cxx.

Referenced by operator=().

Member Data Documentation

double otb::SpectralAngleKernelFunctor::m_Coef

Definition at line 87 of file otbSpectralAngleKernelFunctor.h.

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