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::SOMMap< TNeuron, TDistance, VMapDimension > Class Template Reference

This class represent a Self Organizing Map. More...

#include <otbSOMMap.h>

+ Inheritance diagram for otb::SOMMap< TNeuron, TDistance, VMapDimension >:
+ Collaboration diagram for otb::SOMMap< TNeuron, TDistance, VMapDimension >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef Superclass::DirectionType DirectionType
 
typedef DistanceType::Pointer DistancePointerType
 
typedef TDistance DistanceType
 
typedef Superclass::IndexType IndexType
 
typedef TNeuron NeuronType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::PointType PointType
 
typedef Superclass::RegionType RegionType
 
typedef SOMMap Self
 
typedef Superclass::SizeType SizeType
 
typedef Superclass::SpacingType SpacingType
 
typedef otb::VectorImage
< typename
TNeuron::ComponentType,
VMapDimension > 
Superclass
 
- Public Types inherited from otb::VectorImage< TNeuron::ComponentType, VMapDimension >
typedef
itk::DefaultVectorPixelAccessorFunctor
< Self
AccessorFunctorType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef itk::WeakPointer
< const Self
ConstWeakPointer
 
typedef Superclass::DirectionType DirectionType
 
typedef
ImageMetadataInterfaceBase::ImageKeywordlistType 
ImageKeywordlistType
 
typedef
ImageMetadataInterfaceBase::Pointer 
ImageMetadataInterfacePointerType
 
typedef Superclass::IndexType IndexType
 
typedef
Superclass::InternalPixelType 
InternalPixelType
 
typedef Superclass::IOPixelType IOPixelType
 
typedef
itk::VectorImageNeighborhoodAccessorFunctor
< Self
NeighborhoodAccessorFunctorType
 
typedef Superclass::OffsetType OffsetType
 
typedef Superclass::PixelContainer PixelContainer
 
typedef Superclass::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::PointType PointType
 
typedef Superclass::RegionType RegionType
 
typedef VectorImage Self
 
typedef Superclass::SizeType SizeType
 
typedef Superclass::SpacingType SpacingType
 
typedef itk::VectorImage
< TNeuron::ComponentType,
VImageDimension > 
Superclass
 
typedef Superclass::ValueType ValueType
 
typedef
ImageMetadataInterfaceBase::VectorType 
VectorType
 
- Public Types inherited from itk::VectorImage< TNeuron::ComponentType, VImageDimension >
typedef
DefaultVectorPixelAccessorFunctor
< Self
AccessorFunctorType
 
typedef
DefaultVectorPixelAccessor
< InternalPixelType
AccessorType
 
typedef SmartPointer< const SelfConstPointer
 
typedef WeakPointer< const SelfConstWeakPointer
 
typedef Superclass::DirectionType DirectionType
 
typedef Superclass::IndexType IndexType
 
typedef Superclass::IndexValueType IndexValueType
 
typedef TPixel InternalPixelType
 
typedef InternalPixelType IOPixelType
 
typedef
VectorImageNeighborhoodAccessorFunctor
< Self
NeighborhoodAccessorFunctorType
 
typedef Superclass::OffsetType OffsetType
 
typedef Superclass::OffsetValueType OffsetValueType
 
typedef ImportImageContainer
< SizeValueType,
InternalPixelType
PixelContainer
 
typedef
PixelContainer::ConstPointer 
PixelContainerConstPointer
 
typedef PixelContainer::Pointer PixelContainerPointer
 
typedef VariableLengthVector
< TPixel > 
PixelType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::PointType PointType
 
typedef Superclass::RegionType RegionType
 
typedef VectorImage Self
 
typedef Superclass::SizeType SizeType
 
typedef Superclass::SpacingType SpacingType
 
typedef ImageBase
< VImageDimension > 
Superclass
 
typedef PixelType ValueType
 
typedef unsigned int VectorLengthType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
IndexType GetWinner (const NeuronType &sample)
 
- Public Member Functions inherited from otb::VectorImage< TNeuron::ComponentType, VMapDimension >
virtual void CopyInformation (const itk::DataObject *)
 Copy metadata from a DataObject. More...
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual double GetGCPCol (unsigned int GCPnum) const
 
virtual unsigned int GetGCPCount (void) const
 
virtual std::string GetGCPId (unsigned int GCPnum) const
 
virtual std::string GetGCPInfo (unsigned int GCPnum) const
 
virtual std::string GetGCPProjection (void) const
 
virtual double GetGCPRow (unsigned int GCPnum) const
 
virtual OTB_GCPGetGCPs (unsigned int GCPnum)
 
virtual const OTB_GCPGetGCPs (unsigned int GCPnum) const
 
virtual double GetGCPX (unsigned int GCPnum) const
 
virtual double GetGCPY (unsigned int GCPnum) const
 
virtual double GetGCPZ (unsigned int GCPnum) const
 
virtual VectorType GetGeoTransform (void) const
 
virtual ImageKeywordlistType GetImageKeywordlist (void)
 
virtual const ImageKeywordlistType GetImageKeywordlist (void) const
 
virtual VectorType GetLowerLeftCorner (void) const
 
virtual VectorType GetLowerRightCorner (void) const
 
virtual const char * GetNameOfClass () const
 
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor ()
 
const
NeighborhoodAccessorFunctorType 
GetNeighborhoodAccessor () const
 
virtual std::string GetProjectionRef (void) const
 
virtual VectorType GetUpperLeftCorner (void) const
 
virtual VectorType GetUpperRightCorner (void) const
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
- Public Member Functions inherited from itk::VectorImage< TNeuron::ComponentType, VImageDimension >
virtual void Allocate (bool UseDefaultConstructor=false) ITK_OVERRIDE
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
void FillBuffer (const PixelType &value)
 
InternalPixelTypeGetBufferPointer ()
 
const InternalPixelTypeGetBufferPointer () const
 
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor ()
 
const
NeighborhoodAccessorFunctorType 
GetNeighborhoodAccessor () const
 
virtual unsigned int GetNumberOfComponentsPerPixel () const
 
const PixelType GetPixel (const IndexType &index) const
 
PixelType GetPixel (const IndexType &index)
 
AccessorType GetPixelAccessor (void)
 
const AccessorType GetPixelAccessor (void) const
 
PixelContainerGetPixelContainer ()
 
const PixelContainerGetPixelContainer () const
 
virtual const VectorLengthTypeGetVectorLength () const
 
virtual void Graft (const DataObject *data)
 
virtual void Initialize ()
 
PixelType operator[] (const IndexType &index)
 
const PixelType operator[] (const IndexType &index) const
 
virtual void SetNumberOfComponentsPerPixel (unsigned int n)
 
void SetPixel (const IndexType &index, const PixelType &value)
 
void SetPixelContainer (PixelContainer *container)
 
virtual void SetVectorLength (VectorLengthType _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::VectorImage< TNeuron::ComponentType, VMapDimension >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::VectorImage< TNeuron::ComponentType, VImageDimension >
static Pointer New ()
 

Protected Member Functions

 SOMMap ()
 
virtual ~SOMMap ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
- Protected Member Functions inherited from otb::VectorImage< TNeuron::ComponentType, VMapDimension >
 VectorImage ()
 
virtual ~VectorImage ()
 
- Protected Member Functions inherited from itk::VectorImage< TNeuron::ComponentType, VImageDimension >
 VectorImage ()
 
- Protected Member Functions inherited from itk::ImageBase< VImageDimension >
virtual void ComputeIndexToPhysicalPointMatrices ()
 

Private Member Functions

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

Additional Inherited Members

- Static Public Attributes inherited from otb::VectorImage< TNeuron::ComponentType, VMapDimension >
static const unsigned int ImageDimension
 
- Static Public Attributes inherited from itk::VectorImage< TNeuron::ComponentType, VImageDimension >
static const unsigned int ImageDimension
 

Detailed Description

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
class otb::SOMMap< TNeuron, TDistance, VMapDimension >

This class represent a Self Organizing Map.

The Self organizing map (or Kohonen map) is a type of neural networks. It is based on an analogy with the visual cortex, where similar inputs activate neighbor neurons.

This class extends the Image object, where each pixel represents a neuron in the map. It is templated with a distance parameter used to compute the neuron response to an input. Thanks to the extension of the Image object, reading and writing is supported through standard image readers and writers.

The training is done via the SOM class, and the activation map can be produced with the SOMActivationBuilder class.

See Also
SOM
SOMActivationBuilder

Definition at line 51 of file otbSOMMap.h.

Member Typedef Documentation

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef itk::SmartPointer<const Self> otb::SOMMap< TNeuron, TDistance, VMapDimension >::ConstPointer

Definition at line 59 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::DirectionType otb::SOMMap< TNeuron, TDistance, VMapDimension >::DirectionType

Definition at line 77 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef DistanceType::Pointer otb::SOMMap< TNeuron, TDistance, VMapDimension >::DistancePointerType

Definition at line 72 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef TDistance otb::SOMMap< TNeuron, TDistance, VMapDimension >::DistanceType

Definition at line 71 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::IndexType otb::SOMMap< TNeuron, TDistance, VMapDimension >::IndexType

Superclass related typedefs

Definition at line 75 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef TNeuron otb::SOMMap< TNeuron, TDistance, VMapDimension >::NeuronType

There is no runtime informations macro since this class has to be considered to as a simple VectorImage // itkTypeMacro(SOMMap, VectorImage);Template parameters related typedefs

Definition at line 62 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef itk::SmartPointer<Self> otb::SOMMap< TNeuron, TDistance, VMapDimension >::Pointer

Definition at line 58 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::PointType otb::SOMMap< TNeuron, TDistance, VMapDimension >::PointType

Definition at line 80 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::RegionType otb::SOMMap< TNeuron, TDistance, VMapDimension >::RegionType

Definition at line 78 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef SOMMap otb::SOMMap< TNeuron, TDistance, VMapDimension >::Self

Standard typedefs

Definition at line 56 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::SizeType otb::SOMMap< TNeuron, TDistance, VMapDimension >::SizeType

Definition at line 76 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef Superclass::SpacingType otb::SOMMap< TNeuron, TDistance, VMapDimension >::SpacingType

Definition at line 79 of file otbSOMMap.h.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
typedef otb::VectorImage<typename TNeuron::ComponentType, VMapDimension> otb::SOMMap< TNeuron, TDistance, VMapDimension >::Superclass

Definition at line 57 of file otbSOMMap.h.

Constructor & Destructor Documentation

template<class TNeuron , class TDistance , unsigned int VMapDimension>
otb::SOMMap< TNeuron, TDistance, VMapDimension >::SOMMap ( )
protected

Constructor

Definition at line 33 of file otbSOMMap.txx.

template<class TNeuron , class TDistance , unsigned int VMapDimension>
otb::SOMMap< TNeuron, TDistance, VMapDimension >::~SOMMap ( )
protectedvirtual

Destructor

Definition at line 40 of file otbSOMMap.txx.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
otb::SOMMap< TNeuron, TDistance, VMapDimension >::SOMMap ( const Self )
private

Member Function Documentation

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
virtual::itk::LightObject::Pointer otb::SOMMap< TNeuron, TDistance, VMapDimension >::CreateAnother ( void  ) const
template<class TNeuron , class TDistance , unsigned int VMapDimension>
SOMMap< TNeuron, TDistance, VMapDimension >::IndexType otb::SOMMap< TNeuron, TDistance, VMapDimension >::GetWinner ( const NeuronType sample)

Get The index of the winning neuron for a sample.

Parameters
samplethe sample.
Returns
The index of the winning neuron.

Get The index of the winning neuron for a sample.

Parameters
sampleThe sample
Returns
The index of the winning neuron.

Definition at line 51 of file otbSOMMap.txx.

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
static Pointer otb::SOMMap< TNeuron, TDistance, VMapDimension >::New ( )
static

Creation through object factory macro

template<class TNeuron = itk::VariableLengthVector<double>, class TDistance = itk::Statistics::EuclideanDistanceMetric<TNeuron>, unsigned int VMapDimension = 2>
void otb::SOMMap< TNeuron, TDistance, VMapDimension >::operator= ( const Self )
private
template<class TNeuron , class TDistance , unsigned int VMapDimension>
void otb::SOMMap< TNeuron, TDistance, VMapDimension >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protectedvirtual

PrintSelf method

Reimplemented from itk::ImageBase< VImageDimension >.

Definition at line 84 of file otbSOMMap.txx.


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