Hi all,
I've run auto_warp.py with the following command
auto_warp.py -base MNI152_2009_template.nii.gz -input T1.nii.gz -suffix _al_MNI -overwrite
I've got the following output files in ./awpy, but I am not sure what some of the 1D files are:
anat.nii # T1 image in original space
anat.un.nii # T1 image in original space after 3dUnifize
base.nii # MNI template
anat.un.aff.nii # T1 image in MNI space after affine transformation?
anat.un.aff.qw.nii # Warped T1 image in MNI after nonlinear warping, i.e. final output anat.un.aff.qw_WARP.nii # Warping coefficients (3 volume brick)
anat.un.aff.Xat.1D
anat.un.aff.nii.Xaff12.1D
anat.un_AFN_OYmeqfZ3JqF7n9LNC7gDAA_shft.1D
anat.un.aff.maskwarp.Xat.1D
anat.un.aff.nii_WarpDrive.log
My issue is that I want to compute the inverse transformation from MNI to T1 space with 3dNWarpCat, but I don't manage to get it right. Could you please help me?
Thank you very much
Cesar
Salve, Cesar!
How about:
# create the one-line version of this initial shift:
cat _matvec -ONELINE anat.un_AFN_OYmeqfZ3JqF7n9LNC7gDAA_shft.1D \
> anat.un_AFN_OYmeqfZ3JqF7n9LNC7gDAA_shft_ONE.1D
# the warp, concatenating everything to go from src->base,
# and then inverting it
3dNwarpApply \
-overwrite \
-master anat.nii \
-source MNI152_2009_template.nii.gz \
-nwarp "anat.un.aff.qw_WARP.nii anat.un.aff.maskwarp.Xat.1D anat.un_AFN_OYmeqfZ3JqF7n9LNC7gDAA_shft_ONE.1D" \
-iwarp \
-prefix TEST3
I leave the prefix filename in there, because it was not obvious how to do this.
--pt
Oh, and if you want the 3dNwarpCat command to create the full inverse warp:
# concatenation to make new warp, but see comment below
3dNwarpCat \
-warp1 "anat.un.aff.qw_WARP.nii" \
-warp2 "anat.un.aff.maskwarp.Xat.1D" \
-warp3 "anat.un_AFN_OYmeqfZ3JqF7n9LNC7gDAA_shft_ONE.1D" \
-iwarp \
-prefix FULL_WARP_INV.nii.gz
# and then apply
3dNwarpApply \
-master anat.nii \
-source MNI152_2009_template.nii.gz \
-prefix TEST4 \
-nwarp FULL_WARP_INV.nii.gz
Comment: doing this initially led to my warped result being cropped a little bit. I think I would directly do the 3dNwarpApply command, from the prior post. But if you want to go this route, you might need to add -expad ..
to the 3dNwarpCat command, to expand the warp size.
--pt
Great, glad that worked.
We should definitely have this in the auto_warp.py help, will add it there soon. Thanks for asking about this.
--pt