OK, so my reading of this is that you are interested in building a pipeline for your EPI and anatomical T1w dataset, and that you want to use a standard space/reference template for the final location of the EPI data. Sounds great.
The obliquity “issue”: so, for historical reasons, AFNI will (at present) vociferously warn about obliquity. This really is not that big a thing, and we were just discussing about rolling back the warnings… the main issue that comes up is with visualizing data, and knowing that how an oblique dataset appears to overlap with another dset with differing obliquity (or without any obliquity at all) will not accurately reflect how the two dsets actually overlay in reality. But that is OK, and by the time the data are processed, generally obliquity will have been applied and no longer be present as a potential difference. Yay.
I’ll note that there are a series of videos on various MRI processing topics here:
… which might help. Here is one about various alignment considerations, for example, because alignment comes up in many parts of standard FMRI processing:
Re. aligning to standard space: basically, when performing alignment, you want to know how much stretching/squashing you expect to be necessary to get your datasets well enough aligned. You also need to know the properties of your data like contrast, scale detail, etc. to know much stretching/squashing your data can be expected to respond well to. The above alignment videos cover a lot of that. A good general rule is that when aligning anatomical data between 2 different subjects (and subject-to-template is a case of this), nonlinear alignment will be needed for reasonably accurate matching of features. There are just too many differences between brains to get good alignment with lower order (e.g., rigid body or linear affine) alignment, at least with human data.
For setting up a pipeline, using afni_proc.py (AP) would be recommended over the older uber_subject.py. It has more options (yay!), is more uptodate, and is easier to ask questions about on the Message Board here (and we help people set these up a lot). If only your EPIs are oblique (and not the anatomicals), then you likely won’t need to do any special steps for those, and they can just be input to afni_proc.py “as is”. We have a lot of processing examples as “starter” commands to get the ball rolling (for various task/resting/naturalistic scans, whether you want to do surface analysis or volumetric, single-echo or multi-echo, ROI-based or voxelwise, etc.), which you can tweak and expand to meet your processing needs in detail. See the EXAMPLES list here:
We also have explicit processing scripts that were used for various papers in the Codex (Code Examples) here:
Because I am sure you have infinite reading time, another useful resource about setting up processing choices and why we recommend some things form FMRI processing (with specific afni_proc.py options) is:
Taylor PA, Chen G, Glen DR, Rajendra JK, Reynolds RC, Cox RW (2018). FMRI processing with AFNI: Some comments and corrections on ‘Exploring the Impact of Analysis Software on Task fMRI Results’. bioRxiv 308643; doi:10.1101/308643
And then of course what processing would be complete without QC considerations? This article details quality control tools available within AFNI and specifically with afni_proc.py, as well as how to browse and what to look for:
Reynolds RC, Taylor PA, Glen DR (2023). Quality control practices in FMRI analysis: Philosophy, methods and examples using AFNI. Front. Neurosci. 16:1073800. doi: 10.3389/fnins.2022.1073800
So, if I might be so bold, my recommendation might be to start with a basic AP example for setting up processing, even treating your data as resting state. We have a particularly simple start script for quick QC—it won’t do nonlinear alignment, but it can give you a quick pass at EPI-anatomical alignment and help you quickly look at other features in your data. You can try the following, just input subject ID, anatomical dset and one or more EPIs in the following option slots:
-subjid SUBJ_ID \
-nt_rm 2 \
-anat DSET_ANAT \
-epi DSET_EPI1 DSET_EPI2 ...
You can see the AP command it builds in one of the output files. From there, you can evaluate how things look in the APQC HTML that is created, and then we can start building up the command to do whatever other options you want, and also add in running @SSwarper for the nonlinear alignment part (AP takes SSwarper output as an input directly, see this AP example).
How does that sound (assuming you have been braver enough to read to the end of this veeeery long reply, my apologies)?