Skip to content

Processing Pipeline

Vijay Iyer edited this page Feb 13, 2019 · 2 revisions

Overview

The Spoke processing pipeline for each of the three current display modes:

Description

A brief description of each of the processing stages during each timer period:

Stage 1: Read Data

A chunk of raw data (typically equal to timer period) is read from a SpikeGLX remote connection.

Stage 2: Global Mean Subtraction

Optional feature of global mean subtraction (to correct for channel DC offset variation) applied to current raw data chunk.

Stage 3: Filter Data

Optional feature of bandpass filtering applied to current raw data chunk.

Following this stage, the processed raw data chunk (via Stage 2 & 3) is formed into the 'fullData' buffer for subsequent periods. This data may be combined with data from prior processing periods, as needed to complete processing of data snippets spanning periods (e.g. storage & display of a waveform snippet

Stage 4: Detect Spikes & Stimulus

Detection of signal threshold crossings spike(s) and/or stimuli in the fullData buffer, as needed for the current display mode.

Stage 5: Data Reduction

Compute reducedData from the fullData buffer, based on the detected spikes & stimulus.

The reducedData stored depends on the display mode selected:

  • Spike-triggered Waveform mode: spike timestamps, waveform snippets
  • Stim-triggered Waveform mode: stim timestamps, waveform snippets
  • Raster mode: spike timestamps, stim timestamps, spike-stim associations

Stage 6: Data Display

Compute & implements updates to waveform or raster plot based on reducedData.

Stage 7: Update Baseline Statistics

Periodically compute RMS & mean of the current fullData buffer chunk, after removing detected spikes in order to select out the baseline. These statistics are used for: spike threshold detection, RMS-multiple threshold detection, and RMS-multiple display units.

Following this stage, the current fullData buffer chunk is discarded, save for any final portion needed for the subsequent timer period.