Skip to content
Yann Cobigo edited this page Oct 30, 2013 · 3 revisions

This pipeline represente the forward method for the data analysis, by the inverse method, of an electroencephalogram.
The forward method consists of three steps. The first is to produce Fijee's input files. The second step comes to run the fijee's core executable software. And the last step is the evaluation of the electric potential on the scalp for a serie of electric dipoles.

Table of Contents

Fijee's input production

Many Fijee's input files are produced by software (FreeSurfer, FSL, MNE, ...) based on the Freesurfer's directory tree. Also Fijee is based on Freesurfer's directory.

export PATH=$FREESURFER_HOME/bin:$PATH 
export SUBJECTS_DIR=/home/ycobigo/subjects 
export SUBJECT=GazzDCS0004mgh 
# data names:
export DICOM=/data/dicom/tDCS/GazzDCS0004mgh/Hough/MEMPRAGE_4e_p2_1mm_isoRMS_12/
export NIFTI=/data/nifti/tDCS/GazzDCS0004mgh/
export T1=MEMPRAGE4ep21mmisos012a1001.nii.gz
export T2=T2SPACE1mmisos015a1001.nii.gz

source $FREESURFER_HOME/SetUpFreeSurfer.sh 
source $MNE_ROOT/bin/mne_setup_sh 

Fresurfer analyse

$FREESURFER_HOME/bin/recon-all -subjid $SUBJECT -i $DICOM/IM-0012-0001.dcm -sd $SUBJECTS_DIR/ -all >& FreeSurfer.log &
tail -f FreeSurfer.log

White and gray matter

$SUBJECTS_DIR/$SUBJECT/surf/
mris_convert rh.pial rh.pial.{vtk, ... }
for i in rh.pial lh.pial rh.smoothwm lh.smoothwm ; do mris_convert $i VTK/$i.vtk ; done

All Segmentation

Conversion of allsegmentation file

mri_convert aseg.mgz aseg.nii.gz

Transformation matrix

tkregister2 --targ orig --mov dicom --regheader --reg register.dat
#
tkregister2 --targ aseg.nii.gz --mov $NIFTI/$T2 --regheader --reg register.dat
#
tkregister2 --reg register.dat --mov $NIFTI/$T1 --regheader --targ ../orig.mgz
tkregister2 --reg register.dat --targ $NIFTI/$T1 --regheader --mov ../orig.mgz
#
tkregister2 --reg T1register.dat --targ ../orig.mgz --regheader --mov $NIFTI/$T1
tkregister2 --reg T2register.dat --targ ../orig.mgz --regheader --mov $NIFTI/$T2 

mri_vol2vol --in orig --out orig.dicomspace.img --temp dicom --xfm register.dat
#
mri_vol2vol --mov aseg.nii.gz --o aseg.dicomspace.nii.gz --targ $NIFTI/$T2 --xfm register.dat
#
mri_vol2vol --mov aseg.nii.gz --o aseg.dicomspace.nii.gz --targ $NIFTI/$T1 --reg register.dat
mri_vol2vol --mov aseg.nii.gz --o aseg.dicomspace.nii.gz --targ $NIFTI/$T1 --reg register.dat
#
mri_vol2vol --mov $NIFTI/$T1 --reg T1register.dat --targ ../orig.mgz --o T1FunctionalSpace.nii.gz
mri_vol2vol --mov $NIFTI/$T2 --reg T2register.dat --targ ../orig.mgz --o T2FunctionalSpace.nii.gz
tkregister2 --targ $SUBJECTS_DIR/$SUBJECT/mri/aseg.mgz --mov ../eigval0000.nii.gz --regheader --reg ToAseg.dat
#
mri_vol2vol --mov ../eigvals.nii --o eigvals_aseg_ref.nii --targ ~/subjects/$SUBJECT/mri/aseg.nii.gz --reg ToAseg.dat 
mri_vol2vol --mov ../eigvec1.nii --o eigvec1_aseg_ref.nii --targ ~/subjects/$SUBJECT/mri/aseg.nii.gz --reg ToAseg.dat 
mri_vol2vol --mov ../eigvec2.nii --o eigvec2_aseg_ref.nii --targ ~/subjects/$SUBJECT/mri/aseg.nii.gz --reg ToAseg.dat 
mri_vol2vol --mov ../eigvec3.nii --o eigvec3_aseg_ref.nii --targ ~/subjects/$SUBJECT/mri/aseg.nii.gz --reg ToAseg.dat 

MNE - scalp and skull surfaces

MNE Registration is required in order to download the MNE software: download.

$SUBJECTS_DIR/$SUBJECT/bem/msh-7-src.fif.

Using Watershed

mne_watershed_bem -atlas
cd $SUBJECTS_DIR/$SUBJECT/bem/ 

for i in GazzDCS0004mgh_brain_surface GazzDCS0004mgh_inner_skull_surface GazzDCS0004mgh_outer_skin_surface GazzDCS0004mgh_outer_skull_surface ; do mris_convert $i NIFTI/$i.nii ; done 

Using FLASH images

Directory organisation

Directory organisation

cd $SUBJECTS_DIR/$SUBJECT
ln -s /data/dicom/tDCS/GazzDCS0004mgh/Hough/MEFLASH_8e_1mm_iso_5deg_7/ FLASH_5deg
ln -s /data/dicom/tDCS/GazzDCS0004mgh/Hough/MEFLASH_8e_1mm_iso_30deg_3/ FLASH_30deg

mkdir MNE_FLASH_5deg MNE_FLASH_30deg
cd MNE_FLASH_5deg
source $PATH/mne_organize_dicom ../FLASH_5deg
cd ../MNE_FLASH_30deg
source $PATH/mne_organize_dicom ../FLASH_30deg

ln -s MNE_FLASH_5deg/007_MEFLASH_8e_1mm_iso_5deg/ flash05
ln -s MNE_FLASH_30deg/003_MEFLASH_8e_1mm_iso_30deg/ flash30

source /usr/local/MNE/bin/mne_flash_bem

Diffusion Tensor

dt_recon --i f.nii --b f.bvals f.bvecs --s M87102113 --o dti

export DICOM_DATA=/data/nifti/tDCS/GazzDCS0004mgh/

dt_recon --i $DICOM_DATA/ep2dadvdiff511Eb200064dirs019a001.nii.gz --s $SUBJECT --o $SUBJECTS_DIR/$SUBJECT/Diffusion_tensor/ --b $DICOM_DATA/ep2dadvdiff511Eb200064dirs019a001.bval  $DICOM_DATA/ep2dadvdiff511Eb200064dirs019a001.bvec

Split and ascii

fslsplit eigvals.nii eigval

This will give you three volumes: eigval0000.nii.gz - Axial/Parallel Diffusivity. Mean of the volumes below gives you Radial/perpendicular diffusivity

# eigval0001.nii.gz # eigval0002.nii.gz

mv eigval0000.nii.gz Axial_Diffusivity.nii.gz

To get the radial diffusivity you have to get the mean of the other two eigen values:

fslmaths eigenval0001.nii.gz -add eigval0002.nii.gz -div 2 Radial_Diffisivity.nii.gz

Transformation matrix from eigenvalues to aseg frame

"tkregister2 --targ $SUBJECTS_DIR/GazzDCS0004mgh/mri/aseg.mgz --mov ../eigval0000.nii.gz --regheader --reg ToAseg.dat"
tkregister2 --targ $SUBJECTS_DIR/GazzDCS0004mgh/mri/orig.mgz --mov ../eigval0000.nii.gz --regheader --reg ToOrig.dat
tkregister2 --targ $SUBJECTS_DIR/GazzDCS0004mgh/mri/aseg.mgz --mov ../eigvec1.nii       --regheader --reg Vec1ToAseg.dat

Diffusion tensor using trac-all

https://surfer.nmr.mgh.harvard.edu/fswiki/trac-all generates output files for each subject under a directory that is denoted by $SUBJECTS_DIR/<subjid></subjid>

trac-all -[step] -s &lt;subjectname&gt; --i &lt;dicomfile&gt;
trac-all -[step] -c &lt;configfile&gt;

trac_all.config

/home/ycobigo/Data/trac_all.config

launch

&#35;export DICOM_DATA=/data/nifti/tDCS/GazzDCS0004mgh/
&#35;trac-all -s $SUBJECT -nocorr -intra -inter -nomasks -tensor -noprior -i $DICOM_DATA/ep2dadvdiff511Eb200064dirs019a001.nii.gz
trac-all -nocorr -intra -inter -nomasks -tensor -noprior -c trac_all.config

Running Fijee's core program

Running FEniCS

The FEniCS Project is a collaborative project for the development of innovative concepts and tools for automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods.