Alexandria  2.19
Please provide a description of the project.
Public Types | Public Member Functions | Private Attributes | List of all members
Euclid::SOM::SOM< ND, DistFunc > Class Template Reference

#include <SOM.h>

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

Public Types

using CellGridType = GridContainer::GridContainer< std::vector< std::array< double, ND > >, std::size_t, std::size_t >
 
using iterator = typename CellGridType::iterator
 
using const_iterator = typename CellGridType::const_iterator
 

Public Member Functions

 SOM (std::size_t x, std::size_t y, InitFunc::Signature init_func=InitFunc::zero)
 
 SOM (SOM< ND, DistFunc > &&)=default
 
SOMoperator= (SOM< ND, DistFunc > &&)=default
 
virtual ~SOM ()=default
 Destructor. More...
 
std::array< double, ND > & operator() (std::size_t x, std::size_t y)
 
const std::array< double, ND > & operator() (std::size_t x, std::size_t y) const
 
const std::pair< std::size_t, std::size_t > & getSize () 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::array< double, ND > &input) const
 
std::tuple< std::size_t, std::size_t, double > findBMU (const std::array< double, ND > &input, const std::array< double, ND > &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

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

Detailed Description

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
class Euclid::SOM::SOM< ND, DistFunc >

Definition at line 46 of file SOM.h.

Member Typedef Documentation

◆ CellGridType

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
using Euclid::SOM::SOM< ND, DistFunc >::CellGridType = GridContainer::GridContainer<std::vector<std::array<double, ND> >, std::size_t, std::size_t>

Definition at line 52 of file SOM.h.

◆ const_iterator

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

Definition at line 54 of file SOM.h.

◆ iterator

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

Definition at line 53 of file SOM.h.

Constructor & Destructor Documentation

◆ SOM() [1/2]

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

◆ SOM() [2/2]

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
Euclid::SOM::SOM< ND, DistFunc >::SOM ( SOM< ND, DistFunc > &&  )
default

◆ ~SOM()

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

Destructor.

Member Function Documentation

◆ begin() [1/2]

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
iterator Euclid::SOM::SOM< ND, DistFunc >::begin ( )

◆ begin() [2/2]

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

◆ cbegin()

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
const_iterator Euclid::SOM::SOM< ND, DistFunc >::cbegin ( )

◆ cend()

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
const_iterator Euclid::SOM::SOM< ND, DistFunc >::cend ( )

◆ end() [1/2]

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
iterator Euclid::SOM::SOM< ND, DistFunc >::end ( )

◆ end() [2/2]

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

◆ findBMU() [1/4]

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

◆ findBMU() [2/4]

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

◆ findBMU() [3/4]

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

◆ findBMU() [4/4]

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

◆ getSize()

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

◆ operator()() [1/2]

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
std::array<double, ND>& Euclid::SOM::SOM< ND, DistFunc >::operator() ( std::size_t  x,
std::size_t  y 
)

◆ operator()() [2/2]

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

◆ operator=()

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

Member Data Documentation

◆ m_cells

template<std::size_t ND, typename DistFunc = Distance::L2<ND>>
CellGridType Euclid::SOM::SOM< ND, DistFunc >::m_cells
private

Definition at line 97 of file SOM.h.

◆ m_size

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

Definition at line 98 of file SOM.h.


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