OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor > Class Template Reference

#include <otbPeriodicSOM.h>

+ Inheritance diagram for otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >:
+ Collaboration diagram for otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef MapType::IndexType IndexType
 
typedef ListSampleType::Pointer ListSamplePointerType
 
typedef TListSample ListSampleType
 
typedef MapType::Pointer MapPointerType
 
typedef TMap MapType
 
typedef MapType::PixelType NeuronType
 
typedef itk::SmartPointer< SelfPointer
 
typedef MapType::RegionType RegionType
 
typedef PeriodicSOM Self
 
typedef MapType::SizeType SizeType
 
typedef SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor > Superclass
 
typedef NeuronType::ValueType ValueType
 
- Public Types inherited from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef MapType::IndexType IndexType
 
typedef ListSampleType::Pointer ListSamplePointerType
 
typedef TListSample ListSampleType
 
typedef MapType::Pointer MapPointerType
 
typedef TMap MapType
 
typedef MapType::PixelType NeuronType
 
typedef itk::SmartPointer< SelfPointer
 
typedef MapType::RegionType RegionType
 
typedef SOM Self
 
typedef MapType::SizeType SizeType
 
typedef Functor::CzihoSOMLearningBehaviorFunctor SOMLearningBehaviorFunctorType
 
typedef Functor::CzihoSOMNeighborhoodBehaviorFunctor SOMNeighborhoodBehaviorFunctorType
 
typedef itk::ImageSource< TMap > Superclass
 
typedef NeuronType::ValueType ValueType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual unsigned int GetNumberOfIterations ()
 
virtual void SetBetaInit (double _arg)
 
virtual double GetBetaInit ()
 
virtual void SetBetaEnd (double _arg)
 
virtual double GetBetaEnd ()
 
virtual void SetMinWeight (ValueType _arg)
 
virtual ValueType GetMinWeight ()
 
virtual void SetMaxWeight (ValueType _arg)
 
virtual ValueType GetMaxWeight ()
 
virtual void SetMapSize (SizeType _arg)
 
virtual SizeType GetMapSize ()
 
virtual void SetNeighborhoodSizeInit (SizeType _arg)
 
virtual SizeType GetNeighborhoodSizeInit ()
 
virtual void SetRandomInit (bool _arg)
 
virtual bool GetRandomInit ()
 
virtual void SetSeed (unsigned int _arg)
 
virtual unsigned int GetSeed ()
 
 itkGetObjectMacro (ListSample, ListSampleType)
 
virtual void SetListSample (ListSampleType *_arg)
 
void SetBetaFunctor (const SOMLearningBehaviorFunctorType &functor)
 
void SetNeighborhoodSizeFunctor (const SOMNeighborhoodBehaviorFunctorType &functor)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >
static Pointer New ()
 

Protected Member Functions

void AllocateOutputs () override
 
void GenerateData (void) override
 
void GenerateOutputInformation () override
 
 PeriodicSOM ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void Step (unsigned int currentIteration) override
 
void UpdateMap (const NeuronType &sample, double beta, SizeType &radius) override
 
 ~PeriodicSOM () override
 
- Protected Member Functions inherited from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >
 SOM ()
 
 ~SOM () override
 
void GenerateOutputInformation () override
 
void AllocateOutputs () override
 
void GenerateData (void) override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Private Member Functions

void operator= (const Self &)=delete
 
 PeriodicSOM (const Self &)=delete
 

Additional Inherited Members

- Static Public Attributes inherited from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >
static const unsigned int MapDimension
 

Detailed Description

template<class TListSample, class TMap, class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
class otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >

This class is responsible for the learning of a self organizing map when considered as a torus.

This class extends the SOM object which implements the Self Organizing Map (or Kohonen map) learning.

The learning process iteratively select the best-response neuron for each input vector, enhancing its response and the response of its neighbors with respect to a certain radius, computed from an initial radius, and to a certain learning factor, decreasing at each iteration.

The behavior of the neighborhood is given by a functor (templated) which parameter is the current iteration. It returns a neighborhood of type

.

The behavior of the learning factor (hold by a beta variable) is given by an other functor which parameter is the current iteration. It returns a beta value of type

double

.

The SOMMap produced as output can be either initialized with a constant custom value or randomly generated following a normal law. The seed for the random initialization can be modified.

See also
SOMMap
SOMActivationBuilder
CzihoSOMLearningBehaviorFunctor
CzihoSOMNeighborhoodBehaviorFunctor

Definition at line 61 of file otbPeriodicSOM.h.

Member Typedef Documentation

◆ ConstPointer

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef itk::SmartPointer<const Self> otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ConstPointer

Definition at line 69 of file otbPeriodicSOM.h.

◆ IndexType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef MapType::IndexType otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::IndexType

Definition at line 82 of file otbPeriodicSOM.h.

◆ ListSamplePointerType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef ListSampleType::Pointer otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ListSamplePointerType

Definition at line 78 of file otbPeriodicSOM.h.

◆ ListSampleType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef TListSample otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ListSampleType

Definition at line 75 of file otbPeriodicSOM.h.

◆ MapPointerType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef MapType::Pointer otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::MapPointerType

Definition at line 85 of file otbPeriodicSOM.h.

◆ MapType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef TMap otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::MapType

Definition at line 79 of file otbPeriodicSOM.h.

◆ NeuronType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef MapType::PixelType otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::NeuronType

Definition at line 80 of file otbPeriodicSOM.h.

◆ Pointer

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef itk::SmartPointer<Self> otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Pointer

Definition at line 68 of file otbPeriodicSOM.h.

◆ RegionType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef MapType::RegionType otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::RegionType

Definition at line 84 of file otbPeriodicSOM.h.

◆ Self

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef PeriodicSOM otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Self

Standard typedefs

Definition at line 66 of file otbPeriodicSOM.h.

◆ SizeType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef MapType::SizeType otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::SizeType

Definition at line 83 of file otbPeriodicSOM.h.

◆ Superclass

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef SOM<TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor> otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Superclass

Definition at line 67 of file otbPeriodicSOM.h.

◆ ValueType

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
typedef NeuronType::ValueType otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ValueType

Definition at line 81 of file otbPeriodicSOM.h.

Constructor & Destructor Documentation

◆ PeriodicSOM() [1/2]

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::PeriodicSOM ( )
inlineprotected

Constructor

Definition at line 89 of file otbPeriodicSOM.h.

◆ ~PeriodicSOM()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::~PeriodicSOM ( )
inlineoverrideprotected

Destructor

Definition at line 94 of file otbPeriodicSOM.h.

◆ PeriodicSOM() [2/2]

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::PeriodicSOM ( const Self )
privatedelete

Member Function Documentation

◆ AllocateOutputs()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::AllocateOutputs ( )
inlineoverrideprotected

Output allocation redefinition

Definition at line 105 of file otbPeriodicSOM.h.

◆ CreateAnother()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual::itk::LightObject::Pointer otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::CreateAnother ( void  ) const

◆ GenerateData()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::GenerateData ( void  )
inlineoverrideprotected

Main computation method

Definition at line 111 of file otbPeriodicSOM.h.

◆ GenerateOutputInformation()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::GenerateOutputInformation ( )
inlineoverrideprotected

Output information redefinition

Definition at line 99 of file otbPeriodicSOM.h.

◆ GetNameOfClass()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual const char* otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::GetNameOfClass ( ) const
virtual

Runtime information macro

◆ New()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
static Pointer otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::New ( )
static

Creation through object factory macro

◆ operator=()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
inlineoverrideprotected

PrintSelf method

Definition at line 133 of file otbPeriodicSOM.h.

◆ Step()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Step ( unsigned int  currentIteration)
inlineoverrideprotectedvirtual

◆ UpdateMap()

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor , class TSOMNeighborhoodBehaviorFunctor >
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::UpdateMap ( const NeuronType sample,
double  beta,
SizeType radius 
)
overrideprotectedvirtual

Update the output map with a new sample.

Parameters
sampleThe new sample to learn,
betaThe learning coefficient,
radiusThe radius of the nieghbourhood.

Update the output map with a new sample.

Parameters
sampleThe new sample to learn,
betaThe learning coefficient,
radiusThe radius of the neighbourhood.

Reimplemented from otb::SOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >.

Definition at line 41 of file otbPeriodicSOM.hxx.


The documentation for this class was generated from the following files:
otb::PeriodicSOM::SizeType
MapType::SizeType SizeType
Definition: otbPeriodicSOM.h:83