-
Notifications
You must be signed in to change notification settings - Fork 0
00. Supported device
Input files: Neuralynx creates new recording files every two hours, which leads to multiple .ncs files with suffixes in long-duration recordings. New files are also created if the experimenter pauses and restarts the recording. This pipeline will create a single .mat file with the same filename for each .ncs file.
Different file types for Neuralynx:
- NCS contains the sampled signal for one channel
- NEV contains events
- NSE contains spikes and waveforms for mono-electrodes
- NTT contains spikes and waveforms for tetrodes
BlackRock saves all channels in a single file with the extension .nsX (X: 2, 3, 5, etc). The old function of reading Blackrock data is cumbersome. This is replaced by an open-source Matlab toolbox: NPMK. It allows reading data by channel thus simplifying the chunking logic and save memory usage.
The BlackRock data also contains the electrode names but is inconsistent with this pipeline's convention. This means we need to rename the file names for the unpacked data with the Montage configuration file (see Set Montage).
Save a single file called ns5 (30 kHz micro) for all channels. Ns3 at 2 KHz. Ns2 at 1 KHz.
Has channel numbers and electrode names.
Can input channel name into the raw files.
Comments courtesy of Chadwick Boulay from BlackRock:
For BlackRock, the A/D is 16-bit with an input range of +/- 8.192 mV. This means we have a resolution of 0.25 uV. We could convert these to uV floats, or even V floats, but we'd lose a ton of precision and increase our file sizes. Instead, we store them as raw int16 and add metadata for scale factor (and offset) so that the user may, if desired, convert them to floats. That is what the NWB files are doing as well.
When you load the data, the conversion is not automatic because this would be slow (multiplying every number) and is often unnecessary. You don't need to convert if you're only viewing the data -- plot the raw data and scale the plot axis ticks according to data_conversion and data_units. Similarly, there are many operations you can do lazily or in int16 before there's any need to do the multiplication -- saving time and RAM.
The Cereplex-E has 4 toggles on it. One of them is Wide vs Norm. This has to do with the filter characteristics, not the input range.
Neuralynx data is also saved as 16-bit with a conversion value named ADbitVolts
in the header. Multiplying the raw signal with this value will convert the unit to Volts. If InputInverted
is True, multiply the signal by -1. Generally, we would expect negative spikes although we see positive spikes, for which there is no good explanation.