Computes analysis of variance tables for a generalized Additive Model on all voxels of a NIfTI image within a mask.

Share:

Description

This function computes analysis of variance tables for the fitted models after running a Generalized Additive Model (from mgcv::gam). The analysis will run in all voxels in the mask and will return the analysis of variance table for each voxel. Please check anova::gam to learn more about the function of the arguments that are passed to anova.gam. Multi-model calls are disabled.

Usage

1
2
3
anovagamVoxel(image, mask, fourdOut = NULL, formula, subjData,
  dispersion = NULL, freq = FALSE, p.type = 0, mc.preschedule = TRUE,
  ncores = 1, ...)

Arguments

image

Input image of type 'nifti' or vector of path(s) to images. If multiple paths, the script will call mergeNifti() and merge across time.

mask

Input mask of type 'nifti' or path to mask. Must be a binary mask

fourdOut

To be passed to mergeNifti, This is the path and file name without the suffix to save the fourd file. Default (NULL) means script won't write out 4D image.

formula

Must be a formula passed to gam()

subjData

Dataframe containing all the covariates used for the analysis

dispersion

To be passed to mgcv::anova.gam, Defaults to NULL. Dispersion Parameter, not normally used.

freq

To be passed to mgcv::anova.gam, Defaults to FALSE. Frequentist or Bayesian approximations for p-values

p.type

To be passed to mgcv::anova.gam, Defaults to 0. Exact test statistics o use for smooth terms.

mc.preschedule

Argument to be passed to mclapply, whether or not to preschedule the jobs. More info in parallel::mclapply

ncores

Number of cores to use

...

Additional arguments passed to gam()

Value

List of models fitted to each voxel over the masked images passed to function.

Examples

1
2
3
4
5
6
7
image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y=runif(25))
fm1 <- "~ s(x) + y"
models <- anovagamVoxel(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.