|
Size: 2893
Comment:
|
Size: 4138
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| = 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 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. {{{ |
|
| Line 3: | Line 20: |
| #before running script make sure you've typed: # freesurfer_4.0.1 # mne_setup_2.5 # setenv SUBJECTS_DIR /imaging/ef02/lexpro/subject # setenv SUBJECT 0319 |
## 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') |
| Line 10: | Line 33: |
| ################ # PARAMETERS: # Input/Output file path: #path='/megdata/cbu/PATH/TO/YOUR/DATA' path='/group/erp/data/caroline.coutout/MEG/data' MRIpath='/group/erp/data/caroline.coutout/MEG/MRIs' linkpath='/imaging/olaf/MEG/GoNoGo/STC' # necessary because of extra dot in "...olaf.hauk..." #condition names as used in file names conds=('lex_go' 'lex_nogo' 'lex_Go-NoGo' 'sem_go' 'sem_nogo' 'sem_Go-NoGo' 'freq_H' 'freq_L' 'freq_L-H') # number of effective averages for mne_make_movie --nave # not needed any more #naves=('100' '100' '100' '100' '120') |
# subjects names used for MRI data |
| Line 29: | Line 35: |
| '2' \ '3' \ '4' \ '5' \ '6' \ '7' \ '8' \ # '9' \ # '10' \ # '11' \ # '12' \ # '13' \ # '14' \ # '15' \ # '16' \ # '17' \ # '18' \ # '19' \ # '20' \ # '21' \ # '22' \ |
'Subject1' \ 'Subject2' \ 'Subject3' \ |
| Line 52: | Line 40: |
| # MEG IDs (your directory structure may differ) | |
| Line 53: | Line 42: |
| 'meg10_0047' \ 'meg10_0083' \ 'meg10_0084' \ 'meg10_0085' \ 'meg10_0086' \ 'meg10_0087' \ 'meg10_0088' \ # 'meg10_0091' \ # 'meg10_0094' \ # 'meg10_0096' \ # 'meg10_0098' \ # 'meg10_0101' \ # 'meg10_0101' \ # 'meg10_0102' \ # 'meg10_0104' \ # 'meg10_0106' \ # 'meg10_0108' \ # 'meg10_0109' \ # 'meg10_0110' \ # 'meg10_0112' \ # 'meg10_0114' \ ) |
'meg10_0001' \ 'meg10_0002' \ 'meg10_0003' \ ) # MEG subdirectories (your directory structure may differ) |
| Line 77: | Line 49: |
| '100317' \ '100407' \ '100408' \ '100409' \ '100409' \ '100412' \ '100412' \ # '100413' \ # '100414' \ # '100415' \ # '100415' \ # '100416' \ # '100416' \ # '100419' \ # '100419' \ # '100420' \ # '100420' \ # '100421' \ # '100422' \ # '100422' \ # '100423' \ ) |
'100001' \ '100002' \ '100003' \ ) |
| Line 100: | Line 54: |
| ##################### # SCRIPT BEGINS HERE: |
## Processing: |
| Line 112: | Line 63: |
| # REPORT number of files to be processed: |
|
| Line 117: | Line 66: |
| echo " " | |
| Line 120: | Line 68: |
| echo " " echo " " |
|
| Line 128: | Line 74: |
| --subject Subject${subjects[m]} \ --inv ${path}/${subj_pre[m]}/${subj_dir[m]}/${subj_pre[m]}_1L-fixed-inv.fif \ --meas ${path}/${subj_pre[m]}/${subj_dir[m]}/${conds[c]}.fif \ --set 1 --morph average --smooth 5 \ --bmin -100 --bmax 0 \ --stc ${path}/STC/${subj_pre[m]}_${conds[c]} | tee -a GNG_make-movie.log |
--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 |
| Line 135: | Line 85: |
| # symbolic links necessary because extra dot in "...olaf.hauk..." causes trouble! ln -s ${path}/STC/${subj_pre[m]}_${conds[c]}-lh.stc ${linkpath}/${subj_pre[m]}_${conds[c]}-lh.stc ln -s ${path}/STC/${subj_pre[m]}_${conds[c]}-rh.stc ${linkpath}/${subj_pre[m]}_${conds[c]}-rh.stc done # condition loop |
done # subjects }}} |
| Line 143: | Line 88: |
| done # subject loop | 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. |
| Line 146: | Line 95: |
| echo " " echo "DONE" echo " " |
[[Anchor(averagebrain)]] = Computing the Average Cortical Surface = |
| Line 150: | Line 98: |
| # END OF SCRIPT ###################### |
{{{ #!/bin/sh # make_average_subject --subjects Subject1 Subject2 Subject3 }}} "Subject1, Subject2..." etc. are the MRI sub-directories created by Freesurfer. The paths to these subdirectories have to be specified in the environment variables, e.g. "setenv SUBJECTS_DIR /MyMriDirectory/". [[Anchor(grandaverage)]] = 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 {{{ #!/bin/sh # mne_average_estimates --desc <descriptionfile1.txt> mne_average_estimates --desc <descriptionfile2.txt> mne_average_estimates --desc <descriptionfile3.txt> }}} |
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 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 # subjectsThe --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.
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 subdirectories 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>
