Hi All, 

In a previous post Doug suggested two methods for generating voxel-wise z-score maps, one using glmfit with one subject in one group and the second using fscalc.fsl. Link to post: https://mail.nmr.mgh.harvard.edu/pipermail//freesurfer/2010-June/014673.html 

I have tried both methods using PET data registered to the surface, but get very different results from fscalc and mri_glmfit. The results I expect are given by fscalc, but I would also like to run the Monte Carlo-based MCC, which requires a glmdir. Is there another way to run MC MCC on the z-map generated by fscal or alternatively, is the code that I am using for glmfit wrong? A simplified version of the code for both analyses is below. I am using FS 5.3 with the fsl binaries from the release notes on mac OS 10.8.


Thanks for your help
Jon

----------------------------------mri_glmfit:
for h in rh lh; do mris_preproc --target fsaverage --hemi $h --iv nc01_mrispace_pet.mgz nc01_mrispace_pet_2_T1_register.dat --iv nc02_mrispace_pet.mgz nc02_mrispace_pet_2_T1_register.dat --iv nc03_mrispace_pet.mgz nc03_mrispace_pet_2_T1_register.dat --iv pat01_mrispace_pet.mgz pat01_mrispace_pet_2_T1_register.dat --pf 0.5 --out ${h}.pat01_allcontrols_pet_ztest_pf05_fsaverage.mgh

for h in rh lh; do mri_surf2surf --hemi $h --s fsaverage --fwhm 10 --cortex --sval ${h}.${s}pat01_allcontrols_pet_ztest_pf05_fsaverage.mgh --tval ${h}.${s}pat01_allcontrols_pet_ztest_pf05_fsaverage_fwhm10.mgh; done

for h in rh lh; do mri_glmfit --y ${h}.${s}pat01_allcontrols_pet_ztest_pf05_fsaverage_fwhm10.mgh --fsgd patient1_allcontrols_ztest.fsgd dods --C group2_cov0_diff.mtx --surf fsaverage $h --cortex --glmdir ${h}.${s}pat01_allcontrols_pet_ztest_pf05_fsaverage_fwhm10.glmdir 

patient1_allcontrols_ztest.fsgd:
GroupDescriptorFile 1
Title patient01_ztest
Class Patient
Class Control
Input pat01 Patient
Input nc01 Control
Input nc02 Control
Input nc03 Control

group2_cov0_diff.mtx:
-1 1

----------------------------------fscalc.fsl:
for h in rh lh; do mris_preproc --target fsaverage --hemi $h --iv nc01_mrispace_pet.mgz nc01_mrispace_pet_2_T1_register.dat --iv nc02_mrispace_pet.mgz nc02_mrispace_pet_2_T1_register.dat --iv nc03_mrispace_pet.mgz nc03_mrispace_pet_2_T1_register.dat --pf 0.5 --out ${h}.allcontrols_pet_ztest_pf05_fsaverage.mgh

for h in rh lh; do mris_preproc --target fsaverage --hemi $h --iv pat01_mrispace_pet.mgz pat01_mrispace_pet_2_T1_register.dat --pf 0.5 --out ${h}.patient01_pet_ztest_pf05_fsaverage.mgh

for h in rh lh; do for stat in mean std; do mri_concat ${h}.allcontrols_pet_ztest_pf05_fsaverage.mgh --o ${h}.allcontrols_pet_ztest_pf05_fsaverage_${stat}.mgh --${stat}; done; done

for h in rh lh; do fscalc.fsl --surf fsaverage $h ${h}.patient01_pet_ztest_pf05_fsaverage.mgh -sub ${h}.allcontrols_pet_ztest_pf05_fsaverage_mean.mgh -div ${h}.allcontrols_pet_ztest_pf05_fsaverage_std.mgh ${h}.patient01_vs_allcontrols_pet_ztest_pf05_fsaverage_zmap.mgh; done