Assessing model fit beyond voxel level in AFNI

Hi all,

I conducted an analysis of a breathhold task with 3dDeconvolve. Over the course of examining the results of this analysis, some questions have come up for me regarding whether the model is a good fit for the data. I was wondering if there is a way to assess model fit at a level higher than whether the subjects showed activation in association with the breathhold, or by checking the model against the data at various voxels, as described in this link: https://afni.nimh.nih.gov/sscc/gangc/Fit.html

For example, FSL produces two timeseries plots: (1) the regressor against the data for the peak activation voxel, and (2) the regressor against the data across all significant voxels. Is there a similar way of doing this in AFNI, or some other means at a more of a whole brain level?

Thanks,
Alain

Alain,

(1) the regressor against the data for the peak activation voxel

You can extract each regressor from the text output file for the design matrix of 3dDeconvolve (using 1dcat, for example), then navigate to each “peak” voxel on the AFNI GUI, and plot out the regressor against the time series at the voxel, using the method described in the webpage you mentioned.

(2) the regressor against the data across all significant voxels.

Similarly with the method for (1) above.

Many thanks, Gang. Perhaps I am missing something obvious. For (2) the regressor against the data across all significant voxels, how would I get a plot showing the timeseries data averaged across all of the significant voxels rather than looking at one voxel at a time?

Also, I mean the fitted model against a timeseries averaged across the significant voxels, not an individual regressor within the model, sorry.

Once you set up your clusterization parameters, click the button “Rpt” on the AFNI GUI. On the the popup window, choose the original dataset (input for 3dDeconvolve) as well as your fitted dataset (output from 3dDeconvolve) as auxiliary datasets (click the white triangle button on the popup window). Then click the Plot button for each cluster in the cluster table, and you will get the plots.

However, this won’t plot one against the other. For that, you can use 3dmaskave with each ROI (cluster) as a mask, and obtain the averaged time series. Then plot them out with 1dplot, for example.

That worked out great! Many thanks again for everything.

I’ve run into one other wrinkle. Part of what sent me on this path was that I wanted to use similar assessments of model fit for my analysis in AFNI as for my analyses in FSL, as it is the same data set. I had moved to AFNI to conduct a different piece of the analysis examining task compliance using activation in the superior sagittal sinus.

As I mentioned, FSL has an output of two graphs: 1) the peak voxel timeseries against the fitted model, and 2) an averaged timeseries across clusters of significant voxels against the fitted model.

The first graph, using your suggestions, worked out very well. For the second graph, however, I am trying to figure out how to apply in AFNI the same clustering and thresholding applied in FSL. I felt the best way to do this, to ensure I was comparing apples to apples, was to apply clustering and thresholding that resulted in the timeseries being an average across approximately the same number of voxels as the FSL analysis. Thus, in both analyses, I would be selecting for the 10,000 voxels that showed the most activation, for example, which should be close enough to qualitatively assess whether the model fit the data to a similar degree in both programs.

However, in examining this option, I found out that FSL had averaged across a subsample of the brain that had more voxels than the entire brain in AFNI. To me, this suggests that the voxel size in the FSL analysis is somehow smaller than the voxel size in the AFNI analysis. The preprocessing of the data in each case was relatively similar. The brain was extracted in the FSL analysis, but this should make the brain in FSL have fewer voxels if anything, not more. Do you have any thoughts about how I might go about ensuring both programs are defining a voxel similarly, even just from the AFNI side of things?

Do you have any thoughts about how I might go about ensuring both programs are
defining a voxel similarly, even just from the AFNI side of things?

3dinfo should be able to allow you to verify the voxel size for each file.