Title: Mass-Univariate Voxelwise Analysis of Medical Imaging Data
Version: 1.3.5
Description: Functions for the mass-univariate voxelwise analysis of medical imaging data that follows the NIfTI http://nifti.nimh.nih.gov format.
Depends: R (≥ 3.2.3), lmerTest(≥ 3.0-1)
License: GPL-2
URL: https://github.com/angelgar/voxel
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.0.1
Imports: parallel,stats,mgcv,gamm4,oro.nifti,ggplot2,methods,purrr
NeedsCompilation: no
Packaged: 2018-06-25 19:22:03 UTC; angelgarciadelagarza
Author: Angel Garcia de la Garza [aut, cre], Simon Vandekar [aut], David Roalf [aut], Kosha Ruparel [aut], Ruben Gur [aut], Raquel Gur [aut], Theodore Satterthwaite [aut], R. Taki Shinohara [aut]
Maintainer: Angel Garcia de la Garza <agarciadlg@gmail.com>
Repository: CRAN
Date/Publication: 2018-06-26 04:38:20 UTC

Computes voxelwise analysis of variance (ANOVA) tables for a Generalized Additive Model.

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 the mgcv::anova.gam documentation for further information about specific arguments used in anova.gam. Multi-model calls are disabled.

Usage

anovagamVoxel(image, mask, fourdOut = NULL, formula, subjData,
  dispersion = NULL, freq = FALSE, 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

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

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

Examples

image <- oro.nifti::nifti(img = array(1:200, dim =c(2,2,2,25)))
mask <- oro.nifti::nifti(img = array(0:1, dim = c(2,2,2,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)

Computes voxelwise analysis of variance (ANOVA) tables for a Generalized Additive Mixed Effects Model.

Description

This function computes analysis of variance tables for the fitted Generalized Additive Mixed Effects (from gamm4::gamm4) models. The analysis will run in all voxels in the specified mask and will return a list with the ANOVA table at each voxel. Please check the mgcv::anova.gam documentation for further information about specific arguments used in anova.gam. Multi-model calls are disabled.

Usage

anovagammVoxel(image, mask, fourdOut = NULL, formula, randomFormula, subjData,
  dispersion = NULL, freq = FALSE, 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.

fourdOut

To be passed to mergeNifti, This is the output path to write out the fourd file. Do not include a suffix (i.e. .nii.gz). 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

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

mc.preschedule

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()

Value

Returns list of models 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(data = c(rep(0,15), rep(1,1)),
                                     dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y=runif(25), id = rep(1:5,5))
f1 <- "~ s(x) + y"
randomFormula <- "~(1|id)"
models <- anovagammVoxel(image, mask, formula = f1,
                              randomFormula = randomFormula,
                              subjData = covs, ncores = 1, REML=TRUE)

Computes voxelwise analysis of variance (ANOVA) tables for a Linear Model.

Description

This function computes analysis of variance tables for the fitted models after running a Linear Model using the stats::lm() function. The analysis will run in all voxels in the mask and will return the analysis of variance table for each voxel. Please check the stats documentation for further information about specific arguments used in stats::anova.lm(). Multi-model calls are disabled.

Usage

anovalmVoxel(image, mask, fourdOut = NULL, formula, 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 lm()

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 lm()

Value

Returns list of models 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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y=runif(25))
fm1 <- "~ x + y"
models <- anovalmVoxel(image=image, mask=mask,
              formula=fm1, subjData=covs, ncores = 1)

Computes voxelwise analysis of variance (ANOVA) tables for a Linear Mixed Effects Model.

Description

This function computes analysis of variance tables for the fitted models after running a Linear Mixed Effect Model using the lmerTest() function and the anova function in that package. The analysis will run in all voxels in the mask and will return the analysis of variance table for each voxel. Please check the lmerTest documentation for further information about specific arguments used in anova.lmerModLmerTest. Multi-model calls are disabled.

Usage

anovalmerVoxel(image, mask, fourdOut = NULL, formula, subjData,
  ddf = "Satterthwaite", type = 3, 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 lmer()

subjData

Dataframe containing all the covariates used for the analysis

ddf

Which approximation of DDF to be used. To be passed to anova.lmerModLmerTest. Defaults to "Satterthwaite"

type

Type of hypothesis to be test (defined from SAS terminology). Defaults to 3. To be passed to anova.lmerModLmerTest

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()

Value

Returns list of models 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), rep(1,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 <- "~ x + y + (1|id)"
models <- anovalmerVoxel(image, mask, formula = fm1, subjData = covs, ncores = 1, REML=TRUE)


Run a Generalized Additive Model on the mean intensity over a region of interest

Description

This function is able to run a Generalized Additive Model (GAM) using the mgcv package. All clusters must be labeled with integers in the mask passed as an argument.

Usage

gamCluster(image, mask, fourdOut = NULL, formula, 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 call mergeNiftis() and merge across time.

mask

Input mask of type 'nifti' or path to mask. All clusters must be labeled with integers in the mask passed as an argument

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

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 for the analysis

...

Additional arguments passed to gam()

Value

Returns list of models fitted to the mean voxel intensity over region of interest.

Examples

image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(1:4, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25))
fm1 <- "~ s(x)"
models <- gamCluster(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1, method="REML")

Wrapper to run a Generalized Additive model on a NIfTI image and output parametric maps

Description

This function is able to run a Generalized Additive Model (GAM) using the mgcv package. The analysis will run in all voxels in in the mask and will return parametric and smooth coefficients. The function will create parametric maps according to the model selected. The function will return a p-map, t-map, z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. You can select which type of p-value correction you want done on the map.

Usage

gamNIfTI(image, mask, fourdOut = NULL, formula, subjData,
  mc.preschedule = TRUE, ncores = 1, method = "none", residual = FALSE,
  outDir = NULL, ...)

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

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

method

which method of correction for multiple comparisons (default is none)

residual

If set to TRUE then residuals maps will be returned along parametric maps

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

...

Additional arguments passed to gam()

Value

Parametric maps of the fitted models

Examples

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 = rnorm(25))
fm1 <- "~ x + s(y)"
Maps <- gamNIfTI(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1, method="fdr")

Generate FSL Randomise call for a GAM Model

Description

This function is able to generate all the necessary files to run randomise with a GAM Model This script will write out all design and contrast files This function will run a f-test to compare a full and reduced model (a model with and without spline)

Usage

gamRandomise(image, maskPath = NULL, formulaFull, formulaRed, subjData,
  outDir, nsim = 500, thresh = 0.01, run = FALSE)

Arguments

image

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

maskPath

to mask. Must be a binary mask

formulaFull

Must be the formula of the full model (i.e. "~s(age,k=5)+sex+mprage_antsCT_vol_TBV")

formulaRed

Must be the formula of the reduced model (i.e. "~sex+mprage_antsCT_vol_TBV")

subjData

Dataframe containing all the covariates used for the analysis

outDir

output directory for randomise

nsim

Number of simulations

thresh

significance threshold

run

FALSE will only print randomise command but won't it

Value

Return randomise command

Examples

## Not run: 

subjData = mgcv::gamSim(1,n=400,dist="normal",scale=2)
OutDirRoot="Output Directory"
maskName="Path to mask"
imagePath="Path to output"
covsFormula="~s(age,k=5)+sex+mprage_antsCT_vol_TBV"
redFormula="~sex+mprage_antsCT_vol_TBV"

gamRandomise(image = imagePath, maskPath = maskName, formulaFull = covsFormula, 
           formulaRed = redFormula, subjData = subjData, outDir = OutDirRoot)


## End(Not run)


Run a Generalized Additive Model on all voxels of a NIfTI image within a mask.

Description

This function is able to run a Generalized Additive Model (GAM) using the mgcv package. The analysis will run in all voxels in in the mask and will return the model fit for each voxel.

Usage

gamVoxel(image, mask, fourdOut = NULL, formula, 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 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

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

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))
fm1 <- "~ s(x)"
models <- gamVoxel(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)

Run a Generalized Additive Mixed Effects Model on the mean intensity over a region of interest

Description

This function is able to run a Generalized Additive Mixed Effects Model (GAMM) using the gamm4() function. All clusters or Regions of Interest must be labeled with integers in the mask passed as an argument.

Usage

gammCluster(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 call mergeNifti() and merge across time.

mask

Input mask of type 'nifti' or path to mask. All clusters must be labeled with integers in the mask passed as an argument

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 for the analysis

...

Additional arguments passed to gamm4()

Value

Returns list of models fitted to the mean voxel intensity a region or interest.

Examples



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

Wrapper to run a Generalized Additive Mixed Effects model on an Nifti and output a parametric map

Description

This function is able to run a Generalized Additive Model (GAMM) using the gamm4() function. The analysis will run in all voxels within the mask and will return parametric and smooth coefficients. The function will create parametric maps according to the model selected. The function will return a p-map, t-map, z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. You can select which type of p-value correction you want done on the map

Usage

gammNIfTI(image, mask, fourdOut = NULL, formula, randomFormula, subjData,
  mc.preschedule = TRUE, ncores = 1, method = "none", residual = FALSE,
  outDir = NULL, ...)

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 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

method

which method of correction for multiple comparisons (default is none)

residual

If set to TRUE then residuals maps will be returned along parametric maps

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

...

Additional arguments passed to gamm4()

Value

Returns Parametric maps of the fitted models over the NIfTI image

Examples


image <- oro.nifti::nifti(img = array(rnorm(1600, sd=10), dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(c(rep(0,14), rep(1,2)), 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)"
Maps <- gammNIfTI(image, mask, formula = fm1, 
                 randomFormula = randomFormula, subjData = covs, ncores = 1,
                 method="fdr", REML=TRUE)



Run a Generalized Additive Mixed Effects Model on all voxels of a NIfTI image within a mask.

Description

This function is able to run a Generalized Mixed Effects Model (GAMM) using the gamm4() function. The analysis will run in all voxels within the mask and will return the model fit for each voxel.

Usage

gammVoxel(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 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 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()

Value

Returns list of models 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,14),1), dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), id = rep(1:5,5))
fm1 <- "~ s(x)"
randomFormula <- "~(1|id)"
models <- gammVoxel(image = image , mask = mask, formula = fm1, randomFormula = randomFormula, 
                                                       subjData = covs, ncores = 1, REML=TRUE)


Create list of Formulas for each voxel

Description

This function is internal. This function creates list of formulas that will be passed for analysis.

Usage

listFormula(x, formula)

Arguments

x

Index of voxels to be analyzed

formula

covariates to be included in the analysis

Examples



x <- 1
fm1 <- "~ x1"
formula <- listFormula(x, formula = fm1)

Run a Linear Model on the mean intensity over a region of interest

Description

This function is able to run a Linear Model using the stats package. All clusters must be labeled with integers in the mask passed as an argument.

Usage

lmCluster(image, mask, fourdOut = NULL, formula, 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 call mergeNifti() and merge across time.

mask

Input mask of type 'nifti' or path to mask. All clusters must be labeled with integers in the mask passed as an argument

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 lm()

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 lm()

Value

Returns list of models fitted to the mean voxel intensity a region or interest.

Examples

image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(1:4, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25))
fm1 <- "~ x"
models <- lmCluster(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)

Wrapper to run a model on a NIfTI image and output parametric maps

Description

This function is able to run a Linear Model using the stats package. The analysis will run in all voxels in in the mask and will return parametric coefficients. The function will create parametric maps according to the model selected. The function will return a p-map, t-map, z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. You can select which type of p-value correction you want done on the map.

Usage

lmNIfTI(image, mask, fourdOut = NULL, formula, subjData,
  mc.preschedule = TRUE, ncores = 1, method = "none", residual = FALSE,
  outDir = NULL, ...)

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 lm()

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

method

which method of correction for multiple comparisons (default is none)

residual

If set to TRUE then residuals maps will be returned along parametric maps

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

...

Additional arguments passed to lm()

Value

Return parametric maps of the fitted models

Examples

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 <- "~ x + y"
Maps <- lmNIfTI(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1, method="fdr")

Run a Linear Model on all voxels of a NIfTI image within a mask.

Description

This function is able to run a Linear Model using the stats package. The analysis will run in all voxels in in the mask and will return the model fit for each voxel.

Usage

lmVoxel(image, mask, fourdOut = NULL, formula, 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 lm()

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 lm()

Value

Returns list of models 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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25))
fm1 <- "~ x"
models <- lmVoxel(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)

Run a Linear Mixed Effects Model on the mean intensity over a region of interest

Description

This function is able to run a LME using the lmer() function. All clusters or region of interest must be labeled with integers in the mask passed as an argument. The function relies on lmerTest to create p-values using the Satterthwaite Approximation.

Usage

lmerCluster(image, mask, fourdOut = NULL, formula, 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 call mergeNifti() and merge across time.

mask

Input mask of type 'nifti' or path to mask. All clusters must be labeled with integers in the mask passed as an argument

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()

Value

Returns list of models fitted to the mean voxel intensity a region or interest.

Examples



image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(c(rep(0,14),1,2), 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 <- lmerCluster(image, mask, formula = fm1, subjData = covs, ncores = 1, REML=TRUE)


Run a Linear Mixed Effects Model on a NIfTI image and output a parametric maps

Description

This function is able to run a Linear Mixed Effect Model using the lmer() function. The function relies on lmerTest to create p-values using the Satterthwaite Approximation. The analysis will run in all voxels in in the mask and will return parametric coefficients. The function will create parametric maps according to the model selected. The function will return a p-map, t-map, z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. You can select which type of p-value correction you want done on the map.

Usage

lmerNIfTI(image, mask, fourdOut = NULL, formula, subjData,
  mc.preschedule = TRUE, ncores = 1, method = "none", residual = FALSE,
  outDir = NULL, ...)

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 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

method

which method of correction for multiple comparisons (default is none)

residual

If set to TRUE then residuals maps will be returned along parametric maps

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

...

Additional arguments passed to lmer()

Value

Returns parametric maps of the fitted models

Examples



image <- oro.nifti::nifti(img = array(1:1600, dim =c(4,4,4,25)))
mask <- oro.nifti::nifti(img = array(c(rep(0,14),1,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)"
Maps <- lmerNIfTI(image, mask, formula = fm1, subjData = covs, method="fdr", ncores = 1)


Run a Linear Mixed Effects Model on all voxels of a NIfTI image within a mask.

Description

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 parametric coefficients at each voxel The function relies on lmerTest to create p-values using the Satterthwaite Approximation.

Usage

lmerVoxel(image, mask, fourdOut = NULL, formula = NULL, 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 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 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()

Value

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

Examples

## Not run: 

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), id = rep(1:5,5))
fm1 <- "~ x + (1|id)"
models <- lmerVoxel(image, mask, formula = fm1, subjData = covs, ncores = 1, REML=T)

## End(Not run)

Merge NIfTI Images across specified direction

Description

This function merges nifti images together in a specified direction.

Usage

mergeNiftis(inputPaths, direction = c("x", "y", "z", "t"), outfile = NULL,
  ncores = 1, ...)

Arguments

inputPaths

This is a vector of input filenames (character)

direction

This is the direction you want to merge your image over, x, y, z, or t

outfile

This is the path and file name to save the Nifti file without the suffix, passed to writeNIfTI

ncores

Number of cores to be used for this operation

...

Additional arguments passed to readNIfTI

Value

Returns a merged NIfTI image


Create parametric maps

Description

This function create parametric maps according from model parametric tables or analysis of variance tables. The function will return a p-map, t-map, signed z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. Additionally the function will return a p-map, F-map, p-to-z-map, and p-adjusted-map if the input is ANOVA. You can select which type of p-value correction you want done on the map. The z-maps are signed just like FSL.

Usage

parMap(parameters, mask, method = "none", outDir = NULL)

Arguments

parameters

list of parametric and smooth table coefficients or ANOVA (like the output from vlmParam, vgamParam, anovalmVoxel)

mask

Input mask of type 'nifti' or path to one. Must be a binary mask or a character. Must match the mask passed to one of vlmParam, vgamParam, vgamm4Param, vlmerParam

method

which method of correction for multiple comparisons (default is none)

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

Value

Return parametric maps of the fitted models

Examples

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 <- "~ x + y"
models <- vlmParam(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)
Maps <- parMap(models, mask, method="fdr")

GAM plotting using ggplot2

Description

GAM plotting using ggplot2

Usage

plotGAM(gamFit, smooth.cov, groupCovs = NULL, orderedAsFactor = T,
  rawOrFitted = F, plotCI = T)

Arguments

gamFit

fitted gam model as produced by mgcv::gam()

smooth.cov

(character) name of smooth term to be plotted

groupCovs

(character) name of group variable to plot by, if NULL (default) then there are no groups in plot

orderedAsFactor

if TRUE then the model is refitted with ordered variables as factors.

rawOrFitted

If FALSE (default) then only smooth terms are plotted; if rawOrFitted = "raw" then raw values are plotted against smooth; if rawOrFitted = "fitted" then fitted values are plotted against smooth

plotCI

if TRUE (default) upper and lower confidence intervals are added at 2 standard errors above and below the mean

Value

Returns a ggplot object that can be visualized using the print() function

See Also

Other Plotting: plotGAMM

Examples


data <- data.frame(x = rep(1:20, 2), group = rep(1:2, each = 20))
set.seed(1)
data$y <- (data$x^2)*data$group*3 + rnorm(40, sd = 200)
data$group <- ordered(data$group)

gam <- mgcv::gam(y ~ s(x) + group, data=data)

plot1 <- plotGAM(gamFit = gam, smooth.cov = "x", groupCovs = NULL,
                  rawOrFitted = "raw", plotCI=TRUE, orderedAsFactor = FALSE)
gam <- mgcv::gam(y ~ s(x) + group + s(x, by=group), data=data)
plot2 <- plotGAM(gamFit = gam, smooth.cov = "x", groupCovs = "group",
                             rawOrFitted = "raw", orderedAsFactor = FALSE)

GAMM plotting using ggplot2

Description

GAMM plotting using ggplot2

Usage

plotGAMM(gammFit, smooth.cov, groupCovs = NULL, orderedAsFactor = F,
  rawOrFitted = F, plotCI = T, grouping = NULL)

Arguments

gammFit

fitted gam model as produced by gamm4::gamm()

smooth.cov

(character) name of smooth term to be plotted

groupCovs

(character) name of group variable to plot by, if NULL (default) then there are no groups in plot

orderedAsFactor

Disabled

rawOrFitted

If FALSE (default) then only smooth terms are plotted; if rawOrFitted = "raw" then raw values are plotted against smooth; if rawOrFitted = "fitted" then fitted values are plotted against smooth

plotCI

if TRUE (default) upper and lower confidence intervals are added at 2 standard errors above and below the mean

grouping

(character) Name of variable that you want to use as the group argument in ggplot2::aes(), useful for better visualization of longitudinal data, (default is NULL)

Value

Returns a ggplot object that can be visualized using the print() function

See Also

Other Plotting: plotGAM

Examples


set.seed(1)
data <- data.frame(x = (seq(.25,25, .25) +rnorm(100)), group = rep(1:2, 5), z=rnorm(100),
              index.rnorm = rep(rnorm(50, sd = 50), 2), index.var = rep(1:50, 2))
data$y <- (data$x)*data$group*10 + rnorm(100, sd = 700) + data$index.rnorm + data$z
data$group <- ordered(data$group)


gamm <- gamm4::gamm4(y ~ + s(x) + s(x, by=group) + z + group, data=data, random = ~ (1|index.var))


plot <- plotGAMM(gammFit <- gamm, smooth.cov <- "x", groupCovs = "group",
                    plotCI <- T, rawOrFitted = "raw", grouping = "index.var")

plot2 <- plotGAMM(gammFit <- gamm, smooth.cov <- "x", groupCovs = "group",
                  plotCI <- T, rawOrFitted = "fitted", grouping = "index.var")

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

Description

This function is able to run a Generalized Additive Model (GAM) using the mgcv package. The analysis will run in all voxels in in the mask and will return parametric and smooth coefficients.

Usage

rgamParam(image, mask, fourdOut = NULL, formula, 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 gam()

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 gam()

Value

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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25))
fm1 <- "~ s(x)"
models <- rgamParam(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1, method="REML")

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

Description

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.

Usage

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()

Value

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)


Run a Linear Model on all voxels of a NIfTI and return parametric coefficients and residuals

Description

This function is able to run a Linear Model using the stats package. The analysis will run in all voxels in in the mask and will and will return parametric coefficients at each voxel.

Usage

rlmParam(image, mask, fourdOut = NULL, formula, 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 lm()

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 lm()

Value

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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y = runif(25))
fm1 <- "~ x + y"
models <- rlmParam(image=image, mask=mask, formula=fm1, subjData=covs, ncores = 1)

Run a Linear Mixed Effects Model on all voxels of a NIfTI image and return parametric coefficients and residuals

Description

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.

Usage

rlmerParam(image, mask, fourdOut = NULL, formula, 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 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()

Value

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 <- rlmerParam(image, mask, formula = fm1, subjData = covs, ncores = 1)


Create parametric maps and residuals

Description

This function create parametric maps according from model parametric tables or analysis of variance tables. The function will return a p-map, t-map, signed z-map, p-adjusted-map for parametric terms and p-map, z-map, p-adjusted-map for smooth terms. Additionally the function will return a p-map, F-map, p-to-z-map, and p-adjusted-map if the input is ANOVA. This function will return a residual map that can be used for cluster correction You can select which type of p-value correction you want done on the map. The z-maps are signed just like FSL.

Usage

rparMap(parameters, image, mask, method, ncores, mc.preschedule,
  outDir = NULL)

Arguments

parameters

list of parametric and smooth table coefficients or ANOVA (like the output from vlmParam, vgamParam, anovalmVoxel)

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 one. Must be a binary mask or a character. Must match the mask passed to one of vlmParam, vgamParam, vgamm4Param, vlmerParam

method

which method of correction for multiple comparisons (default is none)

ncores

Number of cores to use

mc.preschedule

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

outDir

Path to the folder where to output parametric maps (Default is Null, only change if you want to write maps out)

Value

Return parametric maps of the fitted models

Examples

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 <- "~ x + y"
models <- rlmParam(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1)
Maps <- rparMap(models, image, mask, method="fdr", ncores = 1, mc.preschedule=TRUE)

Timeseries to Matrix

Description

This function is able to mask a 4-Dimensional image and create a matrix from it. Each column represents the same voxel in the xyz array while the rows represent the t-dimension.

Usage

ts2matrix(image, mask)

Arguments

image

Input image of type 'nifti'

mask

Input mask of type 'nifti'. Must be a binary mask

Examples



image <- oro.nifti::nifti(img = array(1:64, dim =c(4,4,4,5)))
mask <- oro.nifti::nifti(img = array(0:1, dim = c(4,4,4)))
matrix <- ts2matrix(image, mask)

Timeseries to Mean Cluster

Description

This function is able to output the mean voxel intensity over a cluster. Each column represents a cluster and the rows represent the t-dimension.

Usage

ts2meanCluster(image, mask)

Arguments

image

Input image of type 'nifti'

mask

Input mask of type 'nifti'. Must have different clusters labeled as integers.

Examples



image <- oro.nifti::nifti(img = array(1:320, dim =c(4,4,4,5)))
mask <- oro.nifti::nifti(img = array(0:15, dim = c(4,4,4,1)))
matrix <- ts2meanCluster(image, mask)

Run a Generalized Additive Model on all voxels of a NIfTI image within a mask and return parametric and smooth coefficients tables

Description

This function is able to run a Generalized Additive Model (GAM) using the mgcv package. The analysis will run in all voxels in in the mask and will return parametric and smooth coefficients.

Usage

vgamParam(image, mask, fourdOut = NULL, formula, 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 gam()

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 gam()

Value

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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25))
fm1 <- "~ s(x)"
models <- vgamParam(image=image, mask=mask, 
              formula=fm1, subjData=covs, ncores = 1, method="REML")

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

Description

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.

Usage

vgamm4Param(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()

Value

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 <- vgamm4Param(image, mask, formula = fm1, 
                 randomFormula = randomFormula, subjData = covs, ncores = 1, REML=TRUE)


Run a Linear Model on all voxels of a NIfTI image within a mask and and return parametric coefficients tables

Description

This function is able to run a Linear Model using the stats package. The analysis will run in all voxels in in the mask and will and will return parametric coefficients at each voxel.

Usage

vlmParam(image, mask, fourdOut = NULL, formula, 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 lm()

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 lm()

Value

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(0:1, dim = c(4,4,4,1)))
set.seed(1)
covs <- data.frame(x = runif(25), y = runif(25))
fm1 <- "~ x + y"
models <- vlmParam(image=image, mask=mask, formula=fm1, subjData=covs, ncores = 1)

Run a Linear Mixed Effects Model on all voxels of a NIfTI image within a mask and and return parametric coefficients tables

Description

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.

Usage

vlmerParam(image, mask, fourdOut = NULL, formula, 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 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()

Value

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)