aslCensoring.RdCensor 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))