voxel-wise GLM in AFNI

AFNI version info (afni -ver): Version ANFI_24.0.19

Dear AFNI experts and users,

I recently read a paper about using seed-based resting-state functional connectivity (RSFC) strength to predict task-related regression coefficients. The description in the paper is as follows:
To predict each voxel’s BOLD response during the Flanker task based on that voxel’s RSFC strength, we conducted a voxel-matched linear regression analysis for each voxel in the brain.Specifically, we entered each voxel’s RSFC strength as a predictor in the regression model. Subsequently, the parameter estimates for the Flanker task of that same voxel were entered as dependent variables. This resulted in a unique linear regression model for each voxel in which RSFC predicted BOLD activity induced by the Flanker task.
In practice, we first concatenated the participant-level RSFC maps for all 26 participants into a 26-volume 4-D image (1 volume/ participant). Separately we concatenated the participant-level Flanker task parameter estimates of all participants into a similar 26-volume 4-D image. Next we assessed for each voxel in the brain whether there was a significant linear relationship between RSFC and task-induced activity across participants. This analysis produced, at each voxel, a regression coefficient corresponding to the correlation across the 26 participants between RSFC and task-induced activity at that voxel.
These values were converted to Z-statistics and the resultant whole-brain Z-statistic map were corrected for multiple comparisons at the cluster level using Gaussian random field theory (Z > 2.3; cluster significance: p < 0.05, corrected).
I have some question about this analysis:

  • How can I do this using AFNI, specifically using a 3D+time dataset of RSFC as the regressor and a 3D+time dataset of task-related coefficients as the dependent variable passed to a linear regression model? Or is there an alternative way to calculate this?
  • When performing population-level analysis in AFNI (e.g., with 3dttest++), we need at least one group of datasets (e.g., for a one-sample t-test) and use the -Clustsim option to control the cluster false-positive rate (FPR) at 0.05. In this paper, the final output seems to be a Z-statistics map. Can only one Z-statistics map be used for multiple comparison correction?

Thanks,
Yang

There’s no need to concatenate the input data and treat the fourth dimension as time. Instead, you can use the option -covariates in 3dttest++ to include the predictor as a voxel-level covariate.

For addressing multiple testing, we suggest following the "highlight, but don’t hide" approach, as outlined in this blog post.

Gang Chen

Hi Gang,

Thank you very much for your reply!

I haven’t used the -covariates option in 3dttest++ before, so I have a few questions.

The documentation states that the main purpose of including covariates in an analysis (ANCOVA) is to reduce the variance of the beta values due to external factors. My understanding was that covariates are typically used to account for effects that are not of interest. Could you clarify why it's appropriate to use covariates as regressors of interest in this case? Additionally, will 3dttest++ output coefficient and t-statistics maps related to the covariates?

In my analysis, I would need to input all participants' coefficient sub-bricks into SetA, and then provide a column of RSFC correlation sub-bricks in the covariate file. Is that correct?

Thank you again for your guidance!

Best regards,
Yang

Hi Yang,

My understanding was that covariates are typically used to account for effects that are not of interest. Could you clarify why it's appropriate to use covariates as regressors of interest in this case? Additionally, will 3dttest++ output coefficient and t-statistics maps related to the covariates?

A variable in a model can either be the primary focus of the analysis or serve as a control variable. While the model itself remains the same, the analyst determines which variables to focus on based on the specific goals of the study.

In my analysis, I would need to input all participants' coefficient sub-bricks into SetA, and then provide a column of RSFC correlation sub-bricks in the covariate file. Is that correct?

Yes, that is correct.

Gang Chen

1 Like

Thank you so much for your help and explanations. AFNI is truly nice! Wishing you a wonderful day.

Thanks again!