OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | List of all members
otb::SOMModel< TInputValue, MapDimension > Class Template Reference

#include <otbSOMModel.h>

+ Inheritance diagram for otb::SOMModel< TInputValue, MapDimension >:
+ Collaboration diagram for otb::SOMModel< TInputValue, MapDimension >:

Public Types

typedef Superclass::ConfidenceListSampleType ConfidenceListSampleType
 
typedef Superclass::ConfidenceSampleType ConfidenceSampleType
 
typedef Superclass::ConfidenceValueType ConfidenceValueType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputListSampleType InputListSampleType
 
typedef Superclass::InputSampleType InputSampleType
 
typedef Superclass::InputValueType InputValueType
 
typedef InputListSampleType::Pointer ListSamplePointerType
 
typedef SOMMap< itk::VariableLengthVector< TInputValue >, itk::Statistics::EuclideanDistanceMetric< itk::VariableLengthVector< TInputValue > >, MapDimension > MapType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::ProbaListSampleType ProbaListSampleType
 
typedef Superclass::ProbaSampleType ProbaSampleType
 
typedef SOMModel Self
 
typedef MapType::SizeType SizeType
 
typedef Functor::CzihoSOMLearningBehaviorFunctor SOMLearningBehaviorFunctorType
 
typedef Functor::CzihoSOMNeighborhoodBehaviorFunctor SOMNeighborhoodBehaviorFunctorType
 
typedef MapType::SpacingType SpacingType
 
typedef MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > > Superclass
 
typedef Superclass::TargetListSampleType TargetListSampleType
 
typedef Superclass::TargetSampleType TargetSampleType
 
typedef Superclass::TargetValueType TargetValueType
 
- Public Types inherited from otb::MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > >
typedef MachineLearningModel Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef MLMSampleTraits< itk::VariableLengthVector< TInputValue > >::ValueType InputValueType
 
typedef MLMSampleTraits< itk::VariableLengthVector< TInputValue > >::SampleType InputSampleType
 
typedef itk::Statistics::ListSample< InputSampleTypeInputListSampleType
 
typedef MLMTargetTraits< itk::VariableLengthVector< TInputValue > >::ValueType TargetValueType
 
typedef MLMTargetTraits< itk::VariableLengthVector< TInputValue > >::SampleType TargetSampleType
 
typedef itk::Statistics::ListSample< TargetSampleTypeTargetListSampleType
 
typedef MLMTargetTraits< double >::ValueType ConfidenceValueType
 
typedef MLMTargetTraits< double >::SampleType ConfidenceSampleType
 
typedef itk::Statistics::ListSample< ConfidenceSampleTypeConfidenceListSampleType
 
typedef itk::VariableLengthVector< double > ProbaSampleType
 
typedef itk::Statistics::ListSample< ProbaSampleTypeProbaListSampleType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from otb::MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > >
virtual const char * GetNameOfClass () const
 
TargetSampleType Predict (const InputSampleType &input, ConfidenceValueType *quality=nullptr, ProbaSampleType *proba=nullptr) const
 
virtual void SetDimension (unsigned int _arg)
 
virtual unsigned int GetDimension ()
 
TargetListSampleType::Pointer PredictBatch (const InputListSampleType *input, ConfidenceListSampleType *quality=nullptr, ProbaListSampleType *proba=nullptr) const
 
bool HasConfidenceIndex () const
 
bool HasProbaIndex () const
 
virtual void SetInputListSample (InputListSampleType *_arg)
 
 itkGetObjectMacro (InputListSample, InputListSampleType)
 
virtual const InputListSampleTypeGetInputListSample () const
 
 itkGetObjectMacro (TargetListSample, TargetListSampleType)
 
 itkGetObjectMacro (ConfidenceListSample, ConfidenceListSampleType)
 
virtual void SetTargetListSample (TargetListSampleType *_arg)
 
virtual bool GetRegressionMode ()
 
void SetRegressionMode (bool flag)
 

Static Public Member Functions

static Pointer New ()
 
MapType::Pointer m_SOMMap
 
SizeType m_MapSize {0,0}
 
unsigned int m_NumberOfIterations
 
double m_BetaInit
 
double m_BetaEnd
 
SizeType m_NeighborhoodSizeInit {0,0}
 
InputValueType m_MinWeight
 
InputValueType m_MaxWeight
 
bool m_RandomInit
 
unsigned int m_Seed
 
SOMLearningBehaviorFunctorType m_BetaFunctor
 
SOMNeighborhoodBehaviorFunctorType m_NeighborhoodSizeFunctor
 
bool m_WriteMap
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual unsigned int GetNumberOfIterations ()
 
virtual void SetBetaInit (double _arg)
 
virtual double GetBetaInit ()
 
virtual void SetWriteMap (bool _arg)
 
virtual bool GetWriteMap ()
 
virtual void SetBetaEnd (double _arg)
 
virtual double GetBetaEnd ()
 
virtual void SetMinWeight (InputValueType _arg)
 
virtual InputValueType GetMinWeight ()
 
virtual void SetMaxWeight (InputValueType _arg)
 
virtual InputValueType 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 ()
 
bool CanReadFile (const std::string &filename) override
 
bool CanWriteFile (const std::string &filename) override
 
void Save (const std::string &filename, const std::string &name="") override
 
void Load (const std::string &filename, const std::string &name="") override
 
void Train () override
 
 SOMModel ()
 
 ~SOMModel () override
 
virtual TargetSampleType DoPredict (const InputSampleType &input, ConfidenceValueType *quality=nullptr, ProbaSampleType *proba=nullptr) const override
 

Additional Inherited Members

- Protected Member Functions inherited from otb::MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > >
 MachineLearningModel ()
 
 ~MachineLearningModel () override=default
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Attributes inherited from otb::MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > >
InputListSampleType::Pointer m_InputListSample
 
InputListSampleType::Pointer m_ValidationListSample
 
TargetListSampleType::Pointer m_TargetListSample
 
ConfidenceListSampleType::Pointer m_ConfidenceListSample
 
bool m_RegressionMode
 
bool m_IsRegressionSupported
 
bool m_ConfidenceIndex
 
bool m_ProbaIndex
 
bool m_IsDoPredictBatchMultiThreaded
 
unsigned int m_Dimension
 

Detailed Description

template<class TInputValue, unsigned int MapDimension>
class otb::SOMModel< TInputValue, MapDimension >

MachineLearningModel for Self-Organizing Map

Definition at line 42 of file otbSOMModel.h.

Member Typedef Documentation

◆ ConfidenceListSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::ConfidenceListSampleType otb::SOMModel< TInputValue, MapDimension >::ConfidenceListSampleType

Definition at line 61 of file otbSOMModel.h.

◆ ConfidenceSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::ConfidenceSampleType otb::SOMModel< TInputValue, MapDimension >::ConfidenceSampleType

Definition at line 60 of file otbSOMModel.h.

◆ ConfidenceValueType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::ConfidenceValueType otb::SOMModel< TInputValue, MapDimension >::ConfidenceValueType

Definition at line 59 of file otbSOMModel.h.

◆ ConstPointer

template<class TInputValue , unsigned int MapDimension>
typedef itk::SmartPointer<const Self> otb::SOMModel< TInputValue, MapDimension >::ConstPointer

Definition at line 48 of file otbSOMModel.h.

◆ InputListSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::InputListSampleType otb::SOMModel< TInputValue, MapDimension >::InputListSampleType

Definition at line 52 of file otbSOMModel.h.

◆ InputSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::InputSampleType otb::SOMModel< TInputValue, MapDimension >::InputSampleType

Definition at line 51 of file otbSOMModel.h.

◆ InputValueType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::InputValueType otb::SOMModel< TInputValue, MapDimension >::InputValueType

Definition at line 50 of file otbSOMModel.h.

◆ ListSamplePointerType

template<class TInputValue , unsigned int MapDimension>
typedef InputListSampleType::Pointer otb::SOMModel< TInputValue, MapDimension >::ListSamplePointerType

Definition at line 53 of file otbSOMModel.h.

◆ MapType

template<class TInputValue , unsigned int MapDimension>
typedef SOMMap<itk::VariableLengthVector<TInputValue>, itk::Statistics::EuclideanDistanceMetric<itk::VariableLengthVector<TInputValue> >, MapDimension> otb::SOMModel< TInputValue, MapDimension >::MapType

Definition at line 65 of file otbSOMModel.h.

◆ Pointer

template<class TInputValue , unsigned int MapDimension>
typedef itk::SmartPointer<Self> otb::SOMModel< TInputValue, MapDimension >::Pointer

Definition at line 47 of file otbSOMModel.h.

◆ ProbaListSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::ProbaListSampleType otb::SOMModel< TInputValue, MapDimension >::ProbaListSampleType

Definition at line 63 of file otbSOMModel.h.

◆ ProbaSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::ProbaSampleType otb::SOMModel< TInputValue, MapDimension >::ProbaSampleType

Definition at line 62 of file otbSOMModel.h.

◆ Self

template<class TInputValue , unsigned int MapDimension>
typedef SOMModel otb::SOMModel< TInputValue, MapDimension >::Self

Definition at line 45 of file otbSOMModel.h.

◆ SizeType

template<class TInputValue , unsigned int MapDimension>
typedef MapType::SizeType otb::SOMModel< TInputValue, MapDimension >::SizeType

Definition at line 66 of file otbSOMModel.h.

◆ SOMLearningBehaviorFunctorType

template<class TInputValue , unsigned int MapDimension>
typedef Functor::CzihoSOMLearningBehaviorFunctor otb::SOMModel< TInputValue, MapDimension >::SOMLearningBehaviorFunctorType

Definition at line 69 of file otbSOMModel.h.

◆ SOMNeighborhoodBehaviorFunctorType

template<class TInputValue , unsigned int MapDimension>
typedef Functor::CzihoSOMNeighborhoodBehaviorFunctor otb::SOMModel< TInputValue, MapDimension >::SOMNeighborhoodBehaviorFunctorType

Definition at line 70 of file otbSOMModel.h.

◆ SpacingType

template<class TInputValue , unsigned int MapDimension>
typedef MapType::SpacingType otb::SOMModel< TInputValue, MapDimension >::SpacingType

Definition at line 67 of file otbSOMModel.h.

◆ Superclass

template<class TInputValue , unsigned int MapDimension>
typedef MachineLearningModel<itk::VariableLengthVector<TInputValue>, itk::VariableLengthVector<TInputValue> > otb::SOMModel< TInputValue, MapDimension >::Superclass

Definition at line 46 of file otbSOMModel.h.

◆ TargetListSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::TargetListSampleType otb::SOMModel< TInputValue, MapDimension >::TargetListSampleType

Definition at line 56 of file otbSOMModel.h.

◆ TargetSampleType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::TargetSampleType otb::SOMModel< TInputValue, MapDimension >::TargetSampleType

Definition at line 55 of file otbSOMModel.h.

◆ TargetValueType

template<class TInputValue , unsigned int MapDimension>
typedef Superclass::TargetValueType otb::SOMModel< TInputValue, MapDimension >::TargetValueType

Definition at line 54 of file otbSOMModel.h.

Constructor & Destructor Documentation

◆ SOMModel()

template<class TInputValue , unsigned int MapDimension>
otb::SOMModel< TInputValue, MapDimension >::SOMModel
protected

Map size (width, height)

Definition at line 57 of file otbSOMModel.hxx.

◆ ~SOMModel()

template<class TInputValue , unsigned int MapDimension>
otb::SOMModel< TInputValue, MapDimension >::~SOMModel
overrideprotected

Map size (width, height)

Definition at line 63 of file otbSOMModel.hxx.

Member Function Documentation

◆ CanReadFile()

template<class TInputValue , unsigned int MapDimension>
bool otb::SOMModel< TInputValue, MapDimension >::CanReadFile ( const std::string &  filename)
overridevirtual

◆ CanWriteFile()

template<class TInputValue , unsigned int MapDimension>
bool otb::SOMModel< TInputValue, MapDimension >::CanWriteFile ( const std::string &  filename)
overridevirtual

◆ CreateAnother()

template<class TInputValue , unsigned int MapDimension>
virtual::itk::LightObject::Pointer otb::SOMModel< TInputValue, MapDimension >::CreateAnother ( void  ) const

◆ DoPredict()

template<class TInputValue , unsigned int MapDimension>
SOMModel< TInputValue, MapDimension >::TargetSampleType otb::SOMModel< TInputValue, MapDimension >::DoPredict ( const InputSampleType input,
ConfidenceValueType quality = nullptr,
ProbaSampleType proba = nullptr 
) const
overrideprivatevirtual

Map size (width, height)

Definition at line 209 of file otbSOMModel.hxx.

◆ GetBetaEnd()

template<class TInputValue , unsigned int MapDimension>
virtual double otb::SOMModel< TInputValue, MapDimension >::GetBetaEnd ( )
virtual

Map size (width, height)

◆ GetBetaInit()

template<class TInputValue , unsigned int MapDimension>
virtual double otb::SOMModel< TInputValue, MapDimension >::GetBetaInit ( )
virtual

Map size (width, height)

◆ GetMapSize()

template<class TInputValue , unsigned int MapDimension>
virtual SizeType otb::SOMModel< TInputValue, MapDimension >::GetMapSize ( )
virtual

Map size (width, height)

◆ GetMaxWeight()

template<class TInputValue , unsigned int MapDimension>
virtual InputValueType otb::SOMModel< TInputValue, MapDimension >::GetMaxWeight ( )
virtual

Map size (width, height)

◆ GetMinWeight()

template<class TInputValue , unsigned int MapDimension>
virtual InputValueType otb::SOMModel< TInputValue, MapDimension >::GetMinWeight ( )
virtual

Map size (width, height)

◆ GetNameOfClass()

template<class TInputValue , unsigned int MapDimension>
virtual const char* otb::SOMModel< TInputValue, MapDimension >::GetNameOfClass ( ) const
virtual

◆ GetNeighborhoodSizeInit()

template<class TInputValue , unsigned int MapDimension>
virtual SizeType otb::SOMModel< TInputValue, MapDimension >::GetNeighborhoodSizeInit ( )
virtual

Map size (width, height)

◆ GetNumberOfIterations()

template<class TInputValue , unsigned int MapDimension>
virtual unsigned int otb::SOMModel< TInputValue, MapDimension >::GetNumberOfIterations ( )
virtual

Map size (width, height)

◆ GetRandomInit()

template<class TInputValue , unsigned int MapDimension>
virtual bool otb::SOMModel< TInputValue, MapDimension >::GetRandomInit ( )
virtual

Map size (width, height)

◆ GetSeed()

template<class TInputValue , unsigned int MapDimension>
virtual unsigned int otb::SOMModel< TInputValue, MapDimension >::GetSeed ( )
virtual

Map size (width, height)

◆ GetWriteMap()

template<class TInputValue , unsigned int MapDimension>
virtual bool otb::SOMModel< TInputValue, MapDimension >::GetWriteMap ( )
virtual

Map size (width, height)

◆ Load()

template<class TInputValue , unsigned int MapDimension>
void otb::SOMModel< TInputValue, MapDimension >::Load ( const std::string &  filename,
const std::string &  name = "" 
)
overridevirtual

Load the model from file

Read the model key (should be som)

Read the dimension of the map (should be equal to MapDimension)

Implements otb::MachineLearningModel< itk::VariableLengthVector< TInputValue >, itk::VariableLengthVector< TInputValue > >.

Definition at line 149 of file otbSOMModel.hxx.

References otb::internal::BinaryRead().

◆ New()

template<class TInputValue , unsigned int MapDimension>
static Pointer otb::SOMModel< TInputValue, MapDimension >::New ( )
static

◆ Save()

template<class TInputValue , unsigned int MapDimension>
void otb::SOMModel< TInputValue, MapDimension >::Save ( const std::string &  filename,
const std::string &  name = "" 
)
overridevirtual

◆ SetBetaEnd()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetBetaEnd ( double  _arg)
virtual

Map size (width, height)

◆ SetBetaInit()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetBetaInit ( double  _arg)
virtual

Map size (width, height)

◆ SetMapSize()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetMapSize ( SizeType  _arg)
virtual

Map size (width, height)

◆ SetMaxWeight()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetMaxWeight ( InputValueType  _arg)
virtual

Map size (width, height)

◆ SetMinWeight()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetMinWeight ( InputValueType  _arg)
virtual

Map size (width, height)

◆ SetNeighborhoodSizeInit()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetNeighborhoodSizeInit ( SizeType  _arg)
virtual

Map size (width, height)

◆ SetNumberOfIterations()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetNumberOfIterations ( unsigned int  _arg)
virtual

Accessors

◆ SetRandomInit()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetRandomInit ( bool  _arg)
virtual

Map size (width, height)

◆ SetSeed()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetSeed ( unsigned int  _arg)
virtual

Map size (width, height)

◆ SetWriteMap()

template<class TInputValue , unsigned int MapDimension>
virtual void otb::SOMModel< TInputValue, MapDimension >::SetWriteMap ( bool  _arg)
virtual

Map size (width, height)

◆ Train()

template<class TInputValue , unsigned int MapDimension>
void otb::SOMModel< TInputValue, MapDimension >::Train
overridevirtual

Member Data Documentation

◆ m_BetaEnd

template<class TInputValue , unsigned int MapDimension>
double otb::SOMModel< TInputValue, MapDimension >::m_BetaEnd
private

Final learning coefficient

Definition at line 125 of file otbSOMModel.h.

◆ m_BetaFunctor

template<class TInputValue , unsigned int MapDimension>
SOMLearningBehaviorFunctorType otb::SOMModel< TInputValue, MapDimension >::m_BetaFunctor
private

Behavior of the Learning weightening (link to the beta coefficient)

Definition at line 143 of file otbSOMModel.h.

◆ m_BetaInit

template<class TInputValue , unsigned int MapDimension>
double otb::SOMModel< TInputValue, MapDimension >::m_BetaInit
private

Initial learning coefficient

Definition at line 122 of file otbSOMModel.h.

◆ m_MapSize

template<class TInputValue , unsigned int MapDimension>
SizeType otb::SOMModel< TInputValue, MapDimension >::m_MapSize {0,0}
private

Map size (width, height)

Definition at line 116 of file otbSOMModel.h.

◆ m_MaxWeight

template<class TInputValue , unsigned int MapDimension>
InputValueType otb::SOMModel< TInputValue, MapDimension >::m_MaxWeight
private

Maximum initial neuron weights

Definition at line 134 of file otbSOMModel.h.

◆ m_MinWeight

template<class TInputValue , unsigned int MapDimension>
InputValueType otb::SOMModel< TInputValue, MapDimension >::m_MinWeight
private

Minimum initial neuron weights

Definition at line 131 of file otbSOMModel.h.

◆ m_NeighborhoodSizeFunctor

template<class TInputValue , unsigned int MapDimension>
SOMNeighborhoodBehaviorFunctorType otb::SOMModel< TInputValue, MapDimension >::m_NeighborhoodSizeFunctor
private

Behavior of the Neighborhood extent

Definition at line 146 of file otbSOMModel.h.

◆ m_NeighborhoodSizeInit

template<class TInputValue , unsigned int MapDimension>
SizeType otb::SOMModel< TInputValue, MapDimension >::m_NeighborhoodSizeInit {0,0}
private

Initial neighborhood size

Definition at line 128 of file otbSOMModel.h.

◆ m_NumberOfIterations

template<class TInputValue , unsigned int MapDimension>
unsigned int otb::SOMModel< TInputValue, MapDimension >::m_NumberOfIterations
private

Number of iterations

Definition at line 119 of file otbSOMModel.h.

◆ m_RandomInit

template<class TInputValue , unsigned int MapDimension>
bool otb::SOMModel< TInputValue, MapDimension >::m_RandomInit
private

Random initialization bool

Definition at line 137 of file otbSOMModel.h.

◆ m_Seed

template<class TInputValue , unsigned int MapDimension>
unsigned int otb::SOMModel< TInputValue, MapDimension >::m_Seed
private

Seed for random initialization

Definition at line 140 of file otbSOMModel.h.

◆ m_SOMMap

template<class TInputValue , unsigned int MapDimension>
MapType::Pointer otb::SOMModel< TInputValue, MapDimension >::m_SOMMap
private

Map size (width, height)

Definition at line 111 of file otbSOMModel.h.

◆ m_WriteMap

template<class TInputValue , unsigned int MapDimension>
bool otb::SOMModel< TInputValue, MapDimension >::m_WriteMap
private

Write the SOM Map vectors in a txt file

Definition at line 149 of file otbSOMModel.h.


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