OTB
9.0.0
Orfeo Toolbox
|
#include <otbSOM.h>
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< Self > | Pointer |
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 |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | MapDimension = MapType::ImageDimension |
SizeType | m_MapSize |
unsigned int | m_NumberOfIterations |
double | m_BetaInit |
double | m_BetaEnd |
SizeType | m_NeighborhoodSizeInit |
ValueType | m_MinWeight |
ValueType | m_MaxWeight |
bool | m_RandomInit |
unsigned int | m_Seed |
ListSamplePointerType | m_ListSample |
SOMLearningBehaviorFunctorType | m_BetaFunctor |
SOMNeighborhoodBehaviorFunctorType | m_NeighborhoodSizeFunctor |
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) |
SOM () | |
~SOM () override | |
void | GenerateOutputInformation () override |
void | AllocateOutputs () override |
void | GenerateData (void) override |
virtual void | UpdateMap (const NeuronType &sample, double beta, SizeType &radius) |
virtual void | Step (unsigned int currentIteration) |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
SOM (const Self &)=delete | |
void | operator= (const Self &)=delete |
This class is responsible for the learning of a self organizing map from a set of vector represented by the input image (each vector is a pixel of the image).
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.
typedef itk::SmartPointer<const Self> otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ConstPointer |
typedef MapType::IndexType otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::IndexType |
typedef ListSampleType::Pointer otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ListSamplePointerType |
typedef TListSample otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ListSampleType |
typedef MapType::Pointer otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::MapPointerType |
typedef TMap otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::MapType |
typedef MapType::PixelType otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::NeuronType |
typedef itk::SmartPointer<Self> otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Pointer |
typedef MapType::RegionType otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::RegionType |
typedef SOM otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Self |
typedef MapType::SizeType otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::SizeType |
typedef TSOMLearningBehaviorFunctor otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::SOMLearningBehaviorFunctorType |
typedef TSOMNeighborhoodBehaviorFunctor otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::SOMNeighborhoodBehaviorFunctorType |
typedef itk::ImageSource<TMap> otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::Superclass |
typedef NeuronType::ValueType otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::ValueType |
|
protected |
Constructor
Definition at line 38 of file otbSOM.hxx.
|
overrideprotected |
Destructor
Definition at line 58 of file otbSOM.hxx.
|
privatedelete |
Size of the neurons map
|
overrideprotected |
virtual::itk::LightObject::Pointer otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
Main computation method
Definition at line 176 of file otbSOM.hxx.
|
overrideprotected |
Output information redefinition
Definition at line 144 of file otbSOM.hxx.
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Runtime information macro
Reimplemented in otb::PeriodicSOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >.
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >::itkGetObjectMacro | ( | ListSample | , |
ListSampleType | |||
) |
Size of the neurons map
|
static |
Creation through object factory macro
|
privatedelete |
Size of the neurons map
|
overrideprotected |
PrintSelf method
Definition at line 225 of file otbSOM.hxx.
|
virtual |
Size of the neurons map
|
inline |
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
inline |
|
virtual |
Size of the neurons map
|
virtual |
Accessors
|
virtual |
Size of the neurons map
|
virtual |
Size of the neurons map
|
protectedvirtual |
Step one iteration.
Reimplemented in otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >, otb::PeriodicSOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >, and otb::SOMWithMissingValue< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >.
Definition at line 125 of file otbSOM.hxx.
|
protectedvirtual |
Update the output map with a new sample.
sample | The new sample to learn, |
beta | The learning coefficient, |
radius | The radius of the nieghbourhood. |
Reimplemented in otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >, otb::PeriodicSOM< TListSample, TMap, Functor::CzihoSOMLearningBehaviorFunctor, Functor::CzihoSOMNeighborhoodBehaviorFunctor >, and otb::SOMWithMissingValue< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >.
Definition at line 69 of file otbSOM.hxx.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |