SOMHunter Core
sh::AsyncSom Class Reference

#include <async-som.h>

Public Member Functions

 AsyncSom ()=delete
 
 ~AsyncSom () noexcept
 
 AsyncSom (AsyncSom &&_logger_settings)=default
 
 AsyncSom (const Settings &_logger_settings, size_t width, size_t height, const PrimaryFrameFeatures &fs, const ScoreModel &sc)
 
void start_work (const PrimaryFrameFeatures &fs, const ScoreModel &sc, const float *scores_orig)
 
std::vector< FrameIdget_display (ScoreModel scores) const
 
bool map_ready () const
 
const std::vector< FrameId > & map (size_t i) const
 
const float * get_koho (size_t i) const
 
size_t nearest_cluster_with_atleast (const float *vec, const std::vector< size_t > &stolen_count) const
 

Static Private Member Functions

static void async_som_worker (AsyncSom *parent, const Settings &_logger_settings)
 

Private Attributes

std::thread worker
 
size_t _dim {}
 
std::condition_variable new_data_wakeup
 
std::mutex worker_lock
 
bool new_data
 
bool terminate
 
std::size_t _features_data_len
 
std::size_t _scores_data_len
 
std::vector< float > points
 
std::vector< float > scores
 
std::vector< bool > present_mask
 
bool m_ready
 
std::vector< std::vector< FrameId > > mapping
 
std::vector< float > koho
 
const size_t width
 
const size_t height
 

Constructor & Destructor Documentation

◆ AsyncSom() [1/3]

sh::AsyncSom::AsyncSom ( )
delete

◆ ~AsyncSom()

AsyncSom::~AsyncSom ( )
noexcept

◆ AsyncSom() [2/3]

sh::AsyncSom::AsyncSom ( AsyncSom &&  _logger_settings)
default

◆ AsyncSom() [3/3]

AsyncSom::AsyncSom ( const Settings _logger_settings,
size_t  width,
size_t  height,
const PrimaryFrameFeatures fs,
const ScoreModel sc 
)
Here is the call graph for this function:

Member Function Documentation

◆ async_som_worker()

void AsyncSom::async_som_worker ( AsyncSom parent,
const Settings _logger_settings 
)
staticprivate
Here is the call graph for this function:

◆ get_display()

std::vector< FrameId > AsyncSom::get_display ( ScoreModel  scores) const
Here is the call graph for this function:

◆ get_koho()

const float* sh::AsyncSom::get_koho ( size_t  i) const
inline

◆ map()

const std::vector<FrameId>& sh::AsyncSom::map ( size_t  i) const
inline

◆ map_ready()

bool sh::AsyncSom::map_ready ( ) const
inline

◆ nearest_cluster_with_atleast()

size_t sh::AsyncSom::nearest_cluster_with_atleast ( const float *  vec,
const std::vector< size_t > &  stolen_count 
) const
inline

◆ start_work()

void AsyncSom::start_work ( const PrimaryFrameFeatures fs,
const ScoreModel sc,
const float *  scores_orig 
)
Here is the call graph for this function:

Member Data Documentation

◆ _dim

size_t sh::AsyncSom::_dim {}
private

◆ _features_data_len

std::size_t sh::AsyncSom::_features_data_len
private

◆ _scores_data_len

std::size_t sh::AsyncSom::_scores_data_len
private

◆ height

const size_t sh::AsyncSom::height
private

◆ koho

std::vector<float> sh::AsyncSom::koho
private

◆ m_ready

bool sh::AsyncSom::m_ready
private

◆ mapping

std::vector<std::vector<FrameId> > sh::AsyncSom::mapping
private

◆ new_data

bool sh::AsyncSom::new_data
private

◆ new_data_wakeup

std::condition_variable sh::AsyncSom::new_data_wakeup
private

◆ points

std::vector<float> sh::AsyncSom::points
private

◆ present_mask

std::vector<bool> sh::AsyncSom::present_mask
private

◆ scores

std::vector<float> sh::AsyncSom::scores
private

◆ terminate

bool sh::AsyncSom::terminate
private

◆ width

const size_t sh::AsyncSom::width
private

◆ worker

std::thread sh::AsyncSom::worker
private

◆ worker_lock

std::mutex sh::AsyncSom::worker_lock
private

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