= Import and process Neuromag raw recordings = This tutorial describes how to process raw Neuromag recordings. It is based on median nerve stimulation acquired at MGH in 2005 with a Neuromag Vectorview 306 system. The sample dataset contains the results for one subject for both arms. This document shows what to do step by step, but does not really explain what is happening, the meaning of the different options or processes, the issues or bugs you can encounter, and does not provide an exhaustive description of the software features. Those topics are introduced in the basic tutorials based on CTF recordings; so make sure that you followed all those initial tutorials before going through this one. The script file '''tutorial_mind_neuromag.m''' in the brainstorm3/toolbox/script folder performs exactly the same tasks automatically, without any user interaction. Please have a look at this file if you plan to write scripts to process recordings in .fif format. <> == Download and installation == * It is considered that you followed all the basic tutorials and that you already have a fully working copy of Brainstorm installed on your computer. * Go to the [[http://neuroimage.usc.edu/brainstorm3_register/download.php|Download]] page of this website, and dowload the file "bst_sample_mind_neuromag.zip". * Unzip it in a folder that is not in any of the Brainstorm folders (program folder or database folder). This is really important that you always keep your original data files in a separate folder: the program folder can be deleted when updating the software, and the contents of the database folder is supposed to be manipulated only by the program itself. * Start Brainstorm (Matlab scripts or stand-alone version) * In the protocols drop-down list, select the menu "Create new protocol". * Name it "!TutorialNeuromag", and select all the options as illustrated: No default anatomy, Use individual anatomy, Use one channel file per subject (we have only one run, it's possible to share the channels positions and head models between diffrerent conditions).<
><
> {{attachment:createProtocol.gif}} == Importing anatomy == === Create the subject === * Select the "Anatomy" exploration mode (first button in the toolbar above the database explorer). * Right-click on the protocol node and select "New subject".<
><
> {{attachment:createSubjectMenu.gif}} * You can leave the default name "Subject01" and the default options. Then click on Save.<
><
> {{attachment:createSubject.gif}} === Import the MRI === * Right-click on the subject node, and select "Import MRI". Select the file: sample_mind_neuromag/anatomy/T1.mri<
><
> {{attachment:mriImportMenu.gif}} {{attachment:mriFile.gif}} * The orientation of the MRI is already ok, you just have to mark all the six fiducial points, as explained in the following wiki page: [[CoordinateSystems|Coordinate systems]]. Click on save button when you're done.<
><
> {{attachment:fiducials.gif}} * If at some point you do not see the files you've just imported in the database explorer, you just need to refresh the display: by pressing F5, or using the menu File > Refresh tree display. === Import the surfaces === * Right-click again on the subject node, and select "Import surfaces". Select the "!FreeSurfer surfaces" file type, and select all the surface files at once, holding the SHIFT or CTRL buttons. Click on Open.<
><
> {{attachment:surfaceFiles.gif}} * Answer "Yes" to the question "Align surfaces with MRI now?". You should see the following nodes in the database.<
><
> {{attachment:surfListInit.gif}} * "outer skin" = Head, used for surfaces/MRI registration * "inner skull" = Internal surface of the skull, used for the computation of the "overlapping spheres" forward model * "lh" = Left hemisphere * "rh" = Right hemisphere * "pial" = External cortical surface = grey matter/CSF interface (used for source estimation) * "white" = External white matter surface = interface between the grey and the white matter (not used in this tutorial) * Downsample the two pial and the two white surfaces to 7,500 vertices each (right-click > Less vertices) * Merge the two downsampled hemispheres of the pial surface (select both lh.pial_7500 and rh.pial_7500 files, right-click > Merge surfaces). Rename the new surface in "cortex". * Do the same with the white matter. Call the result "white". * Delete all the intermediate lh and rh surfaces. Rename the head and the inner skull with shorter names. Display all the surfaces and play with the colors and transparency to check that everything what imported correctly. You should obtain something like this:<
><
> {{attachment:surfListFinal.gif}} {{attachment:surfTest.gif}} == Importing MEG recordings == * Select the "Functional data / sorted by subject" exploration mode (second button in the toolbar above the database explorer). * Right click on the subject, select Import MEG/EEG. Select the "Neuromag FIFF" file type, and open the only .fif file in the folder sample_mind_neuromag/data.<
><
> {{attachment:megImportMenu.gif}} * Select "Event channel" when asked about the events.<
><
> {{attachment:eventsImport.gif}} * You have then to select from which technical track you want to read the events. <
><
> {{attachment:eventsChannels.gif}} * In this dataset, the tracks of interest are: * STI 001: Contains the onsets of the electric stimulation of the '''right '''arm. * STI 002: Contains the onsets of the electric stimulation of the '''left '''arm. * Those are not standard settings, they depend on your acquisition setup. In most cases, you would rather import "events" defined with the Neuromag acquisition software, which are saved in tracks STI 014, STI 101, STI 201... * Click on "STI 001". The full track is read, all the changes of values are extracted and a list of events is created. * Answer "No" when asked whether to save this list of events. This would create a .eve file in the same folder, that would be read instead of the stimulation channel during later access to the raw .fif file. It would provide a much faster access to the events present in the track "STI 001", but we do not need that, because we will have to import the events of the "STI 002". * The following figure appears, that asks how to import those recordings in the Brainstorm database.<
><
> {{attachment:importOptions.gif}} * __Time window__: Time range of interest. Now we want to keep the whole time definition, we are interested by all the stimulations. * __Split__: Useful to import continuous recordings without events. We do not need this here. * __Events selection__: Check the "Use events" option, and select "Event #5". * The value between parenthesis represents the number of occurrences of this event. * Event #5 represents the instants where the value of track STI 001 changing from 0 to 5 (electric stimulation) * Event #0 is set when the value goes back to zero * __Epoch time__: Time instants that will be extracted before an after each event, to create the epochs that will be saved in the database. Set it to [-100, +300] ms * __Use Signal Space Projections__: Save and use the SSP vectors created by !MaxFilter or during other pre-processing steps. Keep this option selected. * __Remove DC Offset__: Check this option, and select: Time range: [-100, 0] ms. <
>For each epoch, this will: compute the average of each channel over the baseline (pre-stimulus interval: -100ms to 0ms), and subtract it from the channel at all the times in [-100,+300]ms. * __Resample recordings__: Keep this unchecked * __Create new conditions for epochs__: If selected, a new condition is created for each event type (here, it will create a condition "Event_5"). If not selected, all the epochs from all the selected events are saved in the same condition, the one that was selected in the database explorer (if no condition selected, create a condition called "New condition"). * Click on Import and wait. * At the end, you get something like this:<
><
> {{attachment:treeAfterImport1.gif}} * Rename the condition "Event_5" into "Right" (Right-click > Rename, or press F2, or click twice waiting a while before the two clicks). * Repeat all those steps to import the events from track "STI 002". Rename "Event_5" into "Left". Your database should look like this:<
><
> {{attachment:treeAfterImport2.gif}} * __Note__: if you do not rename the condition "Event_5" in "Right" between the two imports, you would have at the end all the epochs in the same Event_5 condition. In this case, another way (and maybe safer) way to proceed is to: * Create two conditions Left and Right before starting to import the recordings. * Import the "STI 001" events in condition Right, and the "STI 002" in Left (do not forget to uncheck the option "Create new conditions for epochs", if not the condition selection would be overridden) == Pre-processing == === Stimulation artifact removal === The electric stimulation of the median nerve induces a strong artefact right after 0ms. We are going to use a simple trick to remove this artifact: re-interpolate the values between 0ms and 4ms (linear interpolation). It doesn't affect much the data but will make all the displays much better. * Drag'n'drop the "Subject01" node from the database explorer to the "Processes" tab. Click on the "Recordings" button, and then click on "run process".<
><
> {{attachment:cutStimList.gif}} * Select "Process > Cut stimulation artifact". The baseline time windows represents here the time instants for which the values are going to be re-interpolated. Set it to [0, 3.9]ms. <
><
> {{attachment:cutStimOptions.gif}} * Click on Run. All the files are going to be replaced with the processed ones. === Band-pass filtering ===