Alexandria  2.25.0
SDC-CH common library for the Euclid project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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. More...
 
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_t
m_size
 

Detailed Description

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

Definition at line 47 of file SOM.h.

Member Typedef Documentation

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.

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

Definition at line 56 of file SOM.h.

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

Definition at line 53 of file SOM.h.

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

Definition at line 55 of file SOM.h.

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

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

Definition at line 30 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::m_cells.

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

Destructor.

Member Function Documentation

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

Definition at line 65 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::begin().

Referenced by Euclid::SOM::SOM< DistFunc >::begin(), and Euclid::SOM::SOM_impl::findBMU_impl().

Here is the call graph for this function:

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

Definition at line 75 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::begin().

Here is the call graph for this function:

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

Definition at line 85 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::cbegin().

Referenced by Euclid::SOM::SOM< DistFunc >::cbegin().

Here is the call graph for this function:

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

Definition at line 90 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::cend().

Referenced by Euclid::SOM::SOM< DistFunc >::cend().

Here is the call graph for this function:

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

Definition at line 70 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::end().

Referenced by Euclid::SOM::SOM< DistFunc >::end(), and Euclid::SOM::SOM_impl::findBMU_impl().

Here is the call graph for this function:

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

Definition at line 80 of file SOM.icpp.

References Euclid::SOM::SOM< DistFunc >::end().

Here is the call graph for this function:

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

Definition at line 115 of file SOM.icpp.

References std::vector< T >::begin(), and std::vector< T >::size().

Here is the call graph for this function:

template<typename DistFunc >
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

Definition at line 125 of file SOM.icpp.

References std::vector< T >::begin(), and std::vector< T >::size().

Here is the call graph for this function:

template<typename DistFunc >
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

Definition at line 137 of file SOM.icpp.

template<typename DistFunc >
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

Definition at line 148 of file SOM.icpp.

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

Definition at line 50 of file SOM.icpp.

Referenced by boost::serialization::save_construct_data().

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

Definition at line 45 of file SOM.icpp.

Referenced by boost::serialization::save_construct_data().

template<typename DistFunc >
auto Euclid::SOM::SOM< DistFunc >::operator() ( std::size_t  x,
std::size_t  y 
)

Definition at line 55 of file SOM.icpp.

template<typename DistFunc >
auto Euclid::SOM::SOM< DistFunc >::operator() ( std::size_t  x,
std::size_t  y 
) const

Definition at line 60 of file SOM.icpp.

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

Member Data Documentation

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

Definition at line 103 of file SOM.h.

Referenced by Euclid::SOM::SOM< DistFunc >::SOM().

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

Definition at line 102 of file SOM.h.

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 files: