Brainstorm's Suite for Multi-unit Electrophysiology
Author: Konstantinos Nasiotis
We feature a series of data analysis tools specifically dedicated to Invasive electrophysiology research (e-phys). We see this suite of expanded Brainstorm features as an opportunity for enabling a methodological continuum between (multi)cellular and systems level (with EEG and MEG) data analytics and facilitate the scientific dialogue and interactions between subdisciplines in the field.
Invasive electrophysiological recordings capture the spiking activity of individual or small groups of neurons. Since spiking events are transient phenomena (the typical duration of spikes is 1ms), the sampling rate of e-phys recording systems is typically much faster than for scalp EEG and MEG recordings. State-of-the-art acquisition systems can accommodate simultaneous recordings from hundreds of channels over several multi-electrode arrays positioned across the preparation, ultimately producing vast amounts of data.
We foresee that Brainstorm will contribute to the efficient data management and processing when there is a need for efficient, open and reproducible data management and utilization of large quantities of data. Users that have Matlab’s parallel processing toolbox, will greatly benefit from the utilization of its properties. Most functions of the electrophysiology toolbox have a checkbox where users can enable parallelization of the processes.
Additionally, it is highly recommended for users that need to analyze large files, to select a large number for memory utilization on any processes that allow users to adjust the memory used, since the speed of the processes (especially the spike sorting procedures that use demultiplexing of the raw signal) can be greatly improved by the extra memory used.
Note that the operations used here are not detailed, the goal of this tutorial is not to introduce Brainstorm to new users. For in-depth explanations of the interface and theoretical foundations, please refer to the introduction tutorials.
How to cite
Researchers publishing results obtained with this electrophysiology toolbox are kindly asked to cite:
Nasiotis K, Cousineau M, Tadel F, Peyrache A, Leahy RM, Pack CC, Baillet S
Integrated open-source software for multiscale electrophysiology
Scientific Data, Oct 2019
- All the external toolboxes embedded in this pipeline as Brainstorm plugins. Links to the articles that the toolboxes correspond to are located in each section.
This tutorial uses a dataset collected by Nardin Nakhla in Dr. Christopher Pack’s lab, from a macaque monkey with a penetration chamber implanted in areas MT and MST. The recording probe consisted of 32 channels and 1 reference electrode.
The task for the animal was to maintain fixation on a target while a superflow stimulus (dots that rotate, expand or translate in a partially coherent mode) was presented in one of 9 possible visual locations (as shown in the figure below). The events from the stimulation system are saved along with pre-spike-sorted events.
Download the dataset
Go to the Download page of this website, and download the file: sample_ephys.zip
- Unzip it in a folder that is not in any of the Brainstorm folders (program folder or database folder)
ytu288c-01.plx: Raw recordings from a Plexon acquisition system
ytu288c-01_events.csv: Events file, that labels the experimental conditions appropriately
floyd_t1.nii: T1-weighted MRI scan of the monkey's head
floyd_cortex.mesh: Cortex surface reconstructed from the MRI
Create a new protocol: File > New protocol.
Enter the protocol name: Tutorial_e-Phys.
Default anatomy: No, use individual anatomy.
Default channel file: No, use one channel file per acquisition run.
Right-click on the top protocol node > New subject.
Enter the monkey name: Floyd, and keep the other options unchanged.
Import anatomy (Optional)
Users can now import the anatomy of the monkey if needed. However, the pipeline described in this tutorial does not require an anatomical MRI, you may skip this section to save some time.
Right-click on the subject folder > Import MRI:
- Set the file format: All MRI files (subject space)
- Select the file: floyd_t1.nii
Set approximately the NAS/RPA/LPA fiducials, as described here for humans. Save.
Right-click on the MRI > MRI segmentation > Generate head surface. Keep default options.
Right-click on the subject folder > Import surface:
- Set the file format: All surface files
- Select the file: floyd_cortex.mesh
- Apply the same transformation: NO
- Go to Functional data (subjects)
Raw files can be imported by selecting the acquisition system used, and sequentially selecting the raw file. Just right-click on the Subject (Floyd) and then click on Review raw file.
A new window will pop-up that allows users to select the acquisition system and the raw file. Select EEG:Plexon (*.plx;.pl2) as the acquisition system and navigate to the folder the ytu288c-01.plx raw file is saved.
Once the procedure is complete, this will create a new folder (ytu288c-01) and two new files in the database: a channel file (Plexon channels (33)) and the Link to raw file. These two files contain all the information from the header of the acquisition system.
Importing of this file might last a few minutes. This is not typically the case for files from other acquisition systems. .plx files suffer from inefficient data loading and can cause severe waiting times, especially when users are scrolling through the end of the recording. In order to avoid this, the .plx files are converted into .bst files (Brainstorm binary format) for an improved user experience.
By double clicking on the Link to raw file, a viewer will open that allows the user to navigate through the recordings. This is a very easy way to inspect the recordings for artifacts or stimulation effects since only the selected part is loaded in memory on-the-fly, without importing anything in the database. Any events captured from the acquisition system are automatically loaded from the importer.
It is important to note that some acquisition systems might have enabled their own automatic spike sorter. These events are automatically labeled with the convention that is used throughout the e-phys toolbox:
“Spikes Channel ChannelLabel”, where ChannelLabel is the Label of the electrode assigned by the acquisition system. If the acquisition system assigned the spikes’ waveforms into more than one cluster/neuron during this automatic clustering, the neuronal events would be (e.g. for an electrode that picked up spikes from 3 neurons): “Spikes Channel ChannelLabel |1|”, “Spikes Channel ChannelLabel |2|”, “Spikes Channel ChannelLabel |3|”.
For more information, users can visit this page.
The events are comprised of the signals that the stimulation system has sent (Stim On, Start, Stop etc.) and the pre-spike-sorted events that the Plexon acquisition system can perform (Spikes Channel AD01, Spike Channel AD02 etc.).
In case users need to input events from a separate file, this can be easily done by clicking on the events panel: File > Add events from file. Several event filetypes are supported.
Specifically for the tutorial dataset, the stimulus presentation events were coded from a software that was not triggering events on the acquisition system, so they need to be manually imported. Users should first double click on the Link to raw file (this activates the Record tab) and then the events can be added by selecting the file: ytu288c-01_converted_events.csv
Select files of type: CSV test file and navigate to the folder that contains the tutorial files.
This procedure will add 9 new types of events at the end of the events list (Stim On 1-9) that correspond to the screen location of the presented stimulus:
At this stage, users can start performing their analysis based on the experimental events.