warning in 3dTproject: input data :: 18 vectors are constant

Hello AFNI experts,

I am trying to linearly detrend a preprocessed dataset.

I know that it is not recommended to detrend because 3dDeconvolve does a better job but I want to run a CompCor analysis to extract nuisance regressors for wm and csf and they recommend to motion correct and linearly detrend beforehand.

I ran the following: 3dTproject -input pb02.P1002.r01.volreg+orig. -prefix ldetrended -polort 1

I get the following output:

++ 3dTproject: AFNI version=AFNI_20.3.03 (Dec 7 2020) [64-bit]
++ Authored by: Cox the Algebraic (Linear)
++ Setting up regressors
++ 1 Blocks * 2 polynomials – 2 polort regressors
++ 150 retained time points MINUS 2 regressors ==> 148 D.O.F. left
++ no -mask option ==> processing all 622592 voxels in dataset
++ Compute pseudo-inverse of fixed orts
++ Loading dataset
*+ WARNING: 3dTproject input data :: 18 vectors are constant
++ Starting project-orization
++ Convert results to output dataset
++ Output dataset ./ldetrended+orig.BRIK
++ ===== clock time = 8s 913ms

I have two question:

  1. Does the Warning about the 18 constant vectors mean that something is not OK with the output dataset?

  2. Why does it say 2 polort regressors when I wrote in the command -polort 1 ? Is it just B0 and B1?

Thank you very much in advance
Carolin

Option “-polort 1” means to use the polynomial t^0 and t^1 as regressors – that is, to detrend a constant (mean) and a linear slope. That is why you have two regressors. (I’m a little surprised CompCor doesn’t do this itself, actually.)

The “18 vectors are constant” warning says that in your input time series dataset, of the 622,592 voxels, 18 of them were constant in time = 0.00289% . Almost certainly, these voxels are outside the brain. The point of this warning (it is not an error, otherwise it would say ERROR instead of WARNING) is for cases when a LOT of voxels are constant – which is peculiar, unless some part of the data has been deliberately zero-ed out earlier.

A voxel time series that is constant in time will, after removal of the linear trend, be all zero. It is quite likely that these voxels were all zero to start with, but the program doesn’t check for that as a special sub-case of constant.