4.5. Preprocess#

4.5.1. Description#

The Preprocess is an object meant for pre-processing before or after Marker step depending on the use-case. For example, you might want to perform confound removal on BOLD data before feature extraction.

Note

This step is optional for the pipeline to work.

4.5.2. Confound Removal#

The Confound Removal step is meant to remove confounds from the BOLD data. The confounds are extracted from the BOLD_confounds data (must be provided by the Data Grabber). The confounds are then regressed out from the BOLD data using nilearn.image.clean_img().

Currently, junifer supports only one confound removal class: fMRIPrepConfoundRemover. This class is meant to remove confounds as described before, using the output of fMRIPrep as reference.

Strategy#

This confound remover uses the nilearn API from nilearn.interfaces.fmriprep.load_confounds(). That is, define a strategy to extract the confounds from the BOLD_confounds data. The strategy is defined by choosing the noise components to be used and the confounds to be extracted from each noise components. The noise components currently supported are:

  • motion

  • wm_csf

  • global_signal

The confounds options for each noise component are:

  • basic: the basic confounds for each noise component. For example, for motion, the basic confounds are the 6 motion parameters (3 translations and 3 rotations). For wm_csf, the basic confounds are the mean signal of the white matter and CSF regions. For global_signal, the basic confound is the mean signal of the whole brain.

  • power2: the basic confounds plus the square of each basic confound.

  • derivatives: the basic confounds plus the derivative of each basic confound.

  • full: the basic confounds, the derivative of each basic confound, the square of each basic confound and the square of each derivative of each basic confound.

The strategy is defined as a dictionary, with the noise components as keys and the confounds as values.

Example in python format:

strategy = {
    "motion": "basic",
    "wm_csf": "full",
    "global_signal": "derivatives"
}

or in YAML format:

strategy:
    motion: basic
    wm_csf: full
    global_signal: derivatives

The default value is to use all the noise components with the full confounds:

strategy = {
    "motion": "full",
    "wm_csf": "full",
    "global_signal": "full"
}

Other Parameters#

Additionally, the fMRIPrepConfoundRemover supports the following parameters:

Parameter

Description

Default

spike

Add a spike regressor in the timepoints when the framewise
displacement exceeds this threshold.

deactivated

detrend

Apply detrending on timeseries, before confound removal.

activated

standardize

Scale signals to unit variance.

activated

low_pass

Low cutoff frequencies, in Hertz.

deactivated

high_pass

High cutoff frequencies, in Hertz.

deactivated

t_r

Repetition time, in second (sampling period).

from nifti header

mask

If provided, signal is only cleaned from voxels inside the mask.
If not, a mask is computed using

compute