OTB  9.0.0
Orfeo Toolbox
List of all members
otb::Functor::CzihoSOMLearningBehaviorFunctor Class Reference

#include <otbCzihoSOMLearningBehaviorFunctor.h>

unsigned int m_IterationThreshold
 
 CzihoSOMLearningBehaviorFunctor ()
 
virtual ~CzihoSOMLearningBehaviorFunctor ()
 
unsigned int GetIterationThreshold ()
 
template<unsigned int VDimension>
void SetIterationThreshold (const itk::Size< VDimension > &sizeInit, unsigned int iterMax)
 
virtual double operator() (unsigned int currentIteration, unsigned int numberOfIterations, double betaInit, double betaEnd) const
 

Detailed Description

Beta behavior over SOM training phase.

This class implements an evolution of the $ \beta $ weightening coefficient over the SOM training. It is issued from A. Cziho's PhD: "Compression d'images et analyse de contenu par quantification vectorielle" PhD dissertation, University of Rennes I, Rennes, France. May 5th, 1999.

Its behavior is decomposed into two steps depending on the number of iterations:

\[ \beta = \begin{cases} \beta_0 \left( 1 - \frac{t}{t_0} \right) & \textrm{ if } t < t_0 \\ \beta_{\textrm{end}} \left( 1- \frac{t-t_O}{t_{\textrm{end}}-t_0} \right) & \textrm{ if } t_0 \leqslant t < t_{\textrm{end}} \end{cases} \]

where $ t_0 $ stands for IterationThreshold.

CzihoSOMLearningBehaviorFunctor uses some parameters of the SOM class such as: BetaInit, BetaEnd, NumberOfIterations, but also NeighborhoodSizeInit which may be (surprisingly) required for the IterationThreshold.

The functor function uses

NumberOfIterations

,

BetaInit

,

BetaEnd

parameters, that is why it is necessary to call a specific method for

IterationThreshold

initialization.

See also
SOM

Definition at line 65 of file otbCzihoSOMLearningBehaviorFunctor.h.

Constructor & Destructor Documentation

◆ CzihoSOMLearningBehaviorFunctor()

otb::Functor::CzihoSOMLearningBehaviorFunctor::CzihoSOMLearningBehaviorFunctor ( )
inline

Empty constructor / descructor

Definition at line 69 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

◆ ~CzihoSOMLearningBehaviorFunctor()

virtual otb::Functor::CzihoSOMLearningBehaviorFunctor::~CzihoSOMLearningBehaviorFunctor ( )
inlinevirtual

Empty constructor / descructor

Definition at line 73 of file otbCzihoSOMLearningBehaviorFunctor.h.

Member Function Documentation

◆ GetIterationThreshold()

unsigned int otb::Functor::CzihoSOMLearningBehaviorFunctor::GetIterationThreshold ( )
inline

Accessors

Definition at line 79 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

◆ operator()()

virtual double otb::Functor::CzihoSOMLearningBehaviorFunctor::operator() ( unsigned int  currentIteration,
unsigned int  numberOfIterations,
double  betaInit,
double  betaEnd 
) const
inlinevirtual

Functor

Definition at line 98 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

◆ SetIterationThreshold()

template<unsigned int VDimension>
void otb::Functor::CzihoSOMLearningBehaviorFunctor::SetIterationThreshold ( const itk::Size< VDimension > &  sizeInit,
unsigned int  iterMax 
)
inline

Empty constructor / descructor

Definition at line 85 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

Member Data Documentation

◆ m_IterationThreshold

unsigned int otb::Functor::CzihoSOMLearningBehaviorFunctor::m_IterationThreshold
private

Empty constructor / descructor

Definition at line 112 of file otbCzihoSOMLearningBehaviorFunctor.h.

Referenced by CzihoSOMLearningBehaviorFunctor(), GetIterationThreshold(), operator()(), and SetIterationThreshold().


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