PLEASE READ CAREFULLY!!!
This bug exists in Freesurfer v4.3.0 and earlier. The bug is fixed in v4.3.1 and later.
This page describes the bug in FSFAST in which first-level analysis contrasts created from the mkanalysis-sess GUI are incorrect because they were not normalized correctly.
The most serious repercussions are for unbalanced contrasts, ie, contrasts that have an uneven number of positive and negative components. For example, if you had three conditions E1, E2, and E3, and you wanted to test E1 vs the average of E2 and E3, you would hit 'Add Contrast' in the mkanalysis.gui window to bring up the contrast window. You would then hit the green button under "A" next to "Condition01" to make it an "active" condition, and the red buttons under "C" for "Condition02" and "Condition3" to make them "control" conditions. The contrast matrix SHOULD be [1 -0.5 -0.5] meaning that the final contrast would be E1 - 0.5*E2 - 0.5*E3. It actually produces the following contrast matrix: [1 -1 -1], meaning the final contrast will be E1-E2-E3=E1-(E2+E3), which could generate a lot of positives even if E2 and E3 are the same amplitude as E1. If you generated this contrast from the command line with mkcontrast-sess -a 1 -c 2 -c 3, then the CORRECT contrast matrix is generated. This error only happens when configuring the analysis/contrasts from the (mkanalysis-sess -gui).
For balanced contrasts, none of the significance maps at any level are affected. The contrast amplitude (ces.nii file) will be scaled incorrectly. For example, if you wanted to test for the average of E1 and E2, then you would hit the green buttons under "A" next to "Condition01" and "Condition02" to make them "active" conditions. This SHOULD have produced the following contrast [0.5 0.5] but ACTUALLY produced [1 1], meaning that the contrast value will be E1+E2 instead of 0.5*E1+0.5*E2, meaning that the contrast value will be twice what you are expecting. This scaling has no effect on significance values as both the numerator and denominator in t and F tests will have the scaling. This also does NOT affect the FIR time courses as seen in tkmedit and tksurfer or as produced by func2roi-sess. You would only notice this if you are reporting contrast amplitudes.
Things affected:
- Analysis MUST have been configured with the mkanalysis-sess GUI (ie, mkanalysis-sess -gui)
- Unbalanced contrasts, significance maps (sig.nii), individual and group
- Unbalanced contrasts, contrast amplitude maps (ces.nii), individual and group
- Balanced contrasts, contrast amplitude maps (ces.nii), individual and group (significance unaffected).
Things NOT affected:
- Any analysis where you did NOT use the mkanalysis-sess GUI (ie, mkanalysis-sess -gui) is NOT affected
- Contrasts configured with the GUI that did not have the "Normalize Rows" button checked
- Contrasts configured with the GUI that used Manually set weights.
- Balanced contrasts, significance maps (sig.nii), individual and group
- FIR time courses as seen in tkmedit
- FIR time courses as seen in tksurfer
- Output of func2roi-sess
QDEC or any other FreeSurfer anatomical analysis.
Current status as of 4/5/09: The development version of fsfast has been modified to fix the GUI bug and also to generate an error when running selxavg3-sess if a bad contrast is encountered. This exit behavior can be overridden for the cases where you want to analyze some data with the error to compare results against the fixed analysis. To override, "setenv FSF_PROC_GUI_BUG 1". I am currently working on a script to automatically find (and fix) analyses that have been configured with the GUI as well as to find pixel data that have been analyzed with an affected analysis configuration.
DG