aslCensoring.Rd
Censor bad volumes from ASL data.
aslCensoring( asl, mask = NULL, nuis = NA, method = "outlier", reject.pairs = FALSE, ... )
asl | input asl image |
---|---|
mask | mask for calculating perfusion |
nuis | fixed nuisance parameters |
method | one of 'outlier', 'robust', or 'scor'. See |
reject.pairs | whether to reject only tag-control pairs of images, as opposed to single images. Rejecting pairs of images is necessary for non-regression-based ASL averaging methods. |
... | Additional arguments to pass to censoring method. See |
vector of the same length as number of timepoints in asl
, with
1 indicating the corresponding timepoint is included and 0 indicating exclusion.
aslCensoring
is an interface to ASL timepoint censoring algorithms.
Three options are currently provided, with different additional arguments:
outlier
Outlier rejection from Tan et al. This method rejects
volumes that are either far from the mean of the time-series or whose
standard deviation is far from the standard deviations of the individual volumes.
Accepts two additional arguments:
sigma.mean
: how many standard
deviations the mean of the volume can be from the
mean of all the volumes before
being thrown out.
sigma.sd
: how many standard deviations from the
mean of standard deviations can the standard deviation of the volume be
before being thrown out.
robust
Uses a robust regression approach to estimate volumes
with high leverage. Accepts three arguments:
nuis
: Nuisance regressors to use as covariates.
robthresh
: Threshold for weights on leverage estimates. Points
with weights under this value will be thrown out; defaults to 0.95.
skip
: Proportion of points to skip when estimating leverage.
Defaults to 20 (1/20 of the image is used).
scor
SCOR method of Dolui et al. No parameters.
Tan H. et al., ``A Fast, Effective Filtering Method for Improving Clinical Pulsed Arterial Spin Labeling MRI,'' JMRI 2009.
Kandel BM
set.seed(1) nvox <- 5 * 5 * 5 * 30 dims <- c(5, 5, 5, 30) voxvals <- array(rnorm(nvox) + 500, dim=dims) voxvals[, , , 5] <- voxvals[, , , 5] + 600 asl <- makeImage(dims, voxvals) censored <- aslCensoring(asl) testthat::expect_equal(mean(censored$asl.inlier), 248.071606610979) testthat::expect_equal(censored$which.outliers, c(5L, 6L))