Differences between revisions 3 and 4
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 14: Line 13:
mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.cope1.nii.gz \ mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.cope1.mgh \
Line 34: Line 33:
mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.varcope1.nii.gz \ mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.varcope1.mgh \
Line 55: Line 54:
mri_glmfit --y xrun/lh.cope1.nii.gz --yffxvar xrun/lh.varcope1.nii.gz --ffxdof 163 \ mri_glmfit --y xrun/lh.cope1.mgh --yffxvar xrun/lh.varcope1.mgh --ffxdof 163 \

[wiki:FsTutorial top] | [wiki:FsTutorial/FslFeatFreeSurfer previous]

1.0 Resampling COPEs to common surface

In order to perform surface-based group analysis, you need to have all the copes sampled into a common space. This is done with mris_preproc:

mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.cope1.mgh \
  --iv fbert1.feat/stats/cope1.nii.gz fbert1.feat/reg/freesurfer/anat2exf.register.dat \
  --iv fbert2.feat/stats/cope1.nii.gz fbert2.feat/reg/freesurfer/anat2exf.register.dat

In this case, the common space is the left hemisphere of fsaverage. Surface-based smoothing of 5mm FWHM is used. The output lh.cope1.nii.gz looks like a volume because it is in nifti format, but it is really a surface stored in a volume format (note it's dimensions are 1974 x 1 x 83 = 163842 = number of vertices in fsaverage's surface). It has 2 frames, one for each run.

Note that each volume (cope1.nii.gz) is accompanied by a registration matrix (anat2exf.register.dat). The above example extracts data from each run of the same subject. If you have multiple subjects, you can specify the gfeat/cope1/stats/cope1.nii.gz paired with the anat2std.register.dat matrix.

You can also extract the cope variances (varcopes) in the same way:

mris_preproc --target fsaverage --hemi lh --fwhm 5 --out xrun/lh.varcope1.mgh \
  --iv fbert1.feat/stats/varcope1.nii.gz fbert1.feat/reg/freesurfer/anat2exf.register.dat \
  --iv fbert2.feat/stats/varcope1.nii.gz fbert2.feat/reg/freesurfer/anat2exf.register.dat

2.0 Surface-based Group Analysis

Once you have the copes in the common surface space, the (nearly) same as you would with a thickness study. With a functional study, you also have the flexibility to run fixed- and weighted random-effects analysis.

The command below can be used to run a fixed-effects analysis across both runs. Normally, you would probably run a random effects or weight random effects analysis, but since we only have two runs here, we'll use a fixed-effects. The dof=163 is the sum of the dofs from fbert?.feat/stats/dof. The model here is a simple one-sample group mean (OSGM) in which the design matrix is simply a column of 1s. For more elaborate designs, use an FSGD file instead of --osgm.

mri_glmfit --y xrun/lh.cope1.mgh --yffxvar xrun/lh.varcope1.mgh --ffxdof 163 \
           --osgm --glmdir xrun/lh.osgm.ffx --surf fsaverage lh --label lh.cortex.label

This will create a directory called xrun/lh.osgm.ffx:

ls xrun/lh.osgm.ffx
ar1.mgh -- spatial AR1 map
beta.mgh -- regression coefficients (same as PEs)
fwhm.dat -- estimate of spatial FWHM (not valid with 2 data points)
mask.mgh -- binary mask (if used)
mri_glmfit.log -- log file
osgm -- contrast directory
rstd.mgh -- residual standard deviation
rvar.mgh -- residual standard variance
Xg.dat -- design matrix (text)
X.mat -- design matrix (matlab)

The most important results are in the contrast directory:

ls xrun/lh.osgm.ffx/osgm
C.dat - contrast matrix
cnr.mgh - contrast-to-noise ratio
F.mgh - F ratio
gamma.mgh - contrast size (same as COPE)
maxvox.dat - info about the vertex with max F stat
sig.mgh - significance map (-log10(p))

To view the higher-level results, run:

tksurfer fsaverage lh inflated  -overlay xrun/lh.osgm.ffx/osgm/sig.mgh  \
 -fthresh 4 -fmid 5 -fslope 1 -annot aparc.annot

There are several differences between this invocation of tksurfer and the one used during the individual analysis before:

  • The subject is fsaverage, not bert
  • The input is a sig map, which is -log10(p)
  • The thresholds are significance thresholds, not z. So, 4 means p < .0001.

3.0 Alternative method to resample COPEs to common surface

This command will resample the copes to the common surface space, but does not concatenate them together as mris_preproc does. Rather, it stores the result in fbert1.feat/reg_surf-lh-fsaverage/stats for the left (reg_surf-rh-fsaverage for right).

feat2surf --feat fbert1.feat --cope-only

FsTutorial/FslGroupFeat (last edited 2016-09-23 10:26:15 by AllisonMoreau)