As far as I can tell, it is possible to carry out the paired test with differing covariates between the 2 samples only by manually subtracting the data pairs and then doing a 1 sample test with 2 covariates. That is:
Definitions:
x
i = first sample voxel value, i
th subject
y
i = second sample voxel value, i
th subject
c
i = first sample covariate value, i
th subject
d
i = second sample covariate value, i
th subject
One reasonable data model is then
x
i = p + c
i * r ( + noise )
y
i = q + d
i * s ( + noise )
where p and q are the unknown mean value of the distributions from which samples 1 and 2 are drawn, and where r and s are the unknown slopes of the signals with respect to the covariates as measured in each sample.
Subtracting give the paired data model
x
i - y
i = (p-q) + c
i * r - d
i * s ( + noise )
In this form,
if you first subtract the dataset volumes that contain the x
i and y
i, then you can do a 1-sample t-test with the 2 covariates c
i and d
i. However, you won't get the single sample t-test results, which you would have to do separately in 2 more runs.
Furthermore, you'll get statistics for the (p-q), r, and s estimates, but you might be interested in some contrasts between the r and s values -- for example, a test of whether r-s=0? That requires reformulating the paired data model, which could be done by defining j=r+s and k=r-s, so that r=(j+k)/2 and s=(j-k)/2, then rewriting the model in terms of j and k, instead of r and s, and then getting the statistics on these manufactured covariates -- and the statistic for k would be the one you'd want. The details are left as an exercise.
Even more furthermore, the above data model isn't the only reasonable one. The second sample occurs after the first one, so the second covariate d
i presumably doesn't affect the first data point x
i, but the first covariate c
i might affect the second data point y
i. If you want to allow for that, things are yet more complicated.
In summary, you have to (a) decide on what exactly you want to test for, and then (b) construct a synthetic 1-sample test to get it -- synthetic in that you have to manually do the subtraction outside of 3dttest++ and then manually provide the covariates in the form that will result in testing the components of the proper data model.