Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
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

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

#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 Self
ConstPointer
 
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, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >
typedef itk::SmartPointer
< const Self
ConstPointer
 
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 TSOMLearningBehaviorFunctor SOMLearningBehaviorFunctorType
 
typedef
TSOMNeighborhoodBehaviorFunctor 
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, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual double GetBetaEnd ()
 
virtual double GetBetaInit ()
 
virtual ListSampleTypeGetListSample ()
 
virtual SizeType GetMapSize ()
 
virtual ValueType GetMaxWeight ()
 
virtual ValueType GetMinWeight ()
 
virtual SizeType GetNeighborhoodSizeInit ()
 
virtual unsigned int GetNumberOfIterations ()
 
virtual bool GetRandomInit ()
 
virtual unsigned int GetSeed ()
 
virtual void SetBetaEnd (double _arg)
 
void SetBetaFunctor (const SOMLearningBehaviorFunctorType &functor)
 
virtual void SetBetaInit (double _arg)
 
virtual void SetListSample (ListSampleType *_arg)
 
virtual void SetMapSize (SizeType _arg)
 
virtual void SetMaxWeight (ValueType _arg)
 
virtual void SetMinWeight (ValueType _arg)
 
void SetNeighborhoodSizeFunctor (const SOMNeighborhoodBehaviorFunctorType &functor)
 
virtual void SetNeighborhoodSizeInit (SizeType _arg)
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual void SetRandomInit (bool _arg)
 
virtual void SetSeed (unsigned int _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::ImageSource< TMap >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter (void)
 

Protected Member Functions

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

Private Member Functions

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

Additional Inherited Members

- Static Public Attributes inherited from otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >
static const unsigned int MapDimension = MapType::ImageDimension
 

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 intialization can be modified.

See Also
SOMMap
SOMActivationBuilder
CzihoSOMLearningBehaviorFunctor
CzihoSOMNeighborhoodBehaviorFunctor

Definition at line 58 of file otbPeriodicSOM.h.

Member Typedef Documentation

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 68 of file otbPeriodicSOM.h.

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 81 of file otbPeriodicSOM.h.

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 77 of file otbPeriodicSOM.h.

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 74 of file otbPeriodicSOM.h.

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 84 of file otbPeriodicSOM.h.

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 78 of file otbPeriodicSOM.h.

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 79 of file otbPeriodicSOM.h.

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 67 of file otbPeriodicSOM.h.

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 83 of file otbPeriodicSOM.h.

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 63 of file otbPeriodicSOM.h.

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 82 of file otbPeriodicSOM.h.

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 66 of file otbPeriodicSOM.h.

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 80 of file otbPeriodicSOM.h.

Constructor & Destructor Documentation

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 88 of file otbPeriodicSOM.h.

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

Destructor

Definition at line 90 of file otbPeriodicSOM.h.

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

Member Function Documentation

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::AllocateOutputs ( )
inlineprotectedvirtual
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
template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::GenerateData ( void  )
inlineprotectedvirtual
template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::GenerateOutputInformation ( void  )
inlineprotectedvirtual
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
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

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::operator= ( const Self )
private
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
inlineprotected

PrintSelf method

Definition at line 121 of file otbPeriodicSOM.h.

template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor = Functor::CzihoSOMLearningBehaviorFunctor, class TSOMNeighborhoodBehaviorFunctor = Functor::CzihoSOMNeighborhoodBehaviorFunctor>
virtual void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Step ( unsigned int  currentIteration)
inlineprotectedvirtual
template<class TListSample , class TMap , class TSOMLearningBehaviorFunctor , class TSOMNeighborhoodBehaviorFunctor >
void otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::UpdateMap ( const NeuronType sample,
double  beta,
SizeType radius 
)
protectedvirtual

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, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >.

Reimplemented in otb::SOMWithMissingValue< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >.

Definition at line 43 of file otbPeriodicSOM.txx.


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