AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
June 26, 2013 02:11PM
I am working on a project that needs to know composition within a spectroscopy "voxel" (2cm x 2cm x 2cm), and then update the composition if the subject moves during the study. We collect a full T1 anatomical at the beginning of the study which I segment with freesurfer, and then I have a mask for the initial location of the "voxel" that is resampled and zero-padded to the size of the skull stripped brain (brainmask) and from which I can calculate segmentation statistics.

We monitor motion during the study by periodically collecting quick "scout" images with lower resolution and fewer (and widely spaced) slices which are more T2 weighted. The scouts have quite good resolution in one axis, and we collect a sequence of three scouts (one axial, sagittal, and coronal). When I debugged the process, I was working with 3T data and a single T1 weighted axial scout and used 3dvolreg which produced the rotation command I passed to 3drotate. I'm now working with 7T data and our scout sequence didn't translate very well and we have wound up with a T2 weighted scout and have added the two other orientations.

I've been working with align_epi_anat.py to register the scouts to the base anatomy, with the idea that I could use the inverse transformation to update the "voxel" on the segmentation and generate new segementation statistics, but I've run into both philosophical and technical problems:

1) At first I tried restricting the registration to only the obvious directions (i.e., x&z translation and psi rotation in coronals, y&z translation and phi rotation in sagittals), with the idea that I could combine the outputs to get the total motion. This turned up a deeper question about how the same motion appears differently from different perspectives (something that appears to be an x translation in an axial appears to be a psi rotation in a coronal), and I don't know how to correctly combine the outputs. So this would be my first, more philosophical question (is this possible or even advisable).

2) I've also tried just letting the alignment process do it's thing without fixing parameters (except to restrict to -warp shift_rotate), with the idea of comparing the final transformation for each of the three scout orientations. For this approach, I still don't understand how to "combine" or even quantify the total motion in a way that lets me compare it, so this is another philosophical question.

3) My technical problem is in how to apply the output of align_epi_anat.py. I have the inverse aff12.1D file which contains 12 numbers. I believe that these numbers are the 9 Uij and 3 Vi numbers all on one row (U11 U12 U13 V1 U21 U22 U23 V2 U31 U32 U33 V3) rather than being the 12 parameters I could have fixed in step 1 (x y z theta phi psi diagonalSomething scaleSomething).
A) I first tried to apply them using 3dAllineate (using a form from the message board: 3dAllineate -prefix ROI_al -final NN -1Dmatrix_apply ...) but got the error "FATAL ERROR: Source dataset has nx=1 ny=1 ???" which I haven't been able to sort out.
B) I then tried to apply them using 3drotate since I didn't allow scaling and stretching, but I'm not confident that I have the angles correct. I can convert from Uij to theta, psi, and phi, but am not sure about the R,L,A,P,I,S axes. What I believe is that theta is the I/S axis rotation, phi is the R/L axis, and psi is the A/P axis. I am in general very confused about transformation matrices, quaternions, euler angles, and the fact that every file seems to have a different coordinate system!

4) Is there a way to "combine" the three separate scouts into one (albeit weirdly sampled) volume that would produce a better (and single) alignment?

Any adivce or pointers to websites would be much appreciated.

Andrea Grant
Subject Author Posted

aligning T1 volumes using "scout" acquisition

agrant June 26, 2013 02:11PM

Re: aligning T1 volumes using "scout" acquisition

Daniel Glen June 26, 2013 04:52PM

Re: aligning T1 volumes using "scout" acquisition

agrant June 27, 2013 02:06PM

Re: aligning T1 volumes using "scout" acquisition

Daniel Glen June 27, 2013 04:21PM