|
| 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 () |
|
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))).