Fmriprep 1.4.0 aCompCor


I had a quick question about the new confounds that fmriprep 1.4.0 is providing. Previously (fmriprep 1.3.0.post3) only 6 aCompCor confounds were provided, but now there are over 300 confounds for aCompCor. My lab is interested in just using the first 5 CSF mask aCompCor confounds, but I am unable to tell which of the 300+ aCompCor confounds are the CSF mask based ones. (There is a good chance I just don’t fully understand how the confounds are generated!) Could someone please explain this?

Thank you!
Lauren Ericksen
University of Utah

I think @rastko might have missed this question.


Previously, fMRIPrep computed anatomical CompCor using a single mask generated as the union of eroded WM and CSF masks following the original Behzadi implementation. Starting in v1.4.0, fMRIPrep computes this decomposition, but also separate decompositions within the CSF and WM masks. It returns a sufficient number of components such that 50 percent of the variance in each compartment (CSF, WM, and combined) can be explained (and the newer Muschelli CompCor implementations are also possible). For larger functional datasets (e.g., multiband), it’s possible that CompCor will return hundreds of components.

Currently, you can determine the mask in which each component is computed by examining or querying the associated metadata file, desc-confounds_regressors.json.

  • The Mask field denotes whether the component was generated from the CSF, WM, or combined mask.
  • The components will be ordered according to variance explained such that the first 5 components with "Mask": "CSF" will be the first 5 CSF confounds. If you want to make sure, you can always check the SingularValue or VarianceExplained fields: the first 5 components should have the largest singular values and explain the greatest fraction of variance.

Additional documentation is available here. Please let me know if you have any other questions!


Thank you for the quick response!