Run a Linear Mixed Effects Model on all voxels of a NIfTI image within a mask and and return parametric coefficients tables
Run a Linear Mixed Effects Model on all voxels of a NIfTI image within a mask and and return parametric coefficients tables
This function is able to run a Linear Mixed Effect Model using the lmer() function. The analysis will run in all voxels in in the mask and will return the model fit for each voxel. The function relies on lmerTest to create p-values using the Satterthwaite Approximation.
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 lmer()
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 lmer()
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), id = rep(1:5,5))fm1 <-"~ x + (1|id)"models <- vlmerParam(image, mask, formula = fm1, subjData = covs, ncores =1)