The aCompCor algorithm for denoising fMRI data using noise ROIs data
CompCor(
X,
ROI_data = "infer",
ROI_noise = NULL,
noise_nPC = 5,
noise_erosion = NULL,
center = TRUE,
scale = TRUE,
nuisance = NULL
)
X | Wide numeric data matrix (\(T observations\) by \(V variables\), \(T << V\)).
For example, if Or, a 4D array or NIFTI or file path to a NIFTI (\(I\) by \(J\) by \(K\) by \(T\)
observations), in which case Or, a |
---|---|
ROI_data | Indicates the data ROI. Allowed arguments depend on If If If If |
ROI_noise | Indicates the noise ROIs for aCompCor. Should be a list where
each entry corresponds to a distinct noise ROI. The names of the list should
be the ROI names, e.g. For all types of If If (If |
noise_nPC | The number of principal components to compute for each noise ROI. Alternatively, values between 0 and 1, in which case they will represent the minimum proportion of variance explained by the PCs used for each noise ROI. The smallest number of PCs will be used to achieve this proportion of variance explained. Should be a list or numeric vector with the same length as |
noise_erosion | The number of voxel layers to erode the noise ROIs by.
Should be a list or numeric vector with the same length as |
center, scale | Center the columns of the noise ROI data by their medians,
and scale by their MADs? Default: |
nuisance | Nuisance signals to regress from each data column in addition
to the noise ROI PCs. Should be a \(T\) by \(N\) numeric matrix where
\(N\) represents the number of nuisance signals. To not perform any nuisance
regression set this argument to |
A list with entries "data"
, "noise"
, and potentially
"ROI_data"
.
The entry "data"
will be a V x T
matrix where each row corresponds to a
data location (if it was originally an array, the locations will be voxels in spatial
order). Each row will be a time series with each noise PC regressed from it. This entry
will be NULL
if there was no data.
The entry "noise"
is a list of noise PC scores, their corresponding variance,
and their ROI mask, for each noise ROI.
If the data ROI is not all TRUE
, the entry "ROI_data"
will have
the ROI mask for the data.
First, the principal components (PCs) of each noise region of interest (ROI)
are calculated. For each ROI, voxels are centered and scaled
(can be disabled with the arguments center
and scale
),
and then the PCs are calculated via the singular value decomposition.
Next, aCompCor is performed to remove the shared variation between the noise ROI
PCs and each location in the data. This is accomplished by a nuisance regression
using a design matrix with the noise ROI PCs, any additional regressors specified
by nuisance
, and an intercept term. (To detrend the data and perform aCompCor
in the same regression, nuisance
can be set to DCT bases obtained with
the function dct_bases
.)
Behzadi, Y., Restom, K., Liau, J. & Liu, T. T. A component based noise correction method (CompCor) for BOLD and perfusion based fMRI. NeuroImage 37, 90-101 (2007).
Muschelli, J. et al. Reduction of motion-related artifacts in resting state fMRI using aCompCor. NeuroImage 96, 22-35 (2014).