Hi,
i was doing some data analysis using dual regression, the script of which is calling fsl_glm twice to compute the regression parameters (time courses/spatial maps respectively). Since the second stage outputs the Z statistics as well, I just tried to check the output by computing the residual noise by myself and scaling the voxel intensities by the estimates for the noise standard deviation.
Actually this should be straightforward starting from res = (data - time_courses*spatial_maps) (as the unbiased procedure was also stated in Woolrich et al./Beckmann et al.), but I got the Z scores only qualitatively correct up to a scaling factor, when I compared my Z_maps with the corresponding ones from fsl_glm. I checked the (voxel-wise) scaling factor and it turned out it is appr. constant (for a sequence of 150 images (one subject) and 20 components in the order of e.g ~7) for each component map, but differs slightly among different component maps. Then I double-checked this scaling again between my Z-maps and the raw spatial modes from fsl and - as it should be - the mean voxel-wise scaling (mean standard deviation) was constant across components.
Where is my flaw? How does fsl_glm handle the estimation of the noise standard deviations/Z_maps? Is there any noise autocorrelation matrix involved to allow for AR characteristics? Although it would make no sense to have this different for each component to explain the variations...
Cheers,
Tobias
|