XCP-D boilerplate clarifications

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.

Just custom Python code. See xcp_d/xcp_d/utils/utils.py at cc431c48c141a82862b931d55c889c8a4108de0c · PennLINC/xcp_d · GitHub.

XCP-D uses Nilearn’s butterworth function. See xcp_d/xcp_d/utils/utils.py at cc431c48c141a82862b931d55c889c8a4108de0c · PennLINC/xcp_d · GitHub.

Numpy. See xcp_d/xcp_d/utils/utils.py at cc431c48c141a82862b931d55c889c8a4108de0c · PennLINC/xcp_d · GitHub for the denoising and xcp_d/xcp_d/workflows/bold/postprocessing.py at cc431c48c141a82862b931d55c889c8a4108de0c · PennLINC/xcp_d · GitHub for the recensoring.

Filtering is done before nuisance regression, but is applied to both the fMRI data and the confounds, matching the HPMC with orthogonalization approach in Lindquist et al. (2019). See xcp_d/xcp_d/utils/utils.py at cc431c48c141a82862b931d55c889c8a4108de0c · PennLINC/xcp_d · GitHub.

1 Like