Tutorial 20: Advanced scripting

Authors: Francois Tadel, Elizabeth Bock, Sylvain Baillet

From CTF

The main window includes a graphical batching interface that directly benefits from the database explorer: files are organized as a tree of subjects and conditions, and simple drag-and-drop operations readily select files for subsequent batch processing. Most of the Brainstorm features are available through this interface, including pre-processing of the recordings, averaging, time-frequency decompositions, and computing statistics. A full analysis pipeline can be created in a few minutes, saved in the user’s preferences and reloaded in one click, executed directly or exported as a Matlab script.

The available processes are organized in a plug-in structure. Any Matlab script that is added to the plug-in folder (brainstorm3/toolbox/process/functions/) and has the right format will be automatically detected and made available in the GUI. This mechanism makes the contribution from other developers to Brainstorm very easy.

Creating a pipeline

List of processes

  1. Click on Run. The Process selection window appears, with which you can create an analysis pipeline (ie. a list of process that are applied on the selected files one after the other). The first button in the toolbar shows the list of processed that are currently available. If you click on a menu, it's added to the list.
    • pipeline1.gif

  2. Some menus appear in grey (example: Sources > Spatial smoothing). This means that they are not meant to be applied to the type of data that you have in input, or at the end of the current pipeline. The "spatial smoothing" process may only be run on source files.

  3. When you select a process, a list of options specific to this process is shown in the window.
    • To delete a process: Select it and press the Delete key, or the big cross in the toolbar.

    • With the "up arrow" and "down arrow" buttons in the toolbar, you can move up/down a process in the pipeline.
  4. Now add the following processes, and set their options:
    • Pre-process > Band-pass filter: 2Hz - 30Hz

      • In some processes, you can specify the type(s) of sensors on which you want to apply the process. This way you can for instance apply different filters on the EEG and the MEG, if you have both in the same files.
    • Extract > Extract time: 40.00ms - 49.60ms, overwrite initial file

      • This will extract from each file a small time window around the main response peak.
      • Selecting the overwrite option will replace the previous file (bandpass), with the output of this process (bandpass+extract). This option is usually unselected for the first process in the list, then selected automatically.
    • Average > Average over time: Overwrite initial file

      • Compute the average over this small time window.

      pipeline2.gif

  5. Save your pipeline: Click on the last button in the toolbar > Save > New... > Type "process_avg45".

Saving/exporting a pipeline

The last button in the the toolbar offers a list of menus to save, load and export the pipelines.

Here is the Matlab script that is generated automatically for this pipeline.

Click on Ok, in the pipeline window. After a few seconds, you will see two new files in the database, and the "Report viewer" window.

Report viewer

Each time the pipeline editor is used to executed to run a list of processes, a report is generated and saved in the user home folder (/home/username/reports/). The report viewer shows as an HTML page some of the information saved in this report structure: the date and duration of execution, the list of processes, the input and output files. It reports all the warning and errors that happen during the execution.

The report viewer does not necessarily appear automatically at the end of the last process: it is shown only when more than one processes were executed, or when any of the processes returned an error or a warning.

When running processes manually from a script, the calls bst_report(Start, Save, Open) explicitly indicate when the logging of the events should start and stop.

You can add images to the reports for quality control using the process "File > Save snapshot".

output.gif

After you close the report window, you can re-open the last report with the main menu of the Brainstorm window: File > Report viewer.

With the buttons in the toolbar, you can go back to the previous reports saved from the same protocol.








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


Tutorials/Scripting (last edited 2015-02-03 22:22:50 by FrancoisTadel)