2893
Comment:
|
3043
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Applying the Inverse Operator (mne_make_movie) = This script applies the inverse operator to MEG data and outputs the current estimates. The current estimates are morphed to the average brain (see below), for grand-averaging (see further below). The results (*.stc-files) can be viewed in mne_analyze, and read into Matlab using mne_read_stc_file. The main ingredients are * the inverse operator * the 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 MNE manual, reading papers, and discussions with more experienced researchers. {{{ |
|
Line 3: | Line 19: |
#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 32: |
################ # 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 34: |
'2' \ '3' \ '4' \ '5' \ '6' \ '7' \ '8' \ # '9' \ # '10' \ # '11' \ # '12' \ # '13' \ # '14' \ # '15' \ # '16' \ # '17' \ # '18' \ # '19' \ # '20' \ # '21' \ # '22' \ |
'Subject1' \ 'Subject1' \ 'Subject1' \ |
Line 52: | Line 39: |
# MEG IDs (your directory structure may differ) | |
Line 53: | Line 41: |
'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 48: |
'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 53: |
##################### # SCRIPT BEGINS HERE: |
## Processing: |
Line 112: | Line 62: |
# REPORT number of files to be processed: |
|
Line 117: | Line 65: |
echo " " | |
Line 120: | Line 67: |
echo " " echo " " |
|
Line 128: | Line 73: |
--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]}_0${subjects[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}/STC/${subj_pre[m]}_${conds[c]} done # conditions |
Line 135: | Line 84: |
# 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 87: |
done # subject loop | = Computing the Average Cortical Surface = {{{ #!/bin/sh # make_average_subject --subjects Subject1 Subject2 Subject3 }}} |
Line 146: | Line 97: |
echo " " echo "DONE" echo " " |
= 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> }}} |
Line 150: | Line 103: |
# END OF SCRIPT ###################### |
where descriptionfile.txt is of the form {{{ stc /yourpath/filetoaverage1.stc stc /yourpath/filetoaverage2.stc stc /yourpath/filetoaverage3.stc }}} 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> }}} |
Applying the Inverse Operator (mne_make_movie)
This script applies the inverse operator to MEG data and outputs the current estimates. The current estimates are morphed to the average brain (see below), for grand-averaging (see further below). The results (*.stc-files) can be viewed in mne_analyze, and read into Matlab using mne_read_stc_file.
The main ingredients are
* the inverse operator
* the 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 MNE manual, reading papers, and 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' \ 'Subject1' \ 'Subject1' \ ) # 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]}_0${subjects[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}/STC/${subj_pre[m]}_${conds[c]} done # conditions done # subjects
Computing the Average Cortical Surface
# make_average_subject --subjects Subject1 Subject2 Subject3
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
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>