rgamm4Param function

Run a Generalized Additive Mixed Effects Model on all voxels of a NIfTI image return coefficients and residuals

Run a Generalized Additive Mixed Effects Model on all voxels of a NIfTI image return coefficients and residuals

This function is able to run a Generalized Mixed Effects Model (GAMM) using the gamm4() function. The analysis will run in all voxels in in the mask and will return parametric and smooth coefficients.

rgamm4Param(image, mask, fourdOut = NULL, formula, randomFormula, subjData, 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 all 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 gamm4()
  • randomFormula: Random effects formula passed to gamm4()
  • subjData: Dataframe containing all the covariates used for the analysis
  • 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 gamm4()

Returns

Return list of parametric and spline coefficients (include standard errors and p-values) fitted to each voxel over the masked images passed to function.

Examples

image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25))) mask <- oro.nifti::nifti(img = array(c(rep(0,15), 1), dim = c(4,4,4,1))) set.seed(1) covs <- data.frame(x = runif(25), y = runif(25), id = rep(1:5,5)) fm1 <- "~ s(x) + s(y)" randomFormula <- "~(1|id)" models <- rgamm4Param(image, mask, formula = fm1, randomFormula = randomFormula, subjData = covs, ncores = 1, REML=TRUE)