I have been trying to use 3drotate with the -points option to manually transform coordinates according to the output from something like:
➜ T1 cat_matvec 02mnd_anat_train_al+tlrc.HEAD::WARP_DATA 1.0303 0 0 1.44881 0 1.03285 -0.157387 6.64028 0 0.14477 0.950072 5.04358
However, when I try and use 3drotate -points with that as input, it throws an error saying that the rotation matrix is not orthogonal.
If I generate polar transformed versions of those coordiantes, with something like:
➜ T1 cat_matvec 02mnd_anat_train_al+tlrc.HEAD::WARP_DATA -P 1 0 0 1.44881 0 0.988588 -0.150642 6.64028 0 0.150642 0.988588 5.04358
Then it “works”, in that I do not get the error about it not being orthogonal… but I wonder why this transformation is necessary, or if it’s sensible given my use case. My objective is to do something like adwarp, but to coordinates instead of an MRI volume. Is that transformation done when I apply the parameters to a MRI volume with adwarp? What can I do to make the -points rotation as similar as possible to the adwarp transformation?