smooth3D
and medianFilter3D
are auxiliary functions for non-adaptive
smoothing of 3D image data using kernel or median smoothing. Both function restrict
to sub-areas determined by a mask. The functions are used in packages dti
and
qMRI
.
Functions aws3Dmask
and aws3Dmaskfull
perform adaptive weights smoothing on
statistical parametric maps in fMRI. Variability of results is determined from smoothed
(using the same weighting schemes) residuals in order to correctly account for spatial
correlation. These functions are intended to be used internally in package fmri
.
They have been moved here because they share significant parts of the
openMP parallelized Fortran code underlying function aws
.
smooth3D(y, h, mask, lkern = "Gaussian", weighted = FALSE, sigma2 = NULL,
wghts = NULL)
medianFilter3D(y, h = 10, mask = NULL)
aws3Dmask(y, mask, lambda, hmax, res = NULL, sigma2 = NULL, lkern = "Gaussian",
skern = "Plateau", weighted = TRUE, u = NULL, wghts = NULL,
h0 = c(0, 0, 0), testprop = FALSE)
aws3Dmaskfull(y, mask, lambda, hmax, res = NULL, sigma2 = NULL, lkern = "Gaussian",
skern = "Plateau", weighted = TRUE, u = NULL, wghts = NULL,
testprop = FALSE)
Functions smooth3D
and medianFilter3D
return a 3D array.
Functions awsmask*
return a list with smoothed values of y
in
component theta
and smoothed residuals in component res
.
3D array of data in case of functions smooth3D
and medianFilter3D
. For aws3Dmask*
with !is.null(mask)
a vector of length sum(mask)
containing only data values within the specified mask.
character: location kernel, either "Triangle", "Plateau", "Quadratic", "Cubic" or "Gaussian". The default "Triangle" is equivalent to using an Epanechnikov kernel, "Quadratic" and "Cubic" refer to a Bi-weight and Tri-weight kernel, see Fan and Gijbels (1996). "Gaussian" is a truncated (compact support) Gaussian kernel. This is included for comparisons only and should be avoided due to its large computational costs.
logical: use inverse variances as weights.
sigma2
allows to specify the variance of data entries.
optional logical mask, same dimensionality as y
bandwidth to use. In case of lkern="Gaussian"
this is in FWHM (full width half maximum) units.
Value refers to first voxel dimension.
voxel dimensions. Defaults to c(1,1,1)
kritical scale parameter in hypothesis testing (adaptive weights smoothing)
maximum bandwidth for adaptive weights smoothing
array of residuals with dimension c(nres,sum(mask))
.
skern
specifies the kernel for the statistical
penalty. Defaults to "Plateau", the alternatives are "Triangle" and "Exp".
"Plateau" specifies a kernel that is equal to 1 in the interval (0,.3),
decays linearly in (.3,1) and is 0 for arguments larger than 1.
lkern="Plateau"
and lkern="Triangle"
allow for much faster computation (saves up
to 50% CPU-time). lkern="Plateau"
produces a less random weighting scheme.
For test purposes in simulations: noisless 3D data.
Vector of 3 bandwidths corresponding to a Gaussian kernel that would produce a comparable spatial correlation by convoluting iid data.
logical: test the validity of a propagation condition for the specified value of lambda
.
Joerg Polzehl polzehl@wias-berlin.de, Karsten Tabelow tabelow@wias-berlin.de