Tutorial 1: Create a new protocol

Authors: Francois Tadel, Elizabeth Bock, Sylvain Baillet

How to read these tutorials

The goal of these introduction tutorials is to guide you through most of the features of the software. All the pages use the same example dataset. The results of one section are most of the time used in the following section, so read these pages in the correct order.


Some pages may contain too many details for your level of interest or competence. The sections marked as [Advanced] are not required for you to follow the tutorials until the end. You can skip them the first time you go through the documentation. You will be able to get back to the theory later if you need.

Please follow first these tutorials with the data we provide. This way you will be able to focus on learning how to use the software. It is better to start with some data that is easy to analyze. After going through all the tutorials, you should be comfortable enough with the software to start analyzing your own recordings.

If you are interested only in EEG or intra-cranial recordings, don't think that an MEG-based tutorial is not adapted for you. Most of the practical aspects of the data manipulation is very similar in EEG and MEG. Start by reading these introduction tutorials, then go through the tutorial "EEG and Epilepsy" to get some more details about the processing steps that are specific for EEG.

Presentation of the experiment

All the introduction tutorials are based on a simple auditory oddball experiment:

Brainstorm folders

Brainstorm needs different directories to work properly. If you put everything in the same folder, you would run into many problems. Try to understand this organization before creating a new database.

1. Program directory: "brainstorm3"

2. Database directory: "brainstorm_db"

3. User directory: ".brainstorm"

4. Original data files:

Starting Brainstorm for the first time

  1. If you haven't read the installation instructions, do it now: Installation.

  2. Start Brainstorm from Matlab or with the compiled executable.

    BST> Starting Brainstorm:
    BST> =================================
    BST> Version: 28-Jan-2015
    BST> Checking internet connectivity... ok
    BST> Compiling main interface files...
    BST> Emptying temporary directory...
    BST> Deleting old process reports...
    BST> Loading configuration file...
    BST> Initializing user interface...
    BST> Starting OpenGL engine... hardware
    BST> Reading plugins folder...
    BST> Loading current protocol...
    BST> =================================
  3. Read and accept the license file.
  4. Select your Brainstorm database directory (brainstorm_db).
  5. If you do something wrong and don't know how to go back, you can always re-initialize Brainstorm by typing "brainstorm reset" in the Matlab command window, or by clicking on [Reset] in the software preferences (menu File > Edit preferences).

Main interface window

The Brainstorm window described below is designed to remain on one side of the screen. All the space of the desktop that is not covered by this window will be used for opening other figures.

Do not try to maximize this window, or the automatic management of the data figures might not work correctly. Keep it on one side of your screen, just large enough so you can read the file names in the database explorer.


The text is too small

If you have a high-resolution screen, the text and icons in the Brainstorm window may not scale properly, leading the interface to be impossible to use. Select the menu File > Edit preferences, the slider at the bottom of the option window lets you increase the ratio of the Brainstorm interface.

Database structure

Brainstorm allows you to organize your recordings and analysis with three levels of definition:

Database files

Create your first protocol

  1. Menu File > New protocol.


  2. Edit the protocol name and enter: "TutorialIntroduction".
    It will automatically update the anatomy and datasets paths. Do not edit manually these paths, unless you work with a non-standard database organization and know exactly what you are doing.

  3. Default properties for the subjects: These are the default settings that are used when creating new subjects. It is then possible to override these settings for each subject individually.
    • Default anatomy: (MRI and surfaces)

      • No, use individual anatomy:
        Select when you have individual MRI scans for all the participants of your study.

      • Yes, use default anatomy:
        Select when you do not have individual scans for the participants, and you would like to use one of the anatomy templates available in Brainstorm.

    • Default channel file: (Sensors names and positions)

      • No, use one channel file per acquisition run:
        Different head positions: Select this if you may have different head positions for one subject. This is usually not the case in EEG, where the electrodes stay in place for all the experiment. In MEG, this is a common setting: one recording session is split in multiple acquisition runs, and the position of the subject's head in the MEG might be different between two runs.
        Different number of channels: Another use case is when you have multiple recordings for the same subject that do not have the same number of channels. You cannot share the channel file if the list of channels is not strictly the same for all the files.
        Different cleaning procedures: If you are cleaning artifacts from each acquisition run separately using SSP or ICA projectors, you cannot share the channel file between them (the projectors are saved in the channel file).

      • Yes, use one channel file per subject:
        This is a common setting for EEG. The electrodes are in the same position for all the files recorded on one subject, and the number of channels is the same for all the files. To use this option, you should not be using SSP/ICA projectors on the recordings, or they should be computed for all the runs at once.

      • Yes, use only one global channel file:
        This is never a recommended setting. It could be used in the case of an EEG study where you use only standard EEG positions on a standard anatomy, but only if you are not doing any advanced source reconstruction. If you share the position of the electrodes between all the subjects, it will also share the source models, which are dependent on the quality of the recordings for each subject. This is complicated to understand at this level, it will make more sense later in the tutorials.

  4. In the context of this study, we are going to use the following settings:

    • No, use individual anatomy: Because we have access to a T1 MRI scan of the subject.

    • No, use one channel file per condition/run: The typical MEG setup.

  5. Click on [Create].


Protocol exploration

The protocol is created and you can now see it in the database explorer. It is represented by the top-most node in the tree.

Changing the temporary folder

If the amount of storage space you have for your user folder is limited (less than 10Gb), you may have to change the temporary folder used by Brainstorm. If you work on a centralized network where all the computers are sharing the same resources, the system admins may impose limited disk quotas to all users and encourage them to use local hard drives instead of the limited and shared user folder.

The default temporary folder of Brainstorm is located in your user folder ($HOME/.brainstorm/tmp/), so when you import recordings or calculate large models, it may quickly fill up your limited quota and at some point block your user account. To prevent this, select the menu File > Edit preferences and set the temporary directory to a folder that is local to your computer, in which you won't suffer from any storage limitation.



The workflow described in these introduction tutorials include the following steps:


Additional documentation

Feedback: Comments, bug reports, suggestions, questions
Email address (if you expect an answer):

Tutorials/CreateProtocol (last edited 2017-10-06 12:17:25 by FrancoisTadel)