Learn R Programming

AnalyzeFMRI (version 1.1-24)

Sim.3D.GRF: Simulate a GRF

Description

Simulates a Gaussian Random Field with specified dimensions and covariance structure.

Usage

Sim.3D.GRF(d, voxdim, sigma, ksize, mask = NULL, type = c("field", "max"))

Arguments

d

A vector specifying the dimensions of a 3D or 4D array.

voxdim

The dimensions of each voxel.

sigma

The 3D covariance matrix of the field.

ksize

The size (in voxels) of the kernel with which to filter the independent field.

mask

A 3D mask for the field.

type

If type == "field" then the simulated field together with the maximum of the field is returned. If type == "max" then the maximum of the field is returned.

Value

mat

Contains the simulated field if type == "field", else NULL

max

The maximum value of the simulated field.

Details

The function works by simulating a Gaussian r.v at each voxel location and then smoothing the field with a discrete filter to obtain a field with the desired covariance structure.

See Also

GaussSmoothArray,GaussSmoothKernel

Examples

Run this code
# NOT RUN {
d <- c(64, 64, 21)
FWHM <- 9
sigma <- diag(FWHM^2, 3) / (8 * log(2))
voxdim <- c(2, 2, 4)
msk <- array(1, dim = d)

field <- Sim.3D.GRF(d = d, voxdim = voxdim, sigma = sigma, ksize = 9, mask = msk, type = "max")

# }

Run the code above in your browser using DataLab