Voxel-wise Covariate Only with 3dMVM

I am trying to look at the correlation between the BOLD response and performance on a single outcome measure using 3dMVM. I have done this using 3dRegAna, but the results show huge clusters of activation outside of the brain, so I am attempting to use 3dMVM with a group mask.

When I run:
3dMVM -prefix reg_Young_mvm
-bsVars 1
-vVars ‘Perf’
-qVars ‘Perf’
-Mask mask_young+tlrc
-dataTable
Subj Perf InputFile
137 18 /stats.137_PathInt_nt_tcat2+tlrc’[8]’
143 21 /stats.143_PathInt_nt_tcat2+tlrc’[8]’
147 25 /stats.147_PathInt_nt_tcat2+tlrc’[8]’
159 42 /stats.159_PathInt_nt_tcat2+tlrc’[8]’
…(more participants)

I get the error:
Error in ColMeans(x, na.rm = TRUE) : ‘x’ must be numeric
Calls: scale → scale.default → colMeans
Execution halted

If I remove: "-qVars ‘Perf’ \ , I get the error:
“Error with voxel-wise covariate Perf: each subject is only allowed to have one volume, that is, the covariate has to be at the subject level.”

I am considering that these errors are the result of failing to include any -glt related statements, but from the examples in the -help output I have not been able to piece together what the statement would look like in this case.

Thanks!

Your covariate ‘Perf’ does not vary across voxels, so it’s not a voxel-wise covariate. Just use -qVars instead of -vVars in 3dMVM. If you’ve set the 3dRegAna script properly, I don’t see any problem with your 3dRegAna result: you may explore further the stuff outside of the brain, but I would not worry too much about it. Use a mask to hide the stuff outside of the brian if you’re concerned about its cosmetic effect.

Alternatively 3dttest++ is a better choice for this scenario because it has the updated approach to handling FWE correction.

Thanks for the advice!

I re-ran this using 3dttest:

3dttest++ -prefix reg_Young_3dttest
-mask Mask_Young+tlrc
-covariates Covariates.txt
-nomeans
-center NONE
-setA Subj
137 /stats.137_PathInt_nt_tcat2+tlrc’[8]’
143 /stats.143_PathInt_nt_tcat2+tlrc’[8]’
147 /stats.147_PathInt_nt_tcat2+tlrc’[8]’
159 /stats.159_PathInt_nt_tcat2+tlrc’[8]’
…(more subjects)

Subj Perf
137 -1.159
143 -0.682
147 -.047
159 2.655
…(more subjects)

*The Perf values are z-scores.

Sub-brick 8 is the task minus control (block design) t-stat.

I was reading in the other recent message board post “Correlating behavior measures with fmri data” that to get the r-value from the t-score to run:

3dcalc -a reg_Young_3dttest+tlrc[1]
-expr ‘(ispositive(a)-isnegative(a))sqrt(aa/(a*a+DF))’ -prefix corr \

When I look at the initial output (overlay: reg_Young_3dttest: #1 Subj_Perf_Tstat), I am able to see the q value (FDR), but if I look at the output from the 3dcalc (overlay: corr: #0 Subj_Perf_Tstat), the q value is N/A, and there is no longer any significant activity anywhere.

My questions are:

  1. With the goal of looking at the correlation between BOLD and performance, is the t-stat: task minus control the correct sub-brick to use? The “Correlating behavior measures with fmri data” also mentioned the need to “standardize” the fMRI data prior to using 3ddtest++, so I wasn’t sure if this subbrick was appropriate.
  2. If the above procedure was correct, how do I interpret the “disappearance” of significant activity when I convert from t-scores to corr?

Thanks!

With the goal of looking at the correlation between BOLD and performance,
is the t-stat: task minus control the correct sub-brick to use?

When you say task minus control, does it mean that you have two conditions (or two groups)? The t-stat is for thresholding while the other sub-brick (before the t-stat) indicates the association effect between BOLD and performance.

The “Correlating behavior measures with fmri data” also mentioned the need to
“standardize” the fMRI data prior to using 3ddtest++, so I wasn’t sure if this
subbrick was appropriate.

Standardization can be performed to obtain the correlation coeficient between performance and BOLD.

If the above procedure was correct, how do I interpret the “disappearance” of
significant activity when I convert from t-scores to corr?

You can still use the original t-stat (instead of the correlation) for thresholding.