Nuisance Signal Regression¶
A key step in preparing fMRI data for statistical analysis is the removal of nusiance signals and noise. C-PAC provides a number of options for removing nuisance signals. These methods can be combined as desired by you, and are described below.
Regressors¶
Mean White Matter / CSF¶
The mean WM and CSF time series are calculated by averaging signal over all voxels within a WM or CSF mask for each time point. Mean WM and CSF time series are then used as temporal covariates and removed from the raw data through linear regression.
Note: The Lateral Ventricles Mask in standard space is provided for isolating signal changes in the CSF. This mask is based off of the HarvardOxford atlas that is in standard MNI space. If you wish to use your own standard and lateral ventricles mask, and wish to run CSF nuisance regression, you must specify it in your pipeline configuration.
aCompCor¶
The term “noise region-of-interest” (noise ROI) refers to areas such as white matter (WM) and cerebral spinal fluid (CSF) in which temporal fluctuations are unlikely to be modulated by neural activity, and thus primarily reflect physiological noise (Behzadi et al., 2007). Based on the assumption that signal from a noise ROI can be used to accurately model physiological fluctuations in gray matter regions, a novel component based noise reduction method (CompCor) was proposed to correct for physiological noise by regressing out principal components from noise ROIs (Behzadi et al., 2007). Compared to the average signal from WM and CSF regions (i.e. WM/CSF regression methods), signals captured by principal components derived from these noise ROIs can better account for voxel-specific phase differences in physiological noise due to the potential of principle component analysis to identify temporal pattern of physiological noise (Tomas et al., 2002). Thus, preprocessing with CompCor can significantly reduce physiological noise as well as noise from other sources (Behzadi et al., 2007; Chai et al., 2012).
The first step of CompCor is to determine noise ROIs. This can be done either by using anatomical data to identify voxels that consist primarily of either WM or CSF, or by defining noise ROIs as voxels with high temporal standard deviation. A principal component analysis (PCA) is then applied to characterize the time series data from the noise ROIs. Significant principal components are then introduced as covariates in a general linear model (GLM) as an estimate of the physiological noise signal space (Behzadi et al., 2007).
Also, C-PAC allows users configure nuisance correction to perform cosine/linear filtering on the time series data prior to CompCor calculation.
tCompCor¶
As showed by Lund and Hanson (2001), voxel time courses with a relatively high temporal standard deviation were dominated by physiological noise. Behzadi et al. (2007) proposed an unsupervised method to assess the temporal standard deviation and then used princial components analysis to reduce the data dimensionality.
Global Signal Regression¶
Global signal, the average signal across all voxels in the brain, is assumed to reflect a combination of resting-state fluctuations, physiological noise (e.g. respiratory and cardiac noise), and other noise signals with non-neural origin. Global signal regression (GSR) is a preprocessing technique for removing the spontaneous BOLD fluctuations common to the whole brain using a general linear model (GLM). Although GSR can potentially change functional connectivity distributions and result in increased negative correlations (Murphy et al., 2009; Saad et al., 2012; Weissenbacher et al., 2009), this technique has been shown to facilitate the detection of localized neuronal signals and improve the specificity of functional connectivity analysis (Fox et al., 2005; Fox et al., 2009). Thus, GSR remains a common and useful processing technique in some situations.
Global Mean¶
A global mean (defined as the average signal over all voxels for each time point) is used as a temporal covariate and regressed out using linear regression.
Principle Components Removal¶
Performs a Principal Components Analysis and regresses out the chosen principal component. The first component is assumed to be the global mean signal.
Polynomial Detrending¶
Removes linear or quadratic trends in the timeseries. The linear trend is likely due to the scanner heating up as the scan progresses, while the quadratic trend is possibly due to slow movement-related effects.
Motion Correction¶
Movement during scanning is one of of the largest factors influencing the quality of fMRI data. Movement of the head between the acquisition of each volume can cause brain images to become misaligned. Head motion during scanning can also cause spurious changes in signal intensity. If they are not corrected, these changes can influence the results of activation and connectivity analyses. Recent studies have shown that motion as small as 0.1 mm can systematically bias both within- and between- group effects during the analysis of fMRI data (Power et al., 2011; Satterhwaite et al., 2012; Van Dijk et al., 2012). Even the most cooperative participants often still show displacements of up to a millimeter, and head movements of several millimeters are not uncommon in studies of hyperkinetic subjects such as young children, older adults, or patient populations.
There are four main approaches to motion correction: volume realignment, using a general linear model to regress out motion-related artifacts (i.e. regression of motion parameters, as described as one of the regressors in nuisance regression above), de-spiking of motion confounded time points, and censoring of motion confounded time points (i.e. “scrubbing”).
Volume Realignment¶
Volume realignment aligns reconstructed volumes by calculating motion parameters based on a solid-body model of the head and brain (Friston 1996). Based on these parameters, each volume is registered to the volume preceding it.
C-PAC runs volume realignment on all functional images during functional preprocessing. You can select from two sets of motion parameters to use during this process:
6-Parameter Model - Three translation and three rotation parameters as described in Friston 1996.
Friston 24-Parameter Model - The 6 motion parameters of the current volume and the preceding volume, plus each of these values squared.
Regression of Motion Parameters¶
Another approach to motion correction is to regress out the effects of motion when running statistical analysis. This is done by calculating motion parameters and including them in your General Linear Model (Fox et al., 2005; Weissenbacher et al., 2009).
By default, C-PAC will calculate and output the motion parameters used during volume realignment. You can optionally enable the calculation of additional motion parameters, including Framewise Displacement (FD) and DVARS (as described below and in Power et al., 2011).
De-Spiking¶
Note: You cannot run De-Spiking and Scrubbing at the same time.
Scrubbing¶
One way to ensure that your results are have not been influenced by spurious, motion-related noise is to remove volumes during which significant movement occurred. This is known as volume censoring, or scrubbing. Power and colleagues (2011) proposed two measures to identify volumes contaminated by excessive motion; framewise displacement (FD) and DVARS:
FD is calculated from derivatives of the six rigid-body realignment parameters estimated during standard volume realignment, and is a compressed single index of the six realignment parameters.
DVARS is the root mean squared (RMS) change in BOLD signal from volume to volume (D referring to temporal derivative of time courses and VARS referring to RMS variance over voxels). DVARS is calculated by first differentiating the volumetric time series and then calculating the RMS signal change over the whole brain. This measure indexes the change rate of BOLD signal across the entire brain at each frame of data or, in other words, how much the intensity of a brain image changes relative to the previous time point.
Together, these two measures capture the head displacements and the brain-wide BOLD signal displacements from volume to volume over all voxels within the brain (Power et al., 2011).
After calculating FD and DVARS, thresholds can be applied to censor the data. Selecting thresholds for scrubbing is a trade-off. More stringent thresholds allow more complete removal of motion-contaminated data, and minimize motion-induced artifacts. Meanwhile, more stringent scrubbing will also remove more data, which may increase the variability and decrease the test-retest reliability of the data. Commonly used thresholds are FD > 0.2 to 0.5 mm and DVARS > 0.3 to 0.5% of BOLD.
IMPORTANT: Removing time points from a continuous time series (as is done during scrubbing) disrupts the temporal structure of the data and precludes frequency-based analyses such as ALFF/fAlff. However, scrubbing can effectively be used to minimize motion-related artifacts in seed-based correlation analyses (Power et al., 2011; 2012).
Note: You cannot run De-Spiking and Scrubbing at the same time.
Temporal Filtering¶
The overall goal of temporal filtering is to increase the signal-to-noise ratio. Due to the relatively poor temporal resolution of fMRI, time series data contain little high-frequency noise. They do, however, often contain very slow frequency fluctuations that may be unrelated to the signal of interest. Slow changes in magnetic field strength may be responsible for part of the low-frequency signal observed in fMRI time series (Smith et al., 1999). Other factors contributing to noise in a time series are cardiac and respiratory effects, which will often show up as noise around ~0.15 and ~0.34 Hz, respectively (Wager et al., 2007). The temporal filtering method implemented by C-PAC is relatively simple. You specify a lower and upper bound for a band-pass filter, which then removes any information in frequencies outside the specified frequency band.
Recent work has revealed a portion of the low-frequency signal (0.01 to 0.1 Hz) to be the result of slow oscillations intrinsic to brain activity (Gee et al., 2011; Zuo et al., 2010; Schroeder and Lakatos, 2009). Utilizing measures such as Amplitude of Low Frequency Fluctuations (ALFF) and fractional ALFF, the power of these oscillations has been shown to differ both across subjects (Zang et al., 2007) and between conditions (Yan et al., 2009). Resting functional connectivity has been shown to be most prominent at these frequency bands (Cordes et al., 2001), and as such these fluctuations are commonly used to measure functional connectivity in the resting brain (Gee et al., 2010).
As these low-frequency oscillations are likely of interest to researchers, it is important to take this knowledge into account when deciding on what temporal filtering settings to use. As a general rule, it is safe to filter frequencies below 0.0083 Hz (Ashby, 2011).
Additionally, there is some evidence (Davey et al., 2012) that temporal filtering may induce correlation in resting fMRI data, breaking the assumption of temporal sample independence and potentially invalidating the results of connectivity analysis. This should be taken into account when running temporal filtering on data on which you will later run connectivity analysis.
Median Angle Correction¶
Median angle correction is another global signal correction approach. It is assumed that the global signal in resting-state fMRI can be viewed as the sum of two components: a component that reflects the intrinsic correlations of resting state fMRI signals between regions, and a nuisance component that reflects an additive global signal confound. Unlike the GSR method which removes both components, median angle correction can characterize the properties of the global signal and effectively minimize the effects of the additive global signal confound while preserving the desired components.
Principal component analysis (PCA) is used to decompose the resting-state data. Median angle is computed by taking the inverse cosine of each voxel’s time series vector’s projection onto the first principal component (i.e. the global mean signal) and then calculating the median over the angles from all the vectors. If an inverse relation is found between the median angle and the mean BOLD signal amplitude, then an additive signal confound is present. As resting-state data sets with high median angles and low mean BOLD magnitudes are likely to be the least contaminated by an additive global confound (He and Liu, 2011), the inverse relation between median angle and mean BOLD magnitude is used to correct for differences in the additive confound. Specifically, the angular distributions of datasets with small median angles can be shifted to attain a larger target median angle to effectively minimize the effects of the global signal confound. The calculation of target angle for median angle correction is described in He and Liu (2011).
Custom Regressors¶
You can provide your own custom regressor signals beyond those provided by C-PAC (e.g., task encodings or quasi-periodic pattern waveforms).
Each custom regressor must be either a CSV or NIFTI file that contains a single column of the same length as the functional signal with 1
s indicating volumes to keep and 0
s indicating volumes to censor.
The custom regressor specification also takes a boolean convolve
(default = false
).
An example with one custom regressor is included in Configuration Without the GUI, below.
Configuring Nuisance Signal Regression Options¶
Run Nuisance Signal Correction - [Off, On, On/Off]: Covary out various sources of noise.
Lateral Ventricles Mask (Standard Space) - [path, None]: A binary mask of the lateral ventricles. If choosing None, no lateral ventricles mask will be applied.
Select Regressors: - [checkbox: compcor, wm, csf, global, pc1, motion, linear, quadratic]: Clicking on the + icon to the right of the box here will bring up a dialog where you can check off which nuisance variables you would like to include. You may generate multiple sets of nuisance regression strategies in this way. When you are done defining nuisance regression strategies, check the box next to each strategy you would like to run.
Configuring Temporal Filtering Options¶
Run Temporal Filtering - [Off, On, On/Off]: Apply a temporal band-pass filter to functional data.
Select regressors: - [dialogue: Low-frequency cutoff, High-frequency cutoff]: Clicking on the + icon to the right of the box here will bring up a dialog where you can define the upper and lower cutoffs for the bandpass filter. You may generate multiple sets of bandpass filter strategies in this way. When you are done defining bandpasses, check the box next to each bandpass you would like to run.
Configuration Without the GUI¶
The following nested key/value pairs will be set to these defaults if not defined in your pipeline configuration YAML.
# - if 'single_step_resampling_from_stc', 'template' is the only valid option for ``nuisance_corrections: 2-nuisance_regression: space``
# - if 'single_step_resampling_from_stc', 'template' is the only valid option for ``nuisance_corrections: 2-nuisance_regression: space``
using: 'default'
functional_preproc:
run: On
update_header:
# Convert raw data from LPI to RPI
run: On
truncation:
# First timepoint to include in analysis.
# Default is 0 (beginning of timeseries).
# First timepoint selection in the scan parameters in the data configuration file, if present, will over-ride this selection.
# Note: the selection here applies to all scans of all participants.
start_tr: 0
# Last timepoint to include in analysis.
# Default is None or End (end of timeseries).
# Last timepoint selection in the scan parameters in the data configuration file, if present, will over-ride this selection.
# Note: the selection here applies to all scans of all participants.
stop_tr: None
scaling:
# Scale functional raw data, usually used in rodent pipeline
run: Off
# Scale the size of the dataset voxels by the factor.
scaling_factor: 10
despiking:
# Run AFNI 3dDespike
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [Off]
slice_timing_correction:
# Interpolate voxel time courses so they are sampled at the same time points.
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [On]
# use specified slice time pattern rather than one in header
tpattern: None
# align each slice to given time offset
# The default alignment time is the average of the 'tpattern' values (either from the dataset header or from the tpattern option).
tzero: None
motion_estimates_and_correction:
run: On
motion_estimates:
# calculate motion statistics BEFORE slice-timing correction
calculate_motion_first: Off
# calculate motion statistics AFTER motion correction
calculate_motion_after: On
motion_correction:
# using: ['3dvolreg', 'mcflirt']
# Forking is currently broken for this option.
# Please use separate configs if you want to use each of 3dvolreg and mcflirt.
# Follow https://github.com/FCP-INDI/C-PAC/issues/1935 to see when this issue is resolved.
using: ['3dvolreg']
# option parameters
AFNI-3dvolreg:
# This option is useful when aligning high-resolution datasets that may need more alignment than a few voxels.
functional_volreg_twopass: On
# Choose motion correction reference. Options: mean, median, selected_volume, fmriprep_reference
motion_correction_reference: ['mean']
# Choose motion correction reference volume
motion_correction_reference_volume: 0
motion_estimate_filter:
# Filter physiological (respiration) artifacts from the head motion estimates.
# Adapted from DCAN Labs filter.
# https://www.ohsu.edu/school-of-medicine/developmental-cognition-and-neuroimaging-lab
# https://www.biorxiv.org/content/10.1101/337360v1.full.pdf
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [Off]
filters:
- # options: "notch", "lowpass"
filter_type: "notch"
# Number of filter coefficients.
filter_order: 4
# Dataset-wide respiratory rate data from breathing belt.
# Notch filter requires either:
# "breathing_rate_min" and "breathing_rate_max"
# or
# "center_frequency" and "filter_bandwitdh".
# Lowpass filter requires either:
# "breathing_rate_min"
# or
# "lowpass_cutoff".
# If "breathing_rate_min" (for lowpass and notch filter)
# and "breathing_rate_max" (for notch filter) are set,
# the values set in "lowpass_cutoff" (for lowpass filter),
# "center_frequency" and "filter_bandwidth" (for notch filter)
# options are ignored.
# Lowest Breaths-Per-Minute in dataset.
# For both notch and lowpass filters.
breathing_rate_min:
# Highest Breaths-Per-Minute in dataset.
# For notch filter.
breathing_rate_max:
# notch filter direct customization parameters
# mutually exclusive with breathing_rate options above.
# If breathing_rate_min and breathing_rate_max are provided,
# the following parameters will be ignored.
# the center frequency of the notch filter
center_frequency:
# the width of the notch filter
filter_bandwidth:
- # options: "notch", "lowpass"
filter_type: "lowpass"
# Number of filter coefficients.
filter_order: 4
# Dataset-wide respiratory rate data from breathing belt.
# Notch filter requires either:
# "breathing_rate_min" and "breathing_rate_max"
# or
# "center_frequency" and "filter_bandwitdh".
# Lowpass filter requires either:
# "breathing_rate_min"
# or
# "lowpass_cutoff".
# If "breathing_rate_min" (for lowpass and notch filter)
# and "breathing_rate_max" (for notch filter) are set,
# the values set in "lowpass_cutoff" (for lowpass filter),
# "center_frequency" and "filter_bandwidth" (for notch filter)
# options are ignored.
# Lowest Breaths-Per-Minute in dataset.
# For both notch and lowpass filters.
breathing_rate_min:
# lowpass filter direct customization parameter
# mutually exclusive with breathing_rate options above.
# If breathing_rate_min is provided, the following
# parameter will be ignored.
# the frequency cutoff of the filter
lowpass_cutoff:
distortion_correction:
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [On]
# using: ['PhaseDiff', 'Blip', 'Blip-FSL-TOPUP']
# PhaseDiff - Perform field map correction using a single phase difference image, a subtraction of the two phase images from each echo. Default scanner for this method is SIEMENS.
# Blip - Uses AFNI 3dQWarp to calculate the distortion unwarp for EPI field maps of opposite/same phase encoding direction.
# Blip-FSL-TOPUP - Uses FSL TOPUP to calculate the distortion unwarp for EPI field maps of opposite/same phase encoding direction.
using: ['PhaseDiff', 'Blip']
# option parameters
PhaseDiff:
# Since the quality of the distortion heavily relies on the skull-stripping step, we provide a choice of method ('AFNI' for AFNI 3dSkullStrip or 'BET' for FSL BET).
# Options: 'BET' or 'AFNI'
fmap_skullstrip_option: 'BET'
# Set the fraction value for the skull-stripping of the magnitude file. Depending on the data, a tighter extraction may be necessary in order to prevent noisy voxels from interfering with preparing the field map.
# The default value is 0.5.
fmap_skullstrip_BET_frac: 0.5
# Set the threshold value for the skull-stripping of the magnitude file. Depending on the data, a tighter extraction may be necessary in order to prevent noisy voxels from interfering with preparing the field map.
# The default value is 0.6.
fmap_skullstrip_AFNI_threshold: 0.6
Blip-FSL-TOPUP:
# (approximate) resolution (in mm) of warp basis for the different sub-sampling levels, default 10
warpres: 10
# sub-sampling scheme, default 1
subsamp: 1
# FWHM (in mm) of gaussian smoothing kernel, default 8
fwhm: 8
# Max # of non-linear iterations, default 5
miter: 5
# Weight of regularisation, default depending on --ssqlambda and --regmod switches. See user documentation.
lambda: 1
# If set (=1), lambda is weighted by current ssq, default 1
ssqlambda: 1
# Model for regularisation of warp-field [membrane_energy bending_energy], default bending_energy
regmod: bending_energy
# Estimate movements if set, default 1 (true)
estmov: 1
# Minimisation method 0=Levenberg-Marquardt, 1=Scaled Conjugate Gradient, default 0 (LM)
minmet: 0
# Order of spline, 2->Qadratic spline, 3->Cubic spline. Default=3
splineorder: 3
# Precision for representing Hessian, double or float. Default double
numprec: double
# Image interpolation model, linear or spline. Default spline
interp: spline
# If set (=1), the images are individually scaled to a common mean, default 0 (false)
scale: 0
# If set (=1), the calculations are done in a different grid, default 1 (true)
regrid: 1
func_masking:
run: On
# using: ['AFNI', 'FSL', 'FSL_AFNI', 'Anatomical_Refined', 'Anatomical_Based', 'Anatomical_Resampled', 'CCS_Anatomical_Refined']
# FSL_AFNI: fMRIPrep-style BOLD mask. Ref: https://github.com/nipreps/niworkflows/blob/a221f612/niworkflows/func/util.py#L246-L514
# Anatomical_Refined: 1. binarize anat mask, in case it is not a binary mask. 2. fill holes of anat mask 3. init_bold_mask : input raw func → dilate init func brain mask 4. refined_bold_mask : input motion corrected func → dilate anatomical mask 5. get final func mask
# Anatomical_Based: Generate the BOLD mask by basing it off of the anatomical brain mask. Adapted from DCAN Lab's BOLD mask method from the ABCD pipeline.
# Anatomical_Resampled: Resample anatomical brain mask in standard space to get BOLD brain mask in standard space. Adapted from DCAN Lab's BOLD mask method from the ABCD pipeline. ("Create fMRI resolution standard space files for T1w image, wmparc, and brain mask […] don't use FLIRT to do spline interpolation with -applyisoxfm for the 2mm and 1mm cases because it doesn't know the peculiarities of the MNI template FOVs")
# CCS_Anatomical_Refined: Generate the BOLD mask by basing it off of the anatomical brain. Adapted from the BOLD mask method from the CCS pipeline.
# this is a fork point
using: ['AFNI']
FSL-BET:
# Apply to 4D FMRI data, if bold_bet_functional_mean_boolean : Off.
# Mutually exclusive with functional, reduce_bias, robust, padding, remove_eyes, surfaces
# It must be 'on' if select 'reduce_bias', 'robust', 'padding', 'remove_eyes', or 'bet_surfaces' on
functional_mean_boolean: Off
# Set an intensity threshold to improve skull stripping performances of FSL BET on rodent scans.
functional_mean_thr:
run: Off
threshold_value: 98
# Bias correct the functional mean image to improve skull stripping performances of FSL BET on rodent scans
functional_mean_bias_correction: Off
# Set the threshold value controling the brain vs non-brain voxels.
frac: 0.3
# Mesh created along with skull stripping
mesh_boolean: Off
# Create a surface outline image
outline: Off
# Add padding to the end of the image, improving BET.Mutually exclusive with functional,reduce_bias,robust,padding,remove_eyes,surfaces
padding: Off
# Integer value of head radius
radius: 0
# Reduce bias and cleanup neck. Mutually exclusive with functional,reduce_bias,robust,padding,remove_eyes,surfaces
reduce_bias: Off
# Eyes and optic nerve cleanup. Mutually exclusive with functional,reduce_bias,robust,padding,remove_eyes,surfaces
remove_eyes: Off
# Robust brain center estimation. Mutually exclusive with functional,reduce_bias,robust,padding,remove_eyes,surfaces
robust: Off
# Create a skull image
skull: Off
# Gets additional skull and scalp surfaces by running bet2 and betsurf. This is mutually exclusive with reduce_bias, robust, padding, remove_eyes
surfaces: Off
# Apply thresholding to segmented brain image and mask
threshold: Off
# Vertical gradient in fractional intensity threshold (-1,1)
vertical_gradient: 0.0
FSL_AFNI:
bold_ref:
brain_mask: $FSLDIR/data/standard/MNI152_T1_${resolution_for_anat}_brain_mask.nii.gz
brain_probseg: $FSLDIR/data/standard/MNI152_T1_${resolution_for_anat}_brain_mask.nii.gz
Anatomical_Refined:
# Choose whether or not to dilate the anatomical mask if you choose 'Anatomical_Refined' as the functional masking option. It will dilate one voxel if enabled.
anatomical_mask_dilation: False
# Apply functional mask in native space
apply_func_mask_in_native_space: On
generate_func_mean:
# Generate mean functional image
run: On
normalize_func:
# Normalize functional image
run: On
coreg_prep:
# Generate sbref
run: On
nuisance_corrections:
1-ICA-AROMA:
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [Off]
# Types of denoising strategy:
# nonaggr: nonaggressive-partial component regression
# aggr: aggressive denoising
denoising_type: nonaggr
2-nuisance_regression:
# this is a fork point
# run: [On, Off] - this will run both and fork the pipeline
run: [On]
# this is not a fork point
# Run nuisance regression in native or template space
# - If set to template, will use the brain mask configured in
# ``functional_preproc: func_masking: FSL_AFNI: brain_mask``
# - If ``registration_workflows: functional_registration: func_registration_to_template: apply_trasnform: using: single_step_resampling_from_stc``, this must be set to template
space: native
# switch to Off if nuisance regression is off and you don't want to write out the regressors
create_regressors: On
# Select which nuisance signal corrections to apply
Regressors:
- Name: 'default'
Motion:
include_delayed: true
include_squared: true
include_delayed_squared: true
aCompCor:
summary:
method: DetrendPC
components: 5
tissues:
- WhiteMatter
- CerebrospinalFluid
extraction_resolution: 2
CerebrospinalFluid:
summary: Mean
extraction_resolution: 2
erode_mask: true
GlobalSignal:
summary: Mean
PolyOrt:
degree: 2
Bandpass:
bottom_frequency: 0.01
top_frequency: 0.1
method: default
- Name: 'defaultNoGSR'
Motion:
include_delayed: true
include_squared: true
include_delayed_squared: true
aCompCor:
summary:
method: DetrendPC
components: 5
tissues:
- WhiteMatter
- CerebrospinalFluid
extraction_resolution: 2
CerebrospinalFluid:
summary: Mean
extraction_resolution: 2
erode_mask: true
PolyOrt:
degree: 2
Bandpass:
bottom_frequency: 0.01
top_frequency: 0.1
method: default
# Standard Lateral Ventricles Binary Mask
# used in CSF mask refinement for CSF signal-related regressions
lateral_ventricles_mask: $FSLDIR/data/atlases/HarvardOxford/HarvardOxford-lateral-ventricles-thr25-2mm.nii.gz
# Whether to run frequency filtering before or after nuisance regression.
# Options: 'After' or 'Before'
bandpass_filtering_order: 'After'
# Process and refine masks used to produce regressors and time series for
# regression.
regressor_masks:
erode_anatomical_brain_mask:
# Erode binarized anatomical brain mask. If choosing True, please also set regressor_masks['erode_csf']['run']: True; anatomical_preproc['brain_extraction']['using']: niworkflows-ants.
run: Off
# Target volume ratio, if using erosion.
# Default proportion is None for anatomical brain mask.
# If using erosion, using both proportion and millimeters is not recommended.
brain_mask_erosion_prop:
# Erode brain mask in millimeters, default for brain mask is 30 mm
# Brain erosion default is using millimeters.
brain_mask_erosion_mm: 30
# Erode binarized brain mask in millimeter
brain_erosion_mm:
erode_csf:
# Erode binarized csf tissue mask.
run: Off
# Target volume ratio, if using erosion.
# Default proportion is None for cerebrospinal fluid mask.
# If using erosion, using both proportion and millimeters is not recommended.
csf_erosion_prop:
# Erode cerebrospinal fluid mask in millimeters, default for cerebrospinal fluid is 30mm
# Cerebrospinal fluid erosion default is using millimeters.
csf_mask_erosion_mm: 30
# Erode binarized cerebrospinal fluid mask in millimeter
csf_erosion_mm:
erode_wm:
# Erode WM binarized tissue mask.
run: Off
# Target volume ratio, if using erosion.
# Default proportion is 0.6 for white matter mask.
# If using erosion, using both proportion and millimeters is not recommended.
# White matter erosion default is using proportion erosion method when use erosion for white matter.
wm_erosion_prop: 0.6
# Erode white matter mask in millimeters, default for white matter is None
wm_mask_erosion_mm:
# Erode binarized white matter mask in millimeters
wm_erosion_mm:
erode_gm:
# Erode gray matter binarized tissue mask.
run: Off
# Target volume ratio, if using erosion.
# If using erosion, using both proportion and millimeters is not recommended.
gm_erosion_prop: 0.6
# Erode gray matter mask in millimeters
gm_mask_erosion_mm:
# Erode binarized gray matter mask in millimeters
gm_erosion_mm:
An example of a custom regressor with one file:
nuisance_corrections:
2-nuisance_regression:
Regressors:
- Name: 'first_custom_regressor'
Custom:
- file: custom_signal.1D
convolve: true
An example of nuisance regressors¶
The following box contains an example of a TSV file generated by C-PAC with the regressors used on nuisance regression.
# CPAC 1.4.1
# Nuisance regressors:
# RotY RotYBack RotYSq RotYBackSq RotX RotXBack RotXSq RotXBackSq RotZ RotZBack RotZSq RotZBackSq Y YBack YSq YBackSq X XBack XSq XBackSq Z ZBack ZSq ZBackSq aCompCorDetrendPC0 aCompCorDetrendPC1 aCompCorDetrendPC2 aCompCorDetrendPC3 aCompCorDetrendPC4 CerebrospinalFluidMean
-0.0276 0 0.0007 0 0.1954 0 0.0381 0 0.0488 0 0.0023 0 -0.3694 0 0.1364 0 -0.0061 0 0.0000 0 -0.3843 0 0.1476 0 -0.0458 0.0335 -0.0736 0.0579 -0.0114 10392.7714
-0.0192 -0.0276 0.0003 0.0007 0.2613 0.1954 0.0682 0.0381 0.0774 0.0488 0.0059 0.0023 -0.4328 -0.3694 0.1873 0.1364 0.0202 -0.0061 0.0004 0.0000 -0.3547 -0.3843 0.1258 0.1476 -0.1048 0.0727 -0.2194 0.1391 0.0235 10432.6865
-0.0394 -0.0192 0.0015 0.0003 0.1324 0.2613 0.0175 0.0682 0.0132 0.0774 0.0001 0.0059 -0.3399 -0.4328 0.1155 0.1873 -0.0262 0.0202 0.0006 0.0004 -0.3366 -0.3547 0.1132 0.1258 -0.1030 0.0668 -0.1124 0.0937 0.0553 10460.6806
-0.0394 -0.0394 0.0015 0.0015 0.1597 0.1324 0.0255 0.0175 0.0389 0.0132 0.0015 0.0001 -0.3419 -0.3399 0.1168 0.1155 0.0004 -0.0262 0.0000 0.0006 -0.3387 -0.3366 0.1147 0.1132 -0.0984 0.0633 -0.1343 0.1038 0.0736 10421.9697
-0.0232 -0.0394 0.0005 0.0015 0.1393 0.1597 0.0194 0.0255 0.0316 0.0389 0.0009 0.0015 -0.3486 -0.3419 0.1215 0.1168 -0.0081 0.0004 0.0000 0.0000 -0.3391 -0.3387 0.1149 0.1147 -0.0924 0.0698 -0.0869 0.1085 0.0369 10433.9453
-0.0225 -0.0232 0.0005 0.0005 0.1565 0.1393 0.0244 0.0194 0.0339 0.0316 0.0011 0.0009 -0.3828 -0.3486 0.1465 0.1215 -0.0033 -0.0081 0.0000 0.0000 -0.3498 -0.3391 0.1223 0.1149 -0.1071 0.0753 -0.0597 0.1258 -0.0705 10426.4130
-0.0233 -0.0225 0.0005 0.0005 0.1494 0.1565 0.0223 0.0244 0.0288 0.0339 0.0008 0.0011 -0.3405 -0.3828 0.1159 0.1465 -0.0062 -0.0033 0.0000 0.0000 -0.3458 -0.3498 0.1195 0.1223 -0.1158 0.0549 -0.1046 0.0821 -0.0871 10445.0371
Pulling Regressors from fMRIPrep Output Directory¶
New in version 1.8.6.
C-PAC is now compatible with fMRIPrep output directories so that users can run nuisance regression and calculate derivatives. There are a few things to note to configure this option in the pipeline file.
Nuisance regression has to be in template space.
Create_regressors should be switched off
The names of the regressors under Columns must match the column names from the fMRIPrep confounds file
If there are regressor strategies under nuisance_corrections > 2-nuisance_regression > Regressors, the ‘Name’ field of one strategy must match the name of the regressor strategy listed under ingress_regressors. If you are not running bandpass filtering, the field nuisance_corrections > 2-nuisance_regression > Regressors can be blank. See below for an example.
Nuisance regression cannot fork with ingressed regressors
# Example of nuisance regression section of pipeline file
nuisance_corrections:
2-nuisance_regression:
run: [On]
# Select which nuisance signal corrections to apply
Regressors:
- Name: strat1
Bandpass:
bottom_frequency: 0.01
top_frequency: 0.1
method: default
ingress_regressors:
run: On
Regressors:
Name: strat1
Columns:
- global_signal
- white_matter
create_regressors: Off
Configuring Median Angle Correction Options¶
Warning
median angle correction functionality was removed in C-PAC v1.8.0.
External Resources¶
References¶
Ashby, F.G., (2011). Preprocessing. In Statistical Analysis of MRI Data. Cambridge: Cambridge University Press.
Cordes, D., Haughton, V. M., Arfanakis, K., Carew, J. D., Turski, P. A., Moritz, C. H., Quigley, M. A., et al. (2001). Frequencies contributing to functional connectivity in the cerebral cortex in “resting-state” data. AJNR. American journal of neuroradiology, 22(7), 1326–1333.
Dagli, M.S., Ingeholm, J.E., Haxby, J.V., 1999. Localization of cardiac-induced signal change in fMRI. NeuroImage 9, 407–415.
Davey, C. E., Grayden, D. B., Egan, G. F., & Johnston, L. A. (2012). Filtering induces correlation in fMRI resting state data. Neuroimage. doi:10.1016/j.neuroimage.2012.08.022 Fox, M.D., Snyder, A.Z., Vincent, J.L., Corbetta, M., Van Essen, D.C., Raichle, M.E., 2005. The human brain is intrinsically organized into dynamic, anticorrelated functional networks. Proc Natl Acad Sci U S A 102, 9673-9678.
Fox, M.D., Zhang, D., Snyder, A.Z., Raichle, M.E., 2009. The global signal and observed anticorrelated resting state brain networks. J Neurophysiol 101, 3270-3283.
Friston, K. J., Williams, S., Howard, R., Frackowiak, R. S., & Turner, R. (1996). Movement-related effects in fMRI time-series. Magnetic Resonance in Medicine, 35(3), 346–355.
Gee, D. G., Biswal, B. B., Kelly, C., Stark, D. E., Margulies, D. S., Shehzad, Z., Uddin, L. Q., et al. (2011). Low frequency fluctuations reveal integrated and segregated processing among the cerebral hemispheres. Neuroimage, 54(1), 517–527.
He Hongjian, Liu Thomas T., A geometric view of global signal confounds in resting-state functional MRI, NeuroImage, Volume 59, Issue 3, 1 February 2012, Pages 2339-2348
Murphy, K., Birn, R.M., Handwerker, D.A., Jones, T.B., Bandettini, P.A., 2009. The impact of global signal regression on resting state correlations: are anti-correlated networks introduced? Neuroimage 44, 893-905.
Power, J.D., Barnes, K.A., Snyder, A.Z., Schlaggar, B.L., Petersen, S.E., 2011. Spurious but systematic correlations in functional connectivity MRI networks arise from subject motion. Neuroimage 59, 2142-2154.
Power, J.D., Barnes, K.A., Snyder, A.Z., Schlaggar, B.L., Petersen, S.E., 2012. Steps toward optimizing motion artifact removal in functional connectivity MRI; a reply to Carp. Neuroimage.
Saad, Z.S., Gotts, S.J., Murphy, K., Chen, G., Jo, H.J., Martin, A., Cox, R.W., 2012. Trouble at rest: how correlation patterns and group differences become distorted after global signal regression. Brain Connect 2, 25-32.
Satterthwaite, T.D., Wolf, D.H., Loughead, J., Ruparel, K., Elliott, M.A., Hakonarson, H., Gur, R.C., Gur, R.E., 2012. Impact of in-scanner head motion on multiple measures of functional connectivity: Relevance for studies of neurodevelopment in youth. Neuroimage 60, 623-632.
Schroeder, C. E., & Lakatos, P. (2009). Low-frequency neuronal oscillations as instruments of sensory selection. Trends in neurosciences, 32(1), 9–18. doi:10.
Smith, AM, Lewis, BK, Ruttimann, UE, Ye, FQ, Sinnwell, TM, Yang, Y, Duyn, JH, & Frank, JA. 1999. Investigation of low frequency drift in fMRI signal. Neuroimage, 9, 526–33.
Thomas, C.G., Harshman, R.A., Menon, R.S., 2002. Noise reduction in BOLD-based fMRI using component analysis. NeuroImage 17 (3), 1521–1537.
Van Dijk, K.R., Sabuncu, M.R., Buckner, R.L., 2012. The influence of head motion on intrinsic functional connectivity MRI. Neuroimage 59, 431-438.
Wager, T.D., Hernandes, L., Jonides, J., and Lindquist, M., Elements of Functional Neuroimaging. In Cacioppo, J.T., Tassinary, L.G., and Berntson, G.G., (2007) Handbook of Psychophysiology, Third Edition.
Weissenbacher, A., Kasess, C., Gerstl, F., Lanzenberger, R., Moser, E., Windischberger, C., 2009. Correlations and anticorrelations in resting-state functional connectivity MRI: a quantitative comparison of preprocessing strategies. Neuroimage 47, 1408-1416
Windischberger, C., Langenberger, H., Sycha, T., Tschernko, E.M., Fuchsjager-Mayerl, G., Schmetterer, L., Moser, E., 2002. On the origin of respiratory artifacts in BOLD-EPI of the human brain. Magn. Reson. Imaging 20, 575–582.
Yan, C., Liu, D., He, Y., Zou, Q., Zhu, C., Zuo, X., Long, X., et al. (2009). Spontaneous brain activity in the default mode network is sensitive to different resting-state conditions with limited cognitive load. PLoS ONE, 4(5), e5743.
Zang, Y.-F., He, Y., Zhu, C.-Z., Cao, Q.-J., Sui, M.-Q., Liang, M., Tian, L.-X., et al. (2007). Altered baseline brain activity in children with ADHD revealed by resting-state functional MRI. Brain & development, 29(2), 83–91.
Zuo, X.-N., Di Martino, A., Kelly, C., Shehzad, Z. E., Gee, D. G., Klein, D. F., Castellanos, F. X., et al. (2010). The oscillating brain: complex and reliable. Neuroimage, 49(2), 1432–1445.