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

SetValue

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 ( )
inlinevirtual

Definition at line 62 of file otbSpectralAngleKernelFunctor.h.

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

Definition at line 69 of file otbSpectralAngleKernelFunctor.h.

Member Function Documentation

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

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)
inlineprotected

Definition at line 76 of file otbSpectralAngleKernelFunctor.h.

References Update().

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

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
private

Definition at line 87 of file otbSpectralAngleKernelFunctor.h.


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