See the protobuf definitions in the synapse-api repo for the most complete reference.
Node | Dataflow |
---|---|
Electrical Broadband | Source |
Electrical Stimulation | Sink |
Optical Broadband | Source |
Optical Stimulation | Sink |
Spectral Filter | Interstitial |
Spike Detect | Interstitial |
Synapse Application | App |
Disk Writer | Interstitial |
Electrical Broadband
Outputs broadband electrophysiology data from electrodes as a collection of channels with the same data rate. Electrical Broadband nodes are often paired with a Spectral Filter node followed by a Spike Detect node to downsample the signal to a more manageable size for streaming purposes.
Config | Description |
---|---|
peripheral_id | The ID of the peripheral that supports the node. |
channels | A list of channels with a message containing the channel ID, the measuring electrode ID, and the reference electrode ID. |
bit_width | The number of bits to represent the broadband measurement. |
sample_rate | The number of samples per second in Hz. |
gain | Multiplies the amplitude of the inputted signal by the set value. |
low_cutoff_hz | Attenuates the amplitude of any signals below set frequency. |
high_cutoff_hz | Attenuates the amplitude of any signals above set frequency. |
Electrical Stimulation
Accepts input data to stimulate through electrodes.
Config | Description |
---|---|
peripheral_id | The ID of the peripheral that supports the node. |
channels | A list of channels with a message containing the channel ID, the measuring electrode ID, and the reference electrode ID. |
bit_width | The number of bits to represent the broadband measurement. |
sample_rate | The number of samples per second in Hz. |
lsb | Translates the signal into voltage in µV/unit. |
Optical Broadband
Outputs broadband optical data from photodiodes as a collection of channels with the same data rate.
Config | Description |
---|---|
peripheral_id | The ID of the peripheral that supports the node. |
pixel_mask | A list of IDs of active pixels. |
bit_width | The number of bits to represent the broadband measurement. |
frame_rate | The number of samples per second in Hz. |
gain | Multiplies the amplitude of the inputted signal by the set value. |
Optical Stimulation
Accepts input data to stimulate through LEDs.
Config | Description |
---|---|
peripheral_id | The ID of the peripheral that supports the node. |
pixel_mask | A list of IDs of active pixels. |
bit_width | The number of bits to represent the broadband measurement. |
frame_rate | The number of samples per second in Hz. |
gain | Multiplies the amplitude of the inputted signal by the set value. |
Spectral Filter
Accepts an input and applies a basic frequency-domain filter.
Config | Description |
---|---|
method | low: Reduces the amplitude of any signal below the low_cutoff_hz frequency to zero. |
high: Reduces the amplitude of any signal above the high_cutoff_hz frequency to zero. | |
bandpass: Reduces the amplitude of any signal outside the range of low_cutoff_hz to high_cutoff_hz frequency to zero. | |
bandstop: Reduces the amplitude of any signal inside the range of low_cutoff_hz to high_cutoff_hz frequency to zero. | |
low_cutoff_hz | Lower frequency threshold in Hz. |
high_cutoff_hz | Higher frequency threshold in Hz. |
Spike Detect
Accepts broadband neural data and detects action potentials (neural spikes) using a spike thresholding algorithm and outputs spike train data.
Config | Description |
---|---|
mode | threshold: Counts the number of times the absolute value of the inputted data crosses a set value within a set time period. Additionally, the threshold mode assumes a refractory period of ~1 ms between spikes. |
threshold_uV | The cutoff value in µV that determines when the node classifies the signal as a spike. |
bin_size_ms | The length of time in ms before the spike count resets. |
Synapse Application
The application node is used to implement user-defined algorithms or models and accepts input from other nodes in the signal chain. Data is output using Taps API and is application-specific. See Synapse Apps for more information about developing your own Synapse App.
Config | Description |
---|---|
data input | neural data read in from other nodes in the signal chain (e.g., broadband, spectral filter, binned spikes). |
data output | arbitrary output defined by the app. |
Disk Writer
The Disk Writer node saves broadband frame data to on-device storage. Data is saved in .hdf5
format. The DiskWriter node can ingest data from any node outputting data using the broadband frame format. Data attributes are preserved as they were output. For example, a DiskWriter node connected to the output of the Electrical Broadband will save unfiltered electrical broadband data in the broadband frame data format, whereas a DiskWriter node connected to the output of a spectral filter node ingesting electrical broadband will output filtered data in broadband frame format. Multiple DiskWriter nodes can be used simultaneously.
Config | Description |
---|---|
data input | Data |
data output | arbitrary output defined by the app. |