Preprocessing for atlas based connectivity matrices

Thank you for bringing this topic up. While designing FMRIPREP we thought hard on how to make it most usable for different types of analyses and any feedback is highly appreciated.

As you know there are many, many papers providing different recommendations on cleaning up data. Instead of implementing one default approach (or even a small set) we opted for generating outputs that would allow easy application of a wide range of different approaches. We are not married to this approach and happy to hear what do you think.

So to implement the closest version of this particular preprocessing you would have to do the following:

  1. Run FMRIPREP with --use-aroma option
  2. Take the *bold_space-MNI152NLin2009cAsym_preproc.nii.gz outputs.
  3. Either discard 4 first volumes, or as many volumes as the FMRIPREP steady non-state detector recommends as indicated by the number of NonSteadyStateOutlier. Alternatively you can use these columns in the denoising design matrix (see below).
  4. Smooth the data with 8mm (or whatever is appropriate for your data). Alternatively you can opt for not smoothing the 4D data and smoothing only the first level statistical maps prior to doing group level.
  5. Create a denoising design matrix that would include the following columns from the _confounds.tsv file: AROMAAggrComp* (those are the noise components from ICA AROMA), WhiteMatter, and aCompCor01 (first component of the anatomical compcor is a good approximation of the mean signal in WM and CSF). In addition to achieve the linear detrending you should add a column of ascending numbers (1,2,3,4 etc).
  6. Fit this model to the data and save the residuals - this is your denoised data.
  7. Save the number of columns for each run - this is your tDOF-loss you will use on group level.
  8. Perform band pass filtering (remember to do it after nuisance regression!).

In this solution I skipped intensity normalization since I don’t think it influences temporal noise and is more of convenience scaling operation.

One important thing that is missing in my recipe is despiking. As far as I know this cannot be easily done with nuissance regression since 3dDespike changes each voxel differently (so we cannot generate a single column for all voxels to include in the _confounds.tsv file). We could add 3dDespike as an optional (turned on by default or not) step in FMRIPREP. Would that be desirable? Do you know of any work recommending against using 3dDespike?

PS Most outputs of FMRIPREP are not smoothed. the only exception is variant-smoothAROMAnonaggr which is the non-aggressively ICA AROMA denoised data which is smoothed using 6mm kernel (as in the original AROMA paper).
PPS The reason why we output only WM but not CSF is that for participants with small ventricles we cannot reliably estimate CSF ROIs without running into partial volume issues. I would love to hear suggestions how to work around this.

3 Likes