15407
Comment:
|
23011
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
The aim of this tutorial is to reproduce in the Brainstorm environment the analysis described in the SPM tutorial "[[ftp://ftp.mrc-cbu.cam.ac.uk/personal/rik.henson/wakemandg_hensonrn/Publications/SPM12_manual_chapter.pdf|Multimodal, Multisubject data fusion]]". The data processed here consists in simulateneous MEG/EEG recordings of 16 subjects performing simple visual task on a large number of famous, unfamiliar and scrambled faces. | The aim of this tutorial is to reproduce in the Brainstorm environment the analysis described in the SPM tutorial "[[ftp://ftp.mrc-cbu.cam.ac.uk/personal/rik.henson/wakemandg_hensonrn/Publications/SPM12_manual_chapter.pdf|Multimodal, Multisubject data fusion]]". The data processed here consists in simulateneous MEG/EEG recordings of 16 (19) subjects performing simple visual task on a large number of famous, unfamiliar and scrambled faces. |
Line 19: | Line 19: |
* 16 subjects | * 19 subjects |
Line 33: | Line 33: |
* The distribution contains 3 sub-directories of empty-room recordings of 3-5mins acquired at roughly the same time of year (spring 2009) as the 16 subjects. The sub-directory names are Year (first 2 digits), Month (second 2 digits) and Day (third 2 digits). Inside each are 2 raw *.fif files: one for which basic SSS has been applied by maxfilter in a similar manner to the subject data above, and one (*-noSSS.fif) for which SSS has not been applied (though the data have been passed through maxfilter just to convert to float format). | * The distribution contains 3 sub-directories of empty-room recordings of 3-5mins acquired at roughly the same time of year (spring 2009) as the 19 subjects. The sub-directory names are Year (first 2 digits), Month (second 2 digits) and Day (third 2 digits). Inside each are 2 raw *.fif files: one for which basic SSS has been applied by maxfilter in a similar manner to the subject data above, and one (*-noSSS.fif) for which SSS has not been applied (though the data have been passed through maxfilter just to convert to float format). |
Line 41: | Line 41: |
* Alternative to discuss: use the original 19 subjects from the openfmri website: <<BR>>https://openfmri.org/dataset/ds000117/ | |
Line 57: | Line 58: |
* Right-click on the TutorialAuditory folder > New subject > '''Sub01''' | * Right-click on the TutorialAuditory folder > New subject > '''Sub001''' |
Line 61: | Line 62: |
* Select the folder: '''Anatomy/Sub01''' (from sample_group_anat.zip) | * Select the folder: '''Anatomy/Sub001''' (from sample_group_anat.zip) |
Line 63: | Line 64: |
* The two sets of fiducials we usually have to define interactively are here set automatically. | * The two sets of fiducials we usually have to define interactively are here automatically set. |
Line 65: | Line 66: |
* '''AC/PC/IH''': Identified automatically using the SPM affine registration with an MNI template. | * '''AC/PC/IH''': Automatically identified using the SPM affine registration with an MNI template. |
Line 70: | Line 71: |
* All the anatomical atlases [[Tutorials/LabelFreeSurfer|generated by FreeSurfer]] were imported automatically: the surface-based cortical atlases and the atlas of sub-cortical regions (ASEG). <<BR>><<BR>> {{attachment:anatomy_atlas.gif||height="211",width="550"}} | * All the anatomical atlases [[Tutorials/LabelFreeSurfer|generated by FreeSurfer]] were automatically imported: the surface-based cortical atlases and the atlas of sub-cortical regions (ASEG). <<BR>><<BR>> {{attachment:anatomy_atlas.gif||height="211",width="550"}} |
Line 73: | Line 74: |
=== Link the recordings === | |
Line 76: | Line 78: |
* Select the '''first''' FIF files in: '''Sub01/MEEG''' <<BR>><<BR>> {{attachment:review_raw.gif||height="181",width="446"}} * Events:''' Ignore'''<<BR>>We will load the trial definition separately.<<BR>><<BR>> {{attachment:review_ignore.gif||height="186",width="330"}} |
* Select the '''first''' FIF files in: '''Sub001/MEEG''' <<BR>><<BR>> {{attachment:review_raw.gif||height="181",width="446"}} * Events:''' Ignore'''<<BR>>We will read events for the stimulus channel and define trial definitions later.<<BR>><<BR>> {{attachment:review_ignore.gif||height="186",width="330"}} |
Line 80: | Line 82: |
== Channel classification == | === Channel classification === |
Line 88: | Line 90: |
== MRI registration == | === MRI registration === |
Line 95: | Line 97: |
== Import triggers == * Right-click on the "Link to raw file" > '''MEG (all) > Display time series'''. <<BR>><<BR>> {{attachment:events_add.gif||height="183",width="537"}} * In the Record tab, menu '''File > Add events from file''': * Select the file format: "'''FieldTrip trial definition (*.txt''';'''*.mat)'''" * Select the '''first''' text file: '''Sub01/MEEG/Trials/run_01_trldef.txt''' * There are two event categories created for each condition: the first one (eg. "Famous") represents when the stimulus was sent to the subject, the second (eg. "Famous_trial") is an extended event that represents the trial information that was present in the file. <<BR>><<BR>> {{attachment:events_file.gif||height="170",width="596"}} * We are going to use only the single events (triggers): '''Delete the 3 last categories''' ("_trial"). <<BR>><<BR>> {{attachment:events_select.gif}} * Close all the figures. YES, save the modifications. == Spectral evaluation == |
=== Import event markers === * Right-click on the "Link to raw file" > '''MEG (all) > Display time series'''. * In the Record tab, menu '''File > Read events from channel'''. * Event channels: '''STI101''' * Select '''Value''' <<BR>><<BR>> {{attachment:events_read_channel_STI101.png||height="200",width="300"}} * Three event markers represent each trial type that we will explore in this analysis and need to be merged to one event. * In the Record tab, menu '''Events > Merge groups''' combine the following events to create the labeled groups: * Famous: 5,6,7 * Unfamiliar: 8,9,10 * Scrambled: 11,12,13 <<BR>><<BR>> {{attachment:events_merge.png||height="200",width="300"}} * Because the detection only looks for values, multiple events can be detected in one trial. For example, a value of 7 represents a Famous trial, but during the trial another event occurred as well. The value went from 7 to 4101, for example, and then back to 7. In this case, the 7 would be counted twice. * In the Record tab, menu '''Events > Detect multiple responses''', remove the extra events * Response events: '''Famous''' * Minimum delay between events: '''2200ms''' * Select '''Keep only the first event''' <<BR>><<BR>> {{attachment:events_detect_multiple.png||height="250",width="300"}} * The stimulus presentation to the subject has a delay of 34.5ms, which can be corrected with an offset. * In the Record tab, menu '''Events > Add time offset''' * Event names: '''Famous''' * Time offset: '''34.5ms''' <<BR>><<BR>> {{attachment:events_add_time_offset.png||height="250",width="300"}} * Complete these same steps (merge, detect multiple and add time offset) for types Unfamiliar and Scrambled. == Pre-processing == === Spectral evaluation === |
Line 116: | Line 132: |
== Remove line noise == | === Remove line noise === |
Line 122: | Line 138: |
== EEG reference and bad channels == | === EEG reference and bad channels === |
Line 125: | Line 141: |
* Repeat with '''EEG007''' and '''EEG015''', select them and mark them as bad. | |
Line 129: | Line 144: |
== Artifact detection == | == Artifact correction with SSP == === Artifact detection === |
Line 133: | Line 149: |
* '''Artifacts > Detect eye blinks''': Channel name='''EEG062''', All file, Event name=blink<<BR>>The first category of events detected from the EOG is related with the blinks. The second one (blink2) is related with different types of eye movements, probably saccades. * '''Artifacts >''' '''Remove simultaneous''': Remove "'''cardiac'''", too close to "'''blink'''", delay '''250ms'''. <<BR>><<BR>> {{attachment:artifacts_detect.gif||height="186",width="545"}} |
* In many of the other tutorials, you will have detected the blink category and used the SSP process to remove the blink artifact. In this experiment, we are particularly interested in the subject's response to seeing the stimulus. Therefore we will mark eyeblinks and other eye movements as BAD. * '''Artifacts > Detect events above threshold''': Channel name='''EEG062''', All file, Event name='''blink_BAD''', Maximum threshold='''100''', Threshold units='''uV''', Filter='''[0.30,20.00]Hz''', Use '''absolute value is checked'''<<BR>> <<BR>> {{attachment:artifact_detect_blink_thresh.png||height="325",width="200"}} <<BR>><<BR>> {{attachment:artifacts_blink_bad.png||height="186",width="545"}} |
Line 137: | Line 155: |
== Artifact correction with SSP == | |
Line 146: | Line 163: |
* In category '''cardiac/MEG MAG''': Select '''component #1'''. * In category '''cardiac/MEG GRAD''': Select '''component #1'''.<<BR>><<BR>> {{attachment:ssp_ecg_topo.gif||height="175",width="604"}} |
* In category '''cardiac/MEG MAG''': Select '''component #1''' and view topography. * In category '''cardiac/MEG GRAD''': Select '''component #1 '''and view topography. <<BR>><<BR>> {{attachment:ssp_ecg_topo.gif||height="175",width="604"}} |
Line 150: | Line 168: |
=== Eye blinks === * Process1>Run: Select the following processes and run the pipeline: * Artifacts > '''SSP: Eye blinks''' > Sensor type: '''MEG MAG''' * Artifacts > '''SSP: Eye blinks''' > Sensor type: '''MEG GRAD''' * Artifacts > '''SSP: Eye blinks''' > Sensor type: '''EEG''' <<BR>><<BR>> {{attachment:ssp_eog_process.gif||height="251",width="298"}} * Double-click on the continuous file to show all the MEG sensors. <<BR>>In the Record tab, select sensors "Left-frontal". * Menu Artifacts > Select active projectors. * In category '''cardiac/MEG MAG''': Select '''component #1'''. * In category '''cardiac/MEG GRAD''': Select '''component #1'''. * In category '''cardiac/EEG''': Select '''component #1'''.<<BR>><<BR>> {{attachment:ssp_eog_topo.gif||height="303",width="519"}} * Make sure that selecting the components removes the ocular artifacts. Then click '''[Save]'''. == Additional bad segments == * Process1>Run: Select the process "'''Events > Detect other artifacts'''". <<BR>><<BR>> {{attachment:artifacts_other_process.gif||height="235",width="276"}} * Display the MEG and EEG sensors simultaneously, review the segments that were tagged as bad. * In the Record tab, rename the two new categories to add the tag "_BAD". * __'''PROBLEM: LOTS OF SQUID JUMPS AT THE END OF THE FILE'''__ |
=== Additional bad segments === * Process1>Run: Select the process "'''Events > Detect other artifacts'''". This should be done separately for MEG and EEG to avoid confusion about which sensors are involved in the artifact. <<BR>><<BR>> {{attachment:artifacts_detect_other.png||height="235",width="276"}} * Display the MEG sensors. Review the segments that were tagged as artifact, determine if each event represents an artifact and then mark the time of the artifact as BAD. This can be done by selecting the time window around the artifact, Right-click > '''Reject time segment'''. Note that this detection process marks 1-second segments but the artifact can be shorter.<<BR>><<BR>> {{attachment:artifacts_mark_bad.png||height="200",width="640"}} * Once all the events in the two categories are reviewed and bad segments are marked, the two categories (1-7Hz and 40-240Hz) can be deleted. * Do this detection and review again for the EEG. * __'''SQUID SENSOR ARTIFACTS'''__''' (SQUID JUMPS): '''Because of the different sensor technologies, one can expect that the different MEG systems may produce different types of artifact. With the Neuromag system, used for this experiment, one can see an artifact produced by the sensors which is exaggerated by the pre-processing completed with Max Filter, seen here in the examples below. The spacial filtering of Max Filter causes the artifact to be speard across most sensors and also spread a bit in time. Ideally, the offending should be marked bad before applying the Max Filter. In the case of this dataset, we have the artifacts - sometimes more frequent than others. The 1-7Hz artifact detection employed here will usually catch them, but it is important to review all the sensors and all the time in each recording to be sure these events are marked as bad segments.<<BR>><<BR>> {{attachment:artifact_jump_example.png||height="200",width="640"}} <<BR>> {{attachment:artifacts_jump_example2.png||height="200",width="640"}} == Prepare all runs == Complete the above steps for Runs 2-6: <<BR>> [[#Access_the_recordings|Access the recordings]]<<BR>> [[#Pre-processing|Pre-processing]]<<BR>> [[#Artifact_detection|Artifact detection]] |
Line 169: | Line 180: |
* Right-click on the continuous processed file > '''Import in database'''. <<BR>><<BR>> {{attachment:import_epochs.gif||height="385",width="642"}} * Drag and drop all the imported trials in Process1. * Run process "'''Average > Average files'''": '''By trial groups (subject average)''' <<BR>><<BR>> {{attachment:average_process.gif||height="556",width="529"}} * MEG evoked responses: <<BR>><<BR>> {{attachment:evoked_all.gif}} * EEG evoked response: <<BR>><<BR>> {{attachment:average_eeg.gif}} |
=== Import epochs === * Drag and drop the 6 pre-processed raw folders in Process1 > Run * Run the two processes together: '''Import recordings > Import MEG/EEG: Events''' and '''Pre-process > Remove DC offset'''<<BR>><<BR>> {{attachment:import_process1box_allruns.png||height="120",width="180"}} {{attachment:import_events.png||height="325",width="225"}} {{attachment:import_events_removedc.png||height="170",width="225"}} === Average === * Drag and drop all the imported trials in Process1. * Run > '''Average > Average files''': '''By trial groups (folder average)''' <<BR>><<BR>> {{attachment:average_process1_alltrials.png||height="400",width="230"}} {{attachment:average_by_trial_group.png||height="320",width="215"}} === Review EEG ERP === * EEG evoked response (famous, scrambled, unfamiliar): <<BR>><<BR>> {{attachment:average_EEG_ERP_topo.png||height="453",width="640"}} * Make a cluster with channel EEG065 and overlay the channel across the three conditions. * Display the '''EEG time series''' for one of the averages. * Select '''EEG065''' * In the '''Cluster tab''', select the new selection button '''(NEW SEL)''' and check the box, '''overlay conditions'''<<BR>><<BR>> {{attachment:average_EEG_select_cluster.png||height="200",width="402"}} * Select the cluster then select three average files and '''right click > Clusters time series'''<<BR>><<BR>> {{attachment:average_select_cluster_conditions.png||height="320",width="350"}} {{attachment:average_EEG65_overlay_conditions.png||height="320",width="300"}} * Around 170ms (N170) there is a greater negative deflection for Famous than Scrambled faces and as well as a difference between Famous and Unfamiliar faces after 250ms. == Empty room recordings == For this dataset, one empty room recording will be used for all subjects. * Create a new subject: '''emptyroom''' * Create a link to the raw file: '''sample_group/EmptyRoom/090707.fif''' * Apply the same '''notch filter''' as for the data * Compute the noise covariance. Right-click on''' Raw | notch > Noise covariance > Compute from recordings''' * Copy the noise covariance to Sub001. Right-click on the '''Noise covariance > Copy to other subjects '''<<BR>><<BR>> {{attachment:emptyroom.png||height="180",width="300"}} |
Line 176: | Line 206: |
<<EmbedContent(http://neuroimage.usc.edu/bst/get_feedback.php?Tutorials/VisualSingle)>> | === MEG === * Head Model: We will compute one head model file which contains both the Overlapping Spheres (MEG) model and OpenMEEG BEM (EEG) model. To compute the OpenMEEG BEM on the EEG, it is necessary to prepare the BEM surfaces. * Switch to the "Anatomy" view. Right-click on '''Sub01 > Generate BEM surfaces'''. Select the default values. If you have memory errors while generating the model (below), you can reduce the number of vertices in these BEM surfaces.<<BR>><<BR>> {{attachment:sources_generate_BEM.png||height="300",width="400"}} * Switch back to the "Functional" view. Drag and drop the 6 imported trial folders in Process1. * Run > '''Sources > Compute head model''': Overlapping spheres (MEG) and OpenMEEG BEM (EEG). It will take quite a long time to compute the BEM models. * Source Model: Run > '''Sources > Compute sources''', Sensor types=MEG, Leave all the default options to calculate a wMNE solution with constrained dipole orientation. === Averaging === Drag and drop all the imported trials in Process1, be sure to select the file type '''sources'''. Stack all the following processes to select a uniform number of trials, average across runs, filter, extract time and normalize: * '''File > Select uniform number of trials''': By trial group (subject), Uniformly distributed * '''Average > Average files''': By trial groups (subject average) * '''Pre-process > Band-pass filter''': Lower cutoff=0, Upper cutoff=32 * '''Extract > Extract time''': Time window [-100,800]Hz * '''Standardize > Z-score normalization''': Baseline=[-100,-1]ms, '''uncheck''' Use absolute values and '''uncheck''' Dynamic <<BR>><<BR>> {{attachment:sources_subject_average_pipeline.png||height="400",width="300"}} MEG source maps at 170ms, Famous, Scrambled, Unfamiliar: <<BR>><<BR>> {{attachment:average_sources_170ms.png||height="200",width="600"}} Plot the activation over time limited to the fusiform. * In the Scout panel, select the '''Desikan-Killiany''' atlas from the dropdown menu. * Select the two scouts: '''LT fusiform''' and '''RT fusiform''' * Plot the two scout time series, with '''relative values''', overlaying the '''conditions''' <<BR>><<BR>> {{attachment:average_fusiform_170ms.png||height="300",width="600"}} === EEG === * Compute a EEG noise covariance for EACH RUN using the EEG recordings and merge it with the existing noise covariance, which contains the noise covariance for MEG. * Expand the folder run_01_sss_notch to see the imported files. Select all imported trials, Right-click >''' Noise covariance > Compute from recordings''', Time window=[-300,0]ms, Sensor types=EEG, select '''Merge'''. * Repeat for runs 2-6. * Run''' > Sources > Compute sources''', Sensor types=EEG, Leave all the default options to calculate a wMNE solution with constrained dipole orientation. Click Run. * Average the EEG sources: Drag and drop all the imported trials in Process1, be sure to select the file type '''sources and apply a filter: EEG '''(to select only the EEG sources). Stack all the following processes to select a uniform number of trials, average across runs, filter, extract time and normalize: * '''File > Select uniform number of trials''': By trial group (subject), Uniformly distributed * '''Average > Average files''': By trial groups (subject average) * '''Pre-process > Band-pass filter''': Lower cutoff=0, Upper cutoff=32 * '''Extract > Extract time''': Time window [-100,800]Hz * '''Standardize > Z-score normalization''': Baseline=[-100,-1]ms, '''uncheck''' Use absolute values and '''uncheck''' Dynamic == Scripting == Corresponding script in the Brainstorm distribution:<<BR>> '''TODO: Coming soon.''' . <<EmbedContent(http://neuroimage.usc.edu/bst/get_feedback.php?Tutorials/VisualSingle)>> |
MEG visual tutorial: Single subject
Authors: Francois Tadel, Elizabeth Bock.
The aim of this tutorial is to reproduce in the Brainstorm environment the analysis described in the SPM tutorial "Multimodal, Multisubject data fusion". The data processed here consists in simulateneous MEG/EEG recordings of 16 (19) subjects performing simple visual task on a large number of famous, unfamiliar and scrambled faces.
The analysis is split in two tutorial pages: the present tutorial describes the detailed analysis of one single subject and another one that the describes the batch processing and group analysis of the 16 subjects.
Note that the operations used here are not detailed, the goal of this tutorial is not to teach Brainstorm to a new inexperienced user. For in depth explanations of the interface and the theory, please refer to the introduction tutorials.
Contents
License
These data are provided freely for research purposes only (as part of their Award of the BioMag2010 Data Competition). If you wish to publish any of these data, please acknowledge Daniel Wakeman and Richard Henson. The best single reference is: Wakeman DG, Henson RN, A multi-subject, multi-modal human neuroimaging dataset, Scientific Data (2015)
Any questions, please contact: rik.henson@mrc-cbu.cam.ac.uk
Presentation of the experiment
Experiment
- 19 subjects
- 6 runs (sessions) of approximately 10mins for each subject
- Presentation of series of images: familiar faces, unfamiliar faces, phase-scrambled faces
- The subject has to judge the left-right symmetry of each stimulus
- Total of nearly 300 trials in total for each of the 3 conditions
MEG acquisition
Acquisition at 1100Hz with an Elekta-Neuromag VectorView system (simultaneous MEG+EEG).
- Recorded channels (404):
- 102 magnetometers
- 204 planar gradiometers
- 70 EEG electrodes recorded with a nose reference.
MEG data have been "cleaned" using Signal-Space Separation as implemented in MaxFilter 2.1.
- A Polhemus digitizer was used to digitise three fiducial points and a large number of other points across the scalp, which can be used to coregister the M/EEG data with the structural MRI image.
- The distribution contains 3 sub-directories of empty-room recordings of 3-5mins acquired at roughly the same time of year (spring 2009) as the 19 subjects. The sub-directory names are Year (first 2 digits), Month (second 2 digits) and Day (third 2 digits). Inside each are 2 raw *.fif files: one for which basic SSS has been applied by maxfilter in a similar manner to the subject data above, and one (*-noSSS.fif) for which SSS has not been applied (though the data have been passed through maxfilter just to convert to float format).
Subject anatomy
- MRI data acquired on a 3T Siemens TIM Trio: 1x1x1mm T1-weighted structural MRI
Processed with FreeSurfer 5.3
Download and installation
The data is hosted on this FTP site (use an FTP client such as FileZilla, not your web browser):
ftp://ftp.mrc-cbu.cam.ac.uk/personal/rik.henson/wakemandg_hensonrn/Alternative to discuss: use the original 19 subjects from the openfmri website:
https://openfmri.org/dataset/ds000117/- Download only the following folders (about 75Gb):
EmptyRoom: MEG empty room measurements.
SubXX/MEEG/*_sss.fif: MEG and EEG recordings in FIF format, corrected with SSS.
SubXX/MEEG/Trials: Trials definition files.
Publications: Reference publications related with this dataset.
README.TXT: License and dataset description.
The FreeSurfer segmentations of the T1 images are not part of this package. You can either process them by yourself, or download the result of the segmentation from the Brainstorm website.
Go to the Download page, and download the file: sample_group_anat.zip
Unzip this file in the same folder where you downloaded all the datasets.- Reminder: Do not put the downloaded files in the Brainstorm folders (program or database folders).
Start Brainstorm (Matlab scripts or stand-alone version). For help, see the Installation page.
Select the menu File > Create new protocol. Name it "TutorialVisual" and select the options:
"No, use individual anatomy",
"No, use one channel file per condition".
Import the anatomy
- Switch to the "anatomy" view.
Right-click on the TutorialAuditory folder > New subject > Sub001
- Leave the default options you set for the protocol
Right-click on the subject node > Import anatomy folder:
Set the file format: "FreeSurfer folder"
Select the folder: Anatomy/Sub001 (from sample_group_anat.zip)
- Number of vertices of the cortex surface: 15000 (default value)
- The two sets of fiducials we usually have to define interactively are here automatically set.
NAS/LPA/RPA: The file Anatomy/Sub01/fiducials.m contains the definition of the nasion, left and right ears. The anatomical points used by the authors are the same as the ones we recommend in the Brainstorm coordinates systems page.
AC/PC/IH: Automatically identified using the SPM affine registration with an MNI template.
If you want to double-check that all these points were correctly marked after importing the anatomy, right-click on the MRI > Edit MRI.
At the end of the process, make sure that the file "cortex_15000V" is selected (downsampled pial surface, that will be used for the source estimation). If it is not, double-click on it to select it as the default cortex surface. Do not worry about the big holes in the head surface, parts of MRI have been remove voluntarily for anonymization purposes.
All the anatomical atlases generated by FreeSurfer were automatically imported: the surface-based cortical atlases and the atlas of sub-cortical regions (ASEG).
Access the recordings
Link the recordings
- Switch to the "functional data" view.
Right-click on the subject folder > Review raw file.
Select the file format: "MEG/EEG: Neuromag FIFF (*.fif)"
Select the first FIF files in: Sub001/MEEG
Events: Ignore
We will read events for the stimulus channel and define trial definitions later.
Refine registration now? NO
The head points that are available in the FIF files contain all the points that were digitized during the MEG acquisition, including the ones corresponding to the parts of the face that have been removed from the MRI. If we run the fitting algorithm, all the points around the nose will not match any close points on the head surface, leading to a wrong result. We will first remove the face points and then run the registration manually.
Channel classification
A few non-EEG channels are mixed in with the EEG channels, we need to change this before applying any operation on the EEG channels.
Right-click on the channel file > Edit channel file. Double-click on a cell to edit it.
Change the type of EEG062 to EOG (electrooculogram).
Change the type of EEG063 to ECG (electrocardiogram).
Change the type of EEG061 and EEG064 to NOSIG.
MRI registration
Right-click on the channel file > Digitized head points > Remove points below nasion.
Right-click on the channel file > MRI registration > Refine registration.
MEG/MRI registration, before (left) and after (right) this automatic registration procedure:
Right-click on the channel file > MRI registration > EEG: Edit...
Click on [Project electrodes on surface]
- Close all the windows (use the [X] button at the top-right corner of the Brainstorm window).
Import event markers
Right-click on the "Link to raw file" > MEG (all) > Display time series.
In the Record tab, menu File > Read events from channel.
- Three event markers represent each trial type that we will explore in this analysis and need to be merged to one event.
In the Record tab, menu Events > Merge groups combine the following events to create the labeled groups:
- Because the detection only looks for values, multiple events can be detected in one trial. For example, a value of 7 represents a Famous trial, but during the trial another event occurred as well. The value went from 7 to 4101, for example, and then back to 7. In this case, the 7 would be counted twice.
In the Record tab, menu Events > Detect multiple responses, remove the extra events
- The stimulus presentation to the subject has a delay of 34.5ms, which can be corrected with an offset.
In the Record tab, menu Events > Add time offset
- Complete these same steps (merge, detect multiple and add time offset) for types Unfamiliar and Scrambled.
Pre-processing
Spectral evaluation
Run process "Frequency > Power spectrum density (Welch)" with the options illustrated below.
Right-click on the PSD file > Power spectrum.
- Observations:
- Three groups of sensors, from top to bottom: EEG, MEG gradiometers, MEG magnetometers.
Power lines: 50 Hz and harmonics
- Alpha peak around 10 Hz
Artifacts due to Elekta electronics: 293Hz, 307Hz, 314Hz, 321Hz, 328Hz.
Suspected bad EEG channels: EEG016
- Close all the windows.
Remove line noise
- Keep the "Link to raw file" in Process1.
Select process "Pre-process > Notch filter" to remove the line noise (50-200Hz).
Add immediately after the process "Frequency > Power spectrum density (Welch)"
Double-click on the PSD for the new continuous file to evaluate the quality of the correction.
- Close all the windows (use the [X] button at the top-right corner of the Brainstorm window).
EEG reference and bad channels
Right-click on link to the processed file ("Raw | notch(50Hz ...") > EEG > Display time series.
Select channel EEG016 and mark it as bad (using the popup menu or pressing Delete key).
In the Record tab, menu Artifacts > Re-reference EEG > "AVERAGE".
At the end, the window "select active projectors" is open to show the new re-referencing projector. Just close this window. To get it back, use the menu Artifacts > Select active projectors.
Artifact correction with SSP
Artifact detection
In the record tab, run the following menus:
Artifacts > Detect heartbeats: Channel name=EEG063, All file, Event name=cardiac
- In many of the other tutorials, you will have detected the blink category and used the SSP process to remove the blink artifact. In this experiment, we are particularly interested in the subject's response to seeing the stimulus. Therefore we will mark eyeblinks and other eye movements as BAD.
Artifacts > Detect events above threshold: Channel name=EEG062, All file, Event name=blink_BAD, Maximum threshold=100, Threshold units=uV, Filter=[0.30,20.00]Hz, Use absolute value is checked
- Close all the windows (using the [X] button).
Heartbeats
Empty the Process1 list (right-click > Clear list).
- Drag and drop the continuous processed file ("Raw | notch(50Hz...)") to the Process1 list.
- Select the following processes and run the pipeline:
Artifacts > SSP: Heartbeats > Sensor type: MEG MAG
Artifacts > SSP: Heartbeats > Sensor type: MEG GRAD
Double-click on the continuous file to show all the MEG sensors.
In the Record tab, select sensors "Left-temporal".Menu Artifacts > Select active projectors.
In category cardiac/MEG MAG: Select component #1 and view topography.
In category cardiac/MEG GRAD: Select component #1 and view topography.
Make sure that selecting the two components removes the cardiac artifact. Then click [Save].
Additional bad segments
Process1>Run: Select the process "Events > Detect other artifacts". This should be done separately for MEG and EEG to avoid confusion about which sensors are involved in the artifact.
Display the MEG sensors. Review the segments that were tagged as artifact, determine if each event represents an artifact and then mark the time of the artifact as BAD. This can be done by selecting the time window around the artifact, Right-click > Reject time segment. Note that this detection process marks 1-second segments but the artifact can be shorter.
- Once all the events in the two categories are reviewed and bad segments are marked, the two categories (1-7Hz and 40-240Hz) can be deleted.
- Do this detection and review again for the EEG.
SQUID SENSOR ARTIFACTS (SQUID JUMPS): Because of the different sensor technologies, one can expect that the different MEG systems may produce different types of artifact. With the Neuromag system, used for this experiment, one can see an artifact produced by the sensors which is exaggerated by the pre-processing completed with Max Filter, seen here in the examples below. The spacial filtering of Max Filter causes the artifact to be speard across most sensors and also spread a bit in time. Ideally, the offending should be marked bad before applying the Max Filter. In the case of this dataset, we have the artifacts - sometimes more frequent than others. The 1-7Hz artifact detection employed here will usually catch them, but it is important to review all the sensors and all the time in each recording to be sure these events are marked as bad segments.
Prepare all runs
Complete the above steps for Runs 2-6:
Access the recordings
Pre-processing
Artifact detection
Epoching and averaging
Import epochs
Drag and drop the 6 pre-processed raw folders in Process1 > Run
Run the two processes together: Import recordings > Import MEG/EEG: Events and Pre-process > Remove DC offset
Average
- Drag and drop all the imported trials in Process1.
Run > Average > Average files: By trial groups (folder average)
Review EEG ERP
- Make a cluster with channel EEG065 and overlay the channel across the three conditions.
Select the cluster then select three average files and right click > Clusters time series
- Around 170ms (N170) there is a greater negative deflection for Famous than Scrambled faces and as well as a difference between Famous and Unfamiliar faces after 250ms.
Empty room recordings
For this dataset, one empty room recording will be used for all subjects.
Create a new subject: emptyroom
Create a link to the raw file: sample_group/EmptyRoom/090707.fif
Apply the same notch filter as for the data
Compute the noise covariance. Right-click on Raw | notch > Noise covariance > Compute from recordings
Copy the noise covariance to Sub001. Right-click on the Noise covariance > Copy to other subjects
Source estimation
MEG
- Head Model: We will compute one head model file which contains both the Overlapping Spheres (MEG) model and OpenMEEG BEM (EEG) model. To compute the OpenMEEG BEM on the EEG, it is necessary to prepare the BEM surfaces.
Switch to the "Anatomy" view. Right-click on Sub01 > Generate BEM surfaces. Select the default values. If you have memory errors while generating the model (below), you can reduce the number of vertices in these BEM surfaces.
- Switch back to the "Functional" view. Drag and drop the 6 imported trial folders in Process1.
Run > Sources > Compute head model: Overlapping spheres (MEG) and OpenMEEG BEM (EEG). It will take quite a long time to compute the BEM models.
Source Model: Run > Sources > Compute sources, Sensor types=MEG, Leave all the default options to calculate a wMNE solution with constrained dipole orientation.
Averaging
Drag and drop all the imported trials in Process1, be sure to select the file type sources. Stack all the following processes to select a uniform number of trials, average across runs, filter, extract time and normalize:
File > Select uniform number of trials: By trial group (subject), Uniformly distributed
Average > Average files: By trial groups (subject average)
Pre-process > Band-pass filter: Lower cutoff=0, Upper cutoff=32
Extract > Extract time: Time window [-100,800]Hz
Standardize > Z-score normalization: Baseline=[-100,-1]ms, uncheck Use absolute values and uncheck Dynamic
MEG source maps at 170ms, Famous, Scrambled, Unfamiliar:
Plot the activation over time limited to the fusiform.
In the Scout panel, select the Desikan-Killiany atlas from the dropdown menu.
Select the two scouts: LT fusiform and RT fusiform
Plot the two scout time series, with relative values, overlaying the conditions
EEG
- Compute a EEG noise covariance for EACH RUN using the EEG recordings and merge it with the existing noise covariance, which contains the noise covariance for MEG.
Expand the folder run_01_sss_notch to see the imported files. Select all imported trials, Right-click > Noise covariance > Compute from recordings, Time window=[-300,0]ms, Sensor types=EEG, select Merge.
- Repeat for runs 2-6.
Run > Sources > Compute sources, Sensor types=EEG, Leave all the default options to calculate a wMNE solution with constrained dipole orientation. Click Run.
Average the EEG sources: Drag and drop all the imported trials in Process1, be sure to select the file type sources and apply a filter: EEG (to select only the EEG sources). Stack all the following processes to select a uniform number of trials, average across runs, filter, extract time and normalize:
File > Select uniform number of trials: By trial group (subject), Uniformly distributed
Average > Average files: By trial groups (subject average)
Pre-process > Band-pass filter: Lower cutoff=0, Upper cutoff=32
Extract > Extract time: Time window [-100,800]Hz
Standardize > Z-score normalization: Baseline=[-100,-1]ms, uncheck Use absolute values and uncheck Dynamic
Scripting
Corresponding script in the Brainstorm distribution:
TODO: Coming soon.