I did not use the Software template because it didn’t seem well-suited to my question here.
A co-author, who does not use XCP-D, Nilearn, etc., has asked some questions about the XCP-D boilerplate that we’d like to clarify. I have done my best to answer questions by reading through the GitHub and Mehta et al.
“Nuisance regressors were regressed from the BOLD data using a denoising method based on Nilearn’s approach.” - Which approach is this? What paper?
“Outlier volumes at the beginning or end of the time series were replaced with the closest low-motion volume’s values, as cubic spline interpolation can produce extreme extrapolations.” - What software was used for this step?
“The timeseries were band-pass filtered using a second-order Butterworth filter, in order to retain signals between 0.01-0.08 Hz.” - What software was used for this step?
“The resulting time series were then denoised via linear regression, in which the low-motion volumes from the BOLD time series and confounds were used to calculate parameter estimates, and then the interpolated time series were denoised using the low-motion parameter estimates. The interpolated time series were then censored using the temporal mask.” - What software was used for this step?
Confirming that filtering was done before nuisance regression, not after or simultaneously.
This is the approach documented in nilearn.signal.clean - Nilearn. XCP-D reimplements the same basic approach separately because we need access to the interpolated, denoised data, which Nilearn’s function does not return.