All Classes Namespaces Files Functions Variables Typedefs Macros
cliz::Detector Class Reference

#include <clizDectector.h>

Public Member Functions

 Detector (DetectorHandle iHandle, std::vector< Save * > &iInputSaveVec, std::vector< Save * > &iOutputSaveVec, std::vector< IndicesStruct > &iIndicesOut)
 
 Detector (DetectorHandle iHandle, std::vector< Save * > &iInputSaveVec, std::vector< Save * > &iOutputSaveVec, std::vector< IndicesStruct > &iIndicesOut, uint64_t initialTimeStamp)
 
 Detector (DetectorHandle iHandle, std::vector< Save * > &iInputSaveVec, std::vector< Save * > &iOutputSaveVec, std::vector< IndicesStruct > &iIndicesOut, uint64_t initialTimeStamp, uint64_t *externallyDetectedTS, unsigned int spikeCount)
 
void detection (float *data, float *dataDetect)
 
void externalDetection (float *data, float *dataDetect)
 
void makeWhiteningMat ()
 
void threadFunc ()
 
 ~Detector ()
 

Detailed Description

Modules Except for the Accumulator and the Communicator, all Modules share the same structure. For initialization, each Module needs a parameter handle, an std::vector of Saves for their input, an std::vector of Saves for their output and an std::vector of IndicesStructs to know which output Saves require which output. During initialization a worker thread is spawned that tries to receive input from all input Saves. Once one ChunkPtrStruct from each input Save was obtained, functions are called that perform the respective jobs of the module. For each output Save, based on the respective IndicesStruct, the data obtained from these functions is copied and a ChunkPtrStruct that holds a pointer to that data is pushed in the output Save.Module: Detector Online version of the automated threshold detection introduced by Quian Quiroga et al. (2004). Once a data point crosses the threshold, the nearby peak is determined and a certain number of points around the peak are cut out. Furthermore, the detector cuts out noise traces between spikes. Those noise traces are used to calculate a whitening matrix. Method based on the post hoc whitening used in OSort (Rutishauser et al. 2006) chol(inv(toeplitz(noise))).

Constructor & Destructor Documentation

cliz::Detector::Detector ( DetectorHandle  iHandle,
std::vector< Save * > &  iInputSaveVec,
std::vector< Save * > &  iOutputSaveVec,
std::vector< IndicesStruct > &  iIndicesOut 
)

Module: Detector Constructor

Here is the call graph for this function:

cliz::Detector::Detector ( DetectorHandle  iHandle,
std::vector< Save * > &  iInputSaveVec,
std::vector< Save * > &  iOutputSaveVec,
std::vector< IndicesStruct > &  iIndicesOut,
uint64_t  initialTimeStamp 
)

Module: Detector Constructor

Here is the call graph for this function:

cliz::Detector::Detector ( DetectorHandle  iHandle,
std::vector< Save * > &  iInputSaveVec,
std::vector< Save * > &  iOutputSaveVec,
std::vector< IndicesStruct > &  iIndicesOut,
uint64_t  initialTimeStamp,
uint64_t *  externallyDetectedTS,
unsigned int  spikeCount 
)

Module: Detector Constructor

Here is the call graph for this function:

cliz::Detector::~Detector ( )
inline

Here is the call graph for this function:

Member Function Documentation

void cliz::Detector::detection ( float *  data,
float *  dataDetect 
)

Module: Detector Detects spikes in dataDetect and cuts out data-points from data around the spike peak.

Parameters
[in]datainternal data chunk
[in]dataDetectinternal data chunk

Here is the call graph for this function:

Here is the caller graph for this function:

void cliz::Detector::externalDetection ( float *  data,
float *  dataDetect 
)

Module: Detector Cuts out data-points from data around the spike peak, detected externally.

Parameters
[in]datainternal data chunk
[in]dataDetectinternal data chunk

Here is the call graph for this function:

Here is the caller graph for this function:

void cliz::Detector::makeWhiteningMat ( )

Module: Detector Computes whitening matrix using chol(inv(toeplitz(noise_ac)))

Here is the caller graph for this function:

void cliz::Detector::threadFunc ( )

Module: Detector Worker thread

Here is the call graph for this function:

Here is the caller graph for this function:


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