t1 mprage transform

Hello AFNI team,

I have a high resolution mprage and low resolution mprage. I obtained each mprage from same subject but different session. In each mprage, there are 4 fiducial markers outside the subject head (markers are attached in the TMS coil), and I want to do transforms the coordinates of 4 fiducial markers in low resolution mprage to high resolution mprage (if this works, i do not need to acquire high mprage from the subject in every session). Here is the code that I was using.

3dAllineate -base t1_mprage+orig. -input t1_mprage_low+orig. -1Dmatrix_save transform.1D -prefix t1_mprage_low_aligned
Vecwarp -matvec transform.1D -input paddle.tag > paddle.transform.tag

paddle.tag contains the xyz coordinates of 4 fiducial markers. However, when i check the coordinates in paddle.transform.tag, the coordinates do not match in t1_mprage_low_aligned image. Brain alignment between the low resolution and high resolution mprage looks fine but I don’t know why the transformed coordinates using transformation matrix did not covert properly.

Any suggestions?

Thank you,

For Vecwarp, you should use the -backward option because that is how the 3dAllineate program saves the transformation.

You might want to try the ‘-lpa’ cost function option when matching two datasets like this with similar contrast. That is, if the the original alignment isn’t good enough.

Thank you Glen! Now it works fine.