I have some questions regarding ICA-AROMA denoising via XCP-D. My resting-state fMRI data was preprocessed using fMRIPrep (v. 22.1.1) and fMRIPost-AROMA (v. 0.8) with Singularity/Apptainer.
I provided my confounds as a custom YAML file following the XCP-D documentation and used the ‘–datasets’ flag to point to the fMRIPost-AROMA folder. Everything runs fine, but I’d like to better understand how denoising is handled internally by XCP-D in CIFTI mode.
Since fMRIPost-AROMA applies its different denoising strategies (aggressive, non-aggressive, orthogonal) only in the MNI152 space (see GitHub issue), I have two main questions:
When using CIFTI file format, does XCP-D apply denoising directly on the BOLD timeseries in fsLR 91k space, or does it first process data in MNI space and then resamples it?
Is there any way to specify which denoising strategy (e.g., non-aggressive vs. aggressive) is applied within XCP-D? I’m using v. 0.10.3 and am happy to upgrade in case new features related to this are available.
fMRIPost-AROMA is limited to MNI152 space because we haven’t figured out the best way to wrangle data into different spaces. The actual denoising step just uses the component time series like other confound time series you might use.
XCP-D will denoise the data directly in fsLR space.
XCP-D supports either aggressive or orthogonalized-aggressive denoising based on the columns you select from the fMRIPost-AROMA confounds file, since the only difference between aggressive and orthogonalized-aggressive denoising is in whether you use the noise components without modification (aggressive) or the same components orthogonalized with respect to the signal components (orthogonalized-aggressive).
If you want to do non-aggressive denoising, you can create a confounds file where the signal components and noise components are both present, but the signal components are prefixed with signal__. There is more information on doing this here, but I think that’s probably a bad idea if you’re planning to combine the AROMA components with other confounds. The signal components aren’t necessarily “signals”, but rather are not flagged by the AROMA decision tree as noise. Just as an example, if ICA-AROMA doesn’t flag the component that explains the most variance (which probably correlates highly with global signal) as noise, then non-aggressive denoising would orthogonalize your global signal confound with respect to that component, which would effectively stop the denoising step from regressing out the global signal.