Diff for "AnalyzingData/MNE_ComputeEstimates" - Meg Wiki
location: Diff for "AnalyzingData/MNE_ComputeEstimates"
Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2010-06-09 16:00:21
Size: 2893
Editor: YaaraErez
Comment:
Revision 10 as of 2010-06-10 13:05:05
Size: 3043
Editor: YaaraErez
Comment:
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>

CbuMeg: AnalyzingData/MNE_ComputeEstimates (last edited 2013-03-08 10:02:25 by localhost)