4715
Comment:
|
5064
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
The main ingredients are | The main ingredients are |
Line 16: | Line 16: |
Line 20: | Line 19: |
Line 22: | Line 20: |
Line 24: | Line 21: |
Line 26: | Line 22: |
Line 28: | Line 23: |
Line 31: | Line 25: |
Line 39: | Line 31: |
Line 46: | Line 37: |
# MEG subdirectories (your directory structure may differ) |
# MEG subdirectories (your directory structure may differ) |
Line 53: | Line 43: |
Line 55: | Line 44: |
Line 58: | Line 46: |
Line 61: | Line 48: |
Line 68: | Line 53: |
for c in `seq 0 ${lastcond}` do # Current Estimates mne_make_movie \ --subject {subjects[m]} \ --inv ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourName_1L-MEG-loose0.2-inv.fif \ --meas ${datapath}/${subj_pre[m]}/${subj_dir[m]}/${conds[c]}.fif \ --morph average \ |
for c in `seq 0 ${lastcond}` do # Current Estimates mne_make_movie \ --subject {subjects[m]} \ --inv ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourName_1L-MEG-loose0.2-inv.fif \ --meas ${datapath}/${subj_pre[m]}/${subj_dir[m]}/${conds[c]}.fif \ --morph average \ |
Line 79: | Line 64: |
--bmin -100 \ | --bmin -100 \ |
Line 81: | Line 66: |
--stc ${outpath}/${subj_pre[m]}_${conds[c]} done # conditions |
--stc ${outpath}/${subj_pre[m]}_${conds[c]} |
Line 85: | Line 68: |
done # conditions | |
Line 87: | Line 71: |
Line 90: | Line 73: |
Some degree of smoothing (--smooth) is necessary for display. | Some degree of smoothing (--smooth) is necessary for display. |
Line 92: | Line 75: |
The baseline definition (--bmin/bmax) can be omitted if input data are already appropriately baseline-corrected. Note that this option will not baseline-correct the source estimates. | The baseline definition (--bmin/bmax) can be omitted if input data are already appropriately baseline-corrected. Note that this option will not baseline-correct the source estimates. |
Line 94: | Line 77: |
A few CBSU users have experienced an issue with mne_make_movie. It sometimes misses some output that it is supposed to produce. It is important for you to check whether the number of output stc files matches what you expect. Re-running the script again usually solves the problem. | |
Line 96: | Line 80: |
Line 97: | Line 82: |
Line 101: | Line 85: |
Line 104: | Line 87: |
Line 107: | Line 89: |
[[Anchor(grandaverage)]] | |
Line 108: | Line 91: |
[[Anchor(grandaverage)]] | |
Line 110: | Line 92: |
For grand-averaging, STC-files should have been created using the --morph option in mne_make_movie (see above). You can then average them using the command | For grand-averaging, STC-files should have been created using the --morph option in mne_make_movie (see above). You can then average them using the command |
Line 114: | Line 97: |
Line 121: | Line 103: |
Line 124: | Line 105: |
Line 130: | Line 110: |
Line 135: | Line 114: |
[[Anchor(stcreadwritesubtract)]] | |
Line 136: | Line 116: |
[[Anchor(stcreadwritesubtract)]] | |
Line 143: | Line 122: |
Line 145: | Line 123: |
Line 147: | Line 124: |
Compute the Source Estimates (mne_make_movie)
Applying the Inverse Operator
This script applies the inverse operator to MEG data and outputs the current estimates. The current estimates are morphed to the [#averagebrain average brain] (see below), for [#grandaverage grand-averaging] (see further below). The results (*.stc-files) can be viewed in mne_analyze, and [#stcreadwritesubtract read into Matlab] using mne_read_stc_file. You can get infos on your stc-files (e.g. maximum value, relevant for scaling your display) using mne_process_stc.
The main ingredients are
* the inverse operator
* the averaged MEG data (fiff-files)
* the average cortical surface (see below)
The parameters below are reasonable choices for standard analyses. However, these Wiki pages are not supposed to substitute the [http://www.nmr.mgh.harvard.edu/meg/manuals/MNE-manual-2.6.pdf MNE manual], [http://imaging.mrc-cbu.cam.ac.uk/meg/MEGpapers reading papers], and [http://imaging.mrc-cbu.cam.ac.uk/imaging/ImagersInterestGroup discussions] with more experienced researchers.
# ## Your variables datapath='<myMEGdatapath>' # root directory for your MEG data MRIpath='/myMRIdirectory/' # where your MRI subdirectories are outpath='/myoutpath' # path for output files #condition names as used in file names to which inverse operator shall be applied conds=('cond1' 'cond2' 'cond3') # subjects names used for MRI data subjects=(\ 'Subject1' \ 'Subject2' \ 'Subject3' \ ) # MEG IDs (your directory structure may differ) subj_pre=(\ 'meg10_0001' \ 'meg10_0002' \ 'meg10_0003' \ ) # MEG subdirectories (your directory structure may differ) subj_dir=(\ '100001' \ '100002' \ '100003' \ ) ## Processing: nsubjects=${#subjects[*]} lastsubj=`expr $nsubjects - 1` nconds=${#conds[*]} lastcond=`expr $nconds - 1` for m in `seq 0 ${lastsubj}` do echo " " echo " Computing movies for SUBJECT ${subjects[m]}" echo " " for c in `seq 0 ${lastcond}` do # Current Estimates mne_make_movie \ --subject {subjects[m]} \ --inv ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourName_1L-MEG-loose0.2-inv.fif \ --meas ${datapath}/${subj_pre[m]}/${subj_dir[m]}/${conds[c]}.fif \ --morph average \ --smooth 5 \ --bmin -100 \ --bmax 0 \ --stc ${outpath}/${subj_pre[m]}_${conds[c]} done # conditions done # subjects
The --morph option produces source estimates morphed to the average brain (necessary for grand-averaging). If you don't use it, source estimates will be computed on individual cortical surfaces.
Some degree of smoothing (--smooth) is necessary for display.
The baseline definition (--bmin/bmax) can be omitted if input data are already appropriately baseline-corrected. Note that this option will not baseline-correct the source estimates.
A few CBSU users have experienced an issue with mne_make_movie. It sometimes misses some output that it is supposed to produce. It is important for you to check whether the number of output stc files matches what you expect. Re-running the script again usually solves the problem.
Computing the Average Cortical Surface
# make_average_subject --subjects Subject1 Subject2 Subject3
"Subject1, Subject2..." etc. are the MRI sub-directories created by Freesurfer. The paths to these sub-directories have to be specified in the environment variables, e.g. "setenv SUBJECTS_DIR /MyMriDirectory/".
Grand-averaging STC-files
For grand-averaging, STC-files should have been created using the --morph option in mne_make_movie (see above). You can then average them using the command
mne_average_estimates --desc <descriptionfile.txt>
where descriptionfile.txt is of the form
stc /yourpath/filetoaverage1.stc stc /yourpath/filetoaverage2.stc stc /yourpath/filetoaverage3.stc deststc <youroutputfile>
You can create description files for every average you want to compute, and execute them in one script
# mne_average_estimates --desc <descriptionfile1.txt> mne_average_estimates --desc <descriptionfile2.txt> mne_average_estimates --desc <descriptionfile3.txt>
Reading, Writing, Subtracting STC-files
This simple Matlab script demonstrates how to read and manipulate STC-files.
data1 = mne_read_stc_file( STCfile1 ); % read STC-file 1 data2 = mne_read_stc_file( STCfile2 ); % read STC-file 2 data3 = data2; % data3 will contain subtracted data, but keep other information from STC-file 2 data3.data = data2.data - data1.data; % subtract STC-file 1 from STC-file 2 mne_write_stc_file( STCfile_out, data3 ); % Write subtracted data to STC-file