Using tlrc block in afni_proc.py for inter-session alignment?

I’m creating a pipeline for analyzing fMRI data for our lab. We don’t use talaraich or other standard spaces since we define ROIs functionally for each subject (i.e. we don’t average data across subjects at the whole brain level), and we want to transform the data as little as possible.

However, we do want to align data for the same subject across multiple scanning sessions. We collect an anatomical in every session, and so I’d like to align the EPI data to the within-session anatomical and then align the within-session anatomical to that subject’s average scan (the average of 2 one-off higher-resolution anatomicals).

If I were writing this analysis for each subject, I think I would use 3dAllineate to align the within session anatomical to the average anatomical (and then apply this move along with the motion correction in one step to the EPIs), but before I resort to this, I wanted to know if there’s a way I could still use the afni_proc.py for simplicity. So I wanted to know

  1. if it’s possible to include more than one align block in afni_proc.py?

or

  1. if it’s possible/appropriate to treat each subject’s average anatomical as it’s own standard space, and use this as the base space for the tlrc block in afni_proc.py? i.e. would it be ok to use @auto_tlrc for alignment of 2 T1 images from the same subject? Or is it likely it would incorrectly introduce shearing/warping?

That’s certainly an edge case for both #1 and #2.

If it were me, I would create the average template brain (average of the two session high-res images) and align the functional EPI to that. Is there a reason you really want to use the individual session high-res images? I would expect the end result to be similar.

Thanks for the reply. I thought about that too, and perhaps that’s the better way to go. I wanted to use the individual session T1s for alignment in order to improve the alignment (assuming that afni should be able to do a better job of precisely aligning 2 anatomical images from different sessions than it would for an anatomical and EPI image acquired in different sessions).

I suspect the differences would be quite small. Typically EPI images are collected in the axial plane and anatomical (T1) are collected in the sagittal plane. My experience is that in general one does not get noticeable improvement by doing alignment to the in-session anatomical vs. another anatomical of the same subject. There are exceptions to this, but using an average anatomical or template anatomical should work just as well if not better for your purposes.

You can certainly use AFNI to align two anatomicals and then average them together. You could use align_epi_anat.py with the -dset flags.

The process that I take is to use Freesurfer, which allows you to either average two T1s together (recon-all with two input flags) or to do a longitudinal model that will make a template from the two scans.

Thanks for the advice, I’ll try both ways and check if there’s any advantage to aligning to the within-subject anatomical.