Hi gurus,
I just had Fun tracking down a bug in one of my scripts and I eventually figured out that the problem was that I was using
cat_matvec -ONELINE EPI_anat_orig.aff12.1D anat+tlrc::WARP_DATA
to create the matrix to warp my EPIs. A more careful examination of anat+tlrc.HEAD showed that the warp stored in WARP_DATA is actually the inverse of the warp stored in WARPDRIVE_MATVEC_FOR_000000, which is the actual forward warp; that is, where WARP_DATA is supposed to be mfor[0..8] minv[0..8] vfor[0..2] vinv[0..2] boxstuff[0..5], the forward and inverse transformations are switched. thd_read_vecmat.c still reads it as intended, though, storing the [0..8] in the forward matrix and [18..20] in the forward vector, so I suspect that 3dWarpDrive (or something else in @auto_tlrc?) is responsible.
Either that or I'm suffering from matrix dyslexia again.
Isaac