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

Beta behavior over SOM training phase. More...

#include <otbCzihoSOMLearningBehaviorFunctor.h>

Public Member Functions

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

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

intialization.

See Also
SOM

Definition at line 60 of file otbCzihoSOMLearningBehaviorFunctor.h.

Constructor & Destructor Documentation

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

Empty constructor / descructor

Definition at line 64 of file otbCzihoSOMLearningBehaviorFunctor.h.

References m_IterationThreshold.

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

Definition at line 68 of file otbCzihoSOMLearningBehaviorFunctor.h.

Member Function Documentation

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

Accessors

Definition at line 71 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 90 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 77 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:

Generated at Sun May 19 2013 04:29:05 for Orfeo Toolbox with doxygen 1.8.3.1