Forward Solution and BEM

The following script creates the forward model and BEM, from which the inverse operator will be computed. It is essential that you have created the source space and head surfaces, and realigned your MRI and MEG coordinate systems.

The script creates two forward solutions: One for MEG only (using only the inner skull surface), and one for combined EEG and MEG analysis (using inner skull, out skull and skin surfaces). If you only have MEG data, you can skip the latter. The main ingredients for this step are

* the source space (cortical surface)

* the head surfaces (describing boundaries of different electrical conductivity)

* the MEG data (at this stage only sensor/electrode positions and MRI-MEG realignment)

The end product will be the forward solution file (something ending in *fwd.fif), which can be read into Matlab using mne_read_forward_solution. The BEM surfaces can be read using mne_read_bem_surfaces.

If using EEG, you may need to apply mne_check_eeg_locations to your measurement file YourMEGfile.fif.

It is possible that the creation of a 3-shell BEM model fails because the inner and out skull surfaces are intersecting. In that case, you may use a script to modify the skull surfaces (CBU only).

It's a good idea to check your BEM surfaces.

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

# 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`

for m in `seq 0 ${lastsubj}`
do
  echo " "
  echo " Computing forward solution for SUBJECT  ${subjects[m]}"
  echo " "
  
  ## setup model 3 layers (EEG+MEG)
  mne_setup_forward_model --overwrite  --subject ${subjects[m]} --surf --ico 4
 
  mne_do_forward_solution \
                        --overwrite \
                        --subject ${subjects[m]} \
                        --mindist 5 \
                        --spacing 5 \
                        --bem ${MRIpath}/${subjects[m]}/bem/${subjects[m]}-5120-5120-5120-bem-sol.fif \
                        --src ${MRIpath}/${subjects[m]}/bem/${subjects[m]}-5-src.fif \
                        --meas ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourMEGfile.fif  \
                        --fwd ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourName_5-3L-EMEG-fwd.fif



  ## setup model 1 layer (MEG only)
  mne_setup_forward_model --overwrite  --subject ${subjects[m]} --surf --homog --ico 4

  mne_do_forward_solution \
                        --overwrite \
                        --subject ${subjects[m]} \
                        --mindist 5 \
                        --spacing 5 \
                        --megonly \
                        --bem ${MRIpath}/${subjects[m]}/bem/${subjects[m]}-5120-bem-sol.fif \
                        --src ${MRIpath}/${subjects[m]}/bem/${subjects[m]}-5-src.fif \
                        --meas ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourMEGfile.fif \
                        --fwd ${datapath}/${subj_pre[m]}/${subj_dir[m]}/YourName_5-1L-MEG-fwd.fif

done # subjects