Alexandria 2.31.0
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
Euclid::SOM::SOM< DistFunc > Class Template Reference

#include <SOM.h>

Collaboration diagram for Euclid::SOM::SOM< DistFunc >:
Collaboration graph
[legend]

Public Types

using GridCellManager = GridContainer::GridCellManagerVectorOfVectors< double >
 
using CellGridType = GridContainer::GridContainer< GridCellManager, std::size_t, std::size_t >
 
using iterator = typename CellGridType::iterator
 
using const_iterator = typename CellGridType::const_iterator
 
using reference_type = typename CellGridType::reference_type
 

Public Member Functions

 SOM (std::size_t nd, std::size_t x, std::size_t y, InitFunc::Signature init_func=InitFunc::zero)
 
 SOM (SOM< DistFunc > &&)=default
 
SOMoperator= (SOM< DistFunc > &&)=default
 
virtual ~SOM ()=default
 Destructor.
 
reference_type operator() (std::size_t x, std::size_t y)
 
const reference_type operator() (std::size_t x, std::size_t y) const
 
const std::pair< std::size_t, std::size_t > & getSize () const
 
std::size_t getDimensions () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin ()
 
const_iterator cend ()
 
std::tuple< std::size_t, std::size_t, double > findBMU (const std::vector< double > &input) const
 
std::tuple< std::size_t, std::size_t, double > findBMU (const std::vector< double > &input, const std::vector< double > &uncertainties) const
 
template<typename InputType , typename WeightFunc >
std::tuple< std::size_t, std::size_t, double > findBMU (const InputType &input, WeightFunc weight_func) const
 
template<typename InputType , typename WeightFunc , typename UncertaintyFunc >
std::tuple< std::size_t, std::size_t, double > findBMU (const InputType &input, WeightFunc weight_func, UncertaintyFunc uncertainty_func) const
 

Private Attributes

std::size_t m_dimensions
 
CellGridType m_cells
 
std::pair< std::size_t, std::size_tm_size
 

Detailed Description

template<typename DistFunc = Distance::L2>
class Euclid::SOM::SOM< DistFunc >

Definition at line 47 of file SOM.h.

Member Typedef Documentation

◆ CellGridType

template<typename DistFunc = Distance::L2>
using Euclid::SOM::SOM< DistFunc >::CellGridType = GridContainer::GridContainer<GridCellManager, std::size_t, std::size_t>

Definition at line 54 of file SOM.h.

◆ const_iterator

template<typename DistFunc = Distance::L2>
using Euclid::SOM::SOM< DistFunc >::const_iterator = typename CellGridType::const_iterator

Definition at line 56 of file SOM.h.

◆ GridCellManager

template<typename DistFunc = Distance::L2>
using Euclid::SOM::SOM< DistFunc >::GridCellManager = GridContainer::GridCellManagerVectorOfVectors<double>

Definition at line 53 of file SOM.h.

◆ iterator

template<typename DistFunc = Distance::L2>
using Euclid::SOM::SOM< DistFunc >::iterator = typename CellGridType::iterator

Definition at line 55 of file SOM.h.

◆ reference_type

template<typename DistFunc = Distance::L2>
using Euclid::SOM::SOM< DistFunc >::reference_type = typename CellGridType::reference_type

Definition at line 57 of file SOM.h.

Constructor & Destructor Documentation

◆ SOM() [1/2]

template<typename DistFunc = Distance::L2>
Euclid::SOM::SOM< DistFunc >::SOM ( std::size_t  nd,
std::size_t  x,
std::size_t  y,
InitFunc::Signature  init_func = InitFunc::zero 
)

◆ SOM() [2/2]

template<typename DistFunc = Distance::L2>
Euclid::SOM::SOM< DistFunc >::SOM ( SOM< DistFunc > &&  )
default

◆ ~SOM()

template<typename DistFunc = Distance::L2>
virtual Euclid::SOM::SOM< DistFunc >::~SOM ( )
virtualdefault

Destructor.

Member Function Documentation

◆ begin() [1/2]

template<typename DistFunc = Distance::L2>
iterator Euclid::SOM::SOM< DistFunc >::begin ( )

◆ begin() [2/2]

template<typename DistFunc = Distance::L2>
const_iterator Euclid::SOM::SOM< DistFunc >::begin ( ) const

◆ cbegin()

template<typename DistFunc = Distance::L2>
const_iterator Euclid::SOM::SOM< DistFunc >::cbegin ( )

◆ cend()

template<typename DistFunc = Distance::L2>
const_iterator Euclid::SOM::SOM< DistFunc >::cend ( )

◆ end() [1/2]

template<typename DistFunc = Distance::L2>
iterator Euclid::SOM::SOM< DistFunc >::end ( )

◆ end() [2/2]

template<typename DistFunc = Distance::L2>
const_iterator Euclid::SOM::SOM< DistFunc >::end ( ) const

◆ findBMU() [1/4]

template<typename DistFunc = Distance::L2>
template<typename InputType , typename WeightFunc >
std::tuple< std::size_t, std::size_t, double > Euclid::SOM::SOM< DistFunc >::findBMU ( const InputType &  input,
WeightFunc  weight_func 
) const

◆ findBMU() [2/4]

template<typename DistFunc = Distance::L2>
template<typename InputType , typename WeightFunc , typename UncertaintyFunc >
std::tuple< std::size_t, std::size_t, double > Euclid::SOM::SOM< DistFunc >::findBMU ( const InputType &  input,
WeightFunc  weight_func,
UncertaintyFunc  uncertainty_func 
) const

◆ findBMU() [3/4]

template<typename DistFunc = Distance::L2>
std::tuple< std::size_t, std::size_t, double > Euclid::SOM::SOM< DistFunc >::findBMU ( const std::vector< double > &  input) const

◆ findBMU() [4/4]

template<typename DistFunc = Distance::L2>
std::tuple< std::size_t, std::size_t, double > Euclid::SOM::SOM< DistFunc >::findBMU ( const std::vector< double > &  input,
const std::vector< double > &  uncertainties 
) const

◆ getDimensions()

template<typename DistFunc = Distance::L2>
std::size_t Euclid::SOM::SOM< DistFunc >::getDimensions ( ) const

◆ getSize()

template<typename DistFunc = Distance::L2>
const std::pair< std::size_t, std::size_t > & Euclid::SOM::SOM< DistFunc >::getSize ( ) const

◆ operator()() [1/2]

template<typename DistFunc = Distance::L2>
reference_type Euclid::SOM::SOM< DistFunc >::operator() ( std::size_t  x,
std::size_t  y 
)

◆ operator()() [2/2]

template<typename DistFunc = Distance::L2>
const reference_type Euclid::SOM::SOM< DistFunc >::operator() ( std::size_t  x,
std::size_t  y 
) const

◆ operator=()

template<typename DistFunc = Distance::L2>
SOM & Euclid::SOM::SOM< DistFunc >::operator= ( SOM< DistFunc > &&  )
default

Member Data Documentation

◆ m_cells

template<typename DistFunc = Distance::L2>
CellGridType Euclid::SOM::SOM< DistFunc >::m_cells
private

Definition at line 103 of file SOM.h.

◆ m_dimensions

template<typename DistFunc = Distance::L2>
std::size_t Euclid::SOM::SOM< DistFunc >::m_dimensions
private

Definition at line 102 of file SOM.h.

◆ m_size

template<typename DistFunc = Distance::L2>
std::pair<std::size_t, std::size_t> Euclid::SOM::SOM< DistFunc >::m_size
private

Definition at line 104 of file SOM.h.


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