The option to disable bandpass filtering was added in 0.3.1. I would suggest updating to the latest build (0.3.2) before running.
If you disable the bandpass filter, you can pass in the cosine regressors from fMRIPrep which act as a high pass filter at (1/128) Hz. This is required if you are using aCompCor components, since they are calculated after high-pass filtering of the data.
You can see in the code here the XCP_D will add the cosine regressors if you choose an aCompCor strategy (by virtue of high_pass in Nilearns load_confounds module). So, you would not have to pass cosine regressors in as a custom confound.
I have tried the aCompCor denoising strategy as you suggested. However, I have a follow-up question. In the report that is produced by xcp_d, I see this methods text:
First, outlier detection was performed. In order to identify high-motion outlier volumes, framewise displacement was calculated using the formula from @power_fd_dvars, with a head radius of 50 mm. Volumes with framewise displacement greater than 0.2 mm were flagged as outliers and excluded from nuisance regression [@power_fd_dvars].
Next, the BOLD data and confounds were mean-centered and linearly detrended.
The top 5 aCompCor principal components from the WM and CSF compartments were selected as nuisance regressors [@behzadi2007component], along with the six motion parameters and their temporal derivatives, mean white matter signal, mean CSF signal, and mean global signal [@benchmarkp;@satterthwaite_2013]. These nuisance regressors were regressed from the BOLD data using linear regression, as implemented in nilearn 0.9.2 [@nilearn]. Any volumes censored earlier in the workflow were then interpolated in the residual time series produced by the regression.
The processed BOLD was smoothed using Nilearn with a gaussian kernel size of 6.0 mm
I am noticing that this text does not mention filtering. Is that normal?
Hard to say without knowing your exact command, since if you disabled bandpass filtering it makes sense for it not to be in the boilerplate. Since the filtering in acompcor happens by virtue of confound regression and not a dedicated filter, it may not be in the boilerplate explicitly.
So to clarify what you are saying: the cosine regressors are added as part of the aCompCor strategy automatically, but they are not mentioned in the boilerplate? I think that this is an important step that should be mentioned in the Methods explicitly, as some users might be unaware of it. Would it help if I opened a feature request for it to be added to the report?
I am sorry to reopen this issue, but I have noticed something. When using the acompcor denoising strategy with GSR, the data looks filtered with only a highpass as expected. However, one thing I have observed is that when running acompcor on the same data without GSR (-p acompcor option) the data still looks bandpass filtered (i.e. very smooth). Here is a plot.
Apologies for the bad Excel plot, but it should be enough to show what I mean. These are two time series of the same brain region denoised with acompcor, one with GSR, the other without. As you can see, the version with GSR looks way more “spiky”. I wonder why that is, could it be that the GSR is reintroducing some noise in my signal? Or is it that the bandpass kicks in again somehow when the GSR is turned off…?
In both cases, the call to xcp_d included the “–disable-bandpass-filter” option.
I have also noticed that the bandpass is mentioned in the method description in the HTML file. Could it be that somehow this setup bypasses the --disable-bandpass-filter?
I am really sorry I reran the analysis after deleting all temporary files and actually I was wrong. I think this effect was maybe caused by some previous data that was not replaced by the new one. The data comes out as expected now, so not smoothed. Sorry for the alarm, feel free to remove my previous post or mark as solved!