-
Notifications
You must be signed in to change notification settings - Fork 7
EEG: souce modeling
Here we show steps to prepare the source space, to create boundary surfaces, to co-register EEG electrodes over a head, and to calculate the forward solution for EEG source modeling. Estimation of EEG source currents using the minimum-norm estimate (MNE) is also described in the bottom of this page.
Here we use a subject 180322_PYW
as the example. FreeSurfer reconstruction of the subject's MRI (into different surfaces and volumes) and MNE packages are needed. The FreeSurfer reconstruction for 180322_PYW
can be downloaded here.
Make sure that you source the environment setup correctly to include both FreeSurfer and MNE
This is a step to prepare subject's MRI
mne_setup_mri --subject 180322_PYW
mne_setup_source_space --subject 180322_PYW --spacing 5
mne_watershed_bem --subject 180322_PYW (--overwrite)
cd $SUBJECTS_DIR/180322_PYW/bem
ln -s watershed/180322_PYW_inner_skull_surface inner_skull.surf
ln -s watershed/180322_PYW_outer_skin_surface outer_skin.surf
ln -s watershed/180322_PYW_outer_skull_surface outer_skull.surf
Please consult the Wiki page.
A forward solution is a linear transformation describing how nx3 sources (n location with 3 orthogonal components) generate EEG signal at p locations. So it is a 2D matrix of (p x 3n). With defined current source locations, boundary surfaces, and co-registered EEG electrodes, you can use this forward solution calculation script to calculate the forward solution.
This forward solution solver was made possible by Dr. Matti Stenroos at the department of Neuroscience and Biomedical Engineering at Aalto University. It is based on a published paper. You may contact him to get necessary functions to make the script work.
You may need to update the first few lines of the script:
-
fwd_pre_file_name='fwd_prep_041018.mat';
It sets the preparation of the Matlab data file. See steps above. -
fwd_file_name='fwd_041018.mat';
It sets the output file for the forward solution.
This MNE script will calculate the MNE of EEG responses. You may need to update the following 4 lines:
file_fwd='fwd_041018.mat';
file_bem='fwd_prep_041018.mat'; %including the source definition
file_erp={'erp_avg_outside.mat';};
output_stem={'mne_erp_avg_outside'};
The first two lines sets the file names for the forward model and boundary surfaces. The third line specifies the location of the evoked response, which should include a structrue cell variable named erp
. This structure should minimally have the following fields:
-
erp
: a 2D pxt matrix of p electrodes with t time points -
timeVec
: a 1D vector of timing of the evoked response in seconds
The calculation of ERP is described in this Wiki page.
The output will be two STC files (mne_erp_avg_outside-lh.stc
and mne_erp_avg_outside-rh.stc
) describing the estimated neuronal current response amplitude at left and right hemispheres.
You can use the following codes to display the current estimates on the inflated brain surface of the subject. Remember to set the environment variable SUBJECTS_DIR
correctly.
setenv('SUBJECTS_DIR','/my/path/to/subjects/');
subject='180322_PYW';
[value_lh,v_lh,a,b,timeVec]=inverse_read_stc('mne_erp_avg_outside-lh.stc');
etc_render_fsbrain('subject',subject,'overlay_stc',value_lh,'overlay_vertex',v_lh,'overlay_threshold',[10 20],'overlay_stc_timevec',timeVec,'overlay_stc_timevec_unit','ms');
Further options about spatiotemporal brain activity on a brain structural surface are described in [this Wiki page] (https://github.com/fahsuanlin/fhlin_toolbox/wiki/Render-brain-with-a-dynamic-overlay).