Learn R Programming

AnalyzeFMRI (version 1.1-24)

GaussSmoothArray: Spatially smooth an array with Gaussian kernel.

Description

Applies a stationary Gaussian spatial smoothing kernel to a 3D or 4D array.

Usage

GaussSmoothArray(x, voxdim=c(1, 1, 1), ksize=5, sigma=diag(3, 3),
                 mask=NULL, var.norm=FALSE)

Arguments

x

The array to be smoothed.

voxdim

The dimensions of the volume elements (voxel) that make up the array.

ksize

The dimensions (in number of voxels) of the 3D discrete smoothing kernel used to smooth the array.

sigma

The covariance matrix of the 3D Gaussian smoothing kernel. This matrix doesn't have to be non-singular; zero on the diagonal of sigma indicate no smoothing in that direction.

mask

A 3D 0-1 mask that delimits where the smoothing occurs.

var.norm

Logical flag indicating whether to normalize the variance of the smoothed array.

Value

The smoothed array is returned.

See Also

GaussSmoothKernel

Examples

Run this code
# NOT RUN {
d <- c(10, 10, 10, 20)
mat <- array(rnorm(cumprod(d)[length(d)]), dim = d)
mat[, , 6:10, ] <- mat[, , 6:10, ] + 3
mask <- array(0, dim = d[1:3])
mask[3:8, 3:8, 3:8] <- 1
b <- GaussSmoothArray(mat, mask = mask, voxdim = c(1, 1, 1), ksize = 5, sigma = diag(1, 3))      
# }

Run the code above in your browser using DataLab