I’m currently running an fMRI analyses on a set of tasks. First-levels look good, and the beta and t-stats (also generated via fsl randomise) maps at the group-level look fine as well, but the
t_correct_p_files, (defined as “T contrast FWE (Family-wise error) corrected p values files.” here) are very strange.
Specifically, the significant voxels are frequently scattered or form donuts, and they don’t align with high values as seen in the beta and t-stats maps.
Our code for running randomise is as follows:
from nipype.interfaces import fsl
mem = Memory(base_dir=output_loc)
fsl_randomise = mem.cache(fsl.Randomise)
randomise_results = fsl_randomise(
raw_tfile = randomise_results.outputs.tstat_files
corrected_tfile = randomise_results.outputs.t_corrected_p_files
A senior lab member said they had strange results using
tfce=True, so we tried
c_thresh=3.1, and the donuts increased!
Has anyone run into something similar? Or, is there any general guidance on using fsl randomise that I may have missed? Thank you in advance for any suggestions and guidance.
Oh, that is strange; it sort of looks like it identified the cluster edges, rather than centers (do the peaks fall in the middle of the donuts?). I’m not familiar with this function; is it doing some sort of searchlight/small neighborhood correction/analysis? If so, perhaps it is a phenomenon like https://mvpa.blogspot.com/2013/10/nice-doughnuts-pretty-searchlight-quirks.html (donut-shaped searchlight results).
For troubleshooting, it may be useful to plot the donuts over the results for single subjects: do they align with anything in one (or more) people?
Thank you very much for sharing those blog posts - that was a very informative read! Unfortunately, randomise does work via search light/local correction, and the actual issue was a silly plotting error on our part.
The p files returned by randomise are actually 1 - p files, since fsl’s plotting function can set a minimum threshold above which to show values (in this case, 0.95), but can’t set an upper threshold below which to plot with increasing intensity. Changing the values in the p file to 1 - val to retrieve the actual p-values fixed our plotting and the donuts went away.
Thanks again for your help, and I won’t forget about local corrections!
Glad you figured it out! We’ve all probably done something that at least once; easier to plot t/F/accuracy/whatever, where bigger is better.