Question about 3dTcorrMap


We are using 3dTcorrMap to calculate a whole brain correlation map, here is our command line:
3dTcorrMap -input pb05.S007.scale+orig. -mask mask_anat.S007+orig. -polort -1 -Mean S007_Tmap -Zmean S007_Zmap

BUT the value of all the voxels in our output dataset is 1, like the picture I uploaded.
Does anyone know what’s wrong with my analysis?

All the best

Hi Tianshu,

It is difficult to say for certain without the data. Since -polort -1 is used, that assumes there are basically no trends in the data, including non-zero mean. Is that assumption valid?

Note that if you simply want a volume that is, for each voxel, the average correlation with those voxels in the mask, there is a much faster way to do it (which can be seen in a typical script). Note that the proc script does not make use of 3dTcorr1D, which I do here. For example:

3dTnorm -norm2 -prefix rm.errts.unit errts.${subj}+tlrc
3dmaskave -quiet -mask full_mask.$subj+tlrc rm.errts.unit+tlrc  \
          > gmean.errts.unit.1D
3dTcorr1D -dot -prefix corr_brain rm.errts.unit+orig gmean.errts.unit.1D

If that is all you want, this should be much faster.

Of course, this still does not address why your values were all approximately 1. That is likely because they were not detrended yet. In my example, the input is the errts dataset, which has indeed has no trends, up to the order used in the linear regression model.

  • rick