OTB  6.7.0
Orfeo Toolbox
Public Member Functions | Private Attributes | List of all members
otb::Functor::CzihoSOMLearningBehaviorFunctor Class Reference

#include <otbCzihoSOMLearningBehaviorFunctor.h>

Public Member Functions

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

Private Attributes

unsigned int m_IterationThreshold
 

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

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

Empty constructor / descructor

Definition at line 69 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

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

Empty constructor / descructor

Definition at line 73 of file otbCzihoSOMLearningBehaviorFunctor.h.

Member Function Documentation

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

Accessors

Definition at line 77 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

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

Functor

Definition at line 96 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

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

Definition at line 83 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

Member Data Documentation

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

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