First-level GLM using FSL: how to incorporate high-pass filtering and regressors?

Hi Chris,

I was considering using the cosine components to include in an FSL first-level analysis instead of using FSL’s built-in high-pass filtering tool. However, when setting up the GLM, you’re given a choice to high-pass all the regressors or not, with the recommendation that you should if thedata is high-pass filtered. I am unsure how all of this information fits together.

My feeling is that I should not use fmriprep’s cosine components and just use FSL’s high-pass filtering (with the same frequency setting as fmriprep), and then click yes to high-pass model regressors. Would this interfere with fmriprep’s confound EVs in any way if they were made assuming the data was already high-pass filtered?




I’m trying to reformulate this question to make sure I understand. In your post-fMRIPrep GLM in FSL, you want to include both aCompCor nuisance regressors from fMRIPrep and high-pass filtering—right?

This is the concern: First, fMRIPrep is internally using the Discrete Cosine Transform formulation (link) to high-pass filter the data when extracting the aCompCor regressors. FMRIPrep’s internal high-pass filtering corresponds to the Cosine0* variables output by fMRIPrep. Does this mean that we must use the Cosine0* variables in our GLM to jive with using aCompCor (as suggested here: link)? If so, I should supply fMRIPrep’s Cosine0* to FSL and tell FSL not to high-pass filter the data at all. On the other hand, what if I want to use FSL’s high-pass filtering functionality? This may not be exactly the same as fMRIPrep’s DCT formulation. If I tell FSL to also high-pass the model, I’ll be redundantly high-pass filtering the aCompCor regressors with potentially two slightly different formulations of a high-pass filter.

To me this doesn’t seem like it will be hugely problematic, but it’s definitely a bit awkward. Redundantly filtering the aCompCor variables probably won’t make a huge difference (right?). Note that this awkwardness is not limited to FSL—for example, I’ve used AFNI’s 3dTproject to regress out confounding variables including aCompCor, but instead of including Cosine0* variables, I used AFNI’s approach (first- and second-order Legendre polynomials and sine/cosine bases for high-pass filter) which differs from DCT.

Sorry that’s not an answer at all! Trying to wrap my head around this issue.


I’m having the same question, although for first level analysis in SPM - there it also seems like its not possible to switch the high pass filter off.

Any resolution so far?

@ChrisGorgolewski ? Thanks!

Also curious to hear @ChrisGorgolewski or others thoughts on this

This paper seems relevant:

Performing nuisance regression and temporal filtering stepwise without orthogonalization (in either order) will generally reintroduce noise removed in the previous step. I believe FSL FEAT does this (temporal filtering before regression).

As @snastase mentioned, 3dTproject, on the other hand, will perform both simultaneously using basis functions as regressors.


Hi @AnonymousBoba,
I am looking into the effects of the high-pass filter as applied to FEAT when the preprocessing was done with fmri-prep including ICA-AROMA. To clarify that I understand… are you saying that including nuisance regressors in the model while also performing temporal filtering will reintroduce noise?

In the case of ICA-AROMA, where I do not plan to include nuisance regressors in the GLM, would it still be problematic to apply a temporal filter in FEAT?

Hey @aftonnelson, you will generally reintroduce noise if the denoising steps are conducted stepwise. e.g., if you do nuisance regression and then take the output (residuals) and then denoise temporally, noise will be reintroduced when you denoise temporally (assuming the nuisance regressors and temporal regressors are non-orthogonal). ICA-AROMA is a type of nuisance regression using ICA-based components; I don’t even know what “ICA-AROMA, where [you] do not plan to include nuisance regressors in the GLM” would even entail. I assume you mean that you are not including fmriprep-based regressors in your GLM and instead would run ICA-AROMA independently; however, ICA-AROMA would still be generating the nuisance regressors on its own (using independent component analysis), so you are still doing denoising. Ideally, the nuisance regression and temporal filtering would happen in the same model (temporal filters can be equivalently represented as cosine basis functions in a GLM).

Thus, I suspect that, yes, ICA-AROMA and then temporal filtering using FEAT would reintroduce noise. This may or may not be negligible.