estimateESTATICS function

Estimate parameters in the ESTATICS model.

Estimate parameters in the ESTATICS model.

Evaluation of the ESTATICS model (Weisskopf (2013) using nonlinear least squares regression and a quasi-likelihood approach assuming a noncentral chi- or a Rician distribuion for the data. The latter should be preferred in case of low SNR (high resolution) data to avoid biased parameter estimates. Quasi-likelihood estimation requires a specification of the scale parameter sigma of the data distribution.

estimateESTATICS(mpmdata, TEScale = 100, dataScale = 1000, method = c("NLR", "QL"), sigma = NULL, L = 1, maxR2star = 50, varest = c("RSS", "data"), verbose = TRUE)

Arguments

  • mpmdata: Object of class MPMData as created by readMPMData.
  • TEScale: scale factor for TE (used for improved numerical stability)
  • dataScale: scale factor for image intensities (used for improved numerical stability)
  • method: either "NLR" or "QL". Specifies non-linear regression or quasi-likelihood.
  • sigma: scale parameter sigma of signal distribution (either a scalar or a 3D array). (only needed in case of method="QL".)
  • L: effective number of receiver coils (2*L is degrees of freedom of the signal distribution). L=1 for Rician distribution. (only needed in case of method="QL".)
  • maxR2star: maximum value allowed for the R2star parameter in the ESTATICS model.
  • varest: For parameter covariance estimation use either residual sum of squares (RSS) or estimate variances for T1, MT (is available) and PD from higest intensity images using function awsLocalSigmafrom package aws.
  • verbose: logical: Monitor process.

Returns

list with components - modelCoeff: Estimated parameter maps

  • invCov: map of inverse covariance matrices

  • rsigma: map of residual standard deviations

  • isConv: convergence indicator map

  • isThresh: logical map indicating where R2star==maxR2star.

  • sdim: image dimension

  • nFiles: number of images

  • t1Files: vector of T1 filenames

  • pdFiles: vector of PD filenames

  • mtFiles: vector of MT filenames

  • model: model used (depends on specification of MT files)

  • maskFile: filename of brain mask

  • mask: brain mask

  • sigma: sigma

  • L: L

  • TR: TR values

  • TE: TE values

  • FA: Flip angles (FA)

  • TEScale: TEScale

  • dataScale: dataScale

and class-attribute 'ESTATICSModel'

References

Weiskopf, N.; Suckling, J.; Williams, G.; Correia, M. M.; Inkster, B.; Tait, R.; Ooi, C.; Bullmore, E. T. & Lutti, A. Quantitative multi-parameter mapping of R1, PD(), MT, and R2() at 3T: a multi-center validation. Front Neurosci, Wellcome Trust Centre for Neuroimaging, UCL Institute of Neurology, University College London, UK., 2013, 7, 95

J. Polzehl and K. Tabelow (2023), Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R, 2nd Edition, Chapter 6, Springer, Use R! Series. doi:10.1007/978-3-031-38949-8_6.

J. Polzehl and K. Tabelow (2023), Magnetic Resonance Brain Imaging - Modeling and Data Analysis Using R: Code and Data. doi:10.20347/WIAS.DATA.6.

Author(s)

Karsten Tabelow tabelow@wias-berlin.de

J"org Polzehl polzehl@wias-berlin.de

See Also

readMPMData, calculateQI, smoothESTATICS, writeESTATICS, awsLocalSigma

Examples

dataDir <- system.file("extdata",package="qMRI") # # set file names for T1w, MTw and PDw images # t1Names <- paste0("t1w_",1:8,".nii.gz") mtNames <- paste0("mtw_",1:6,".nii.gz") pdNames <- paste0("pdw_",1:8,".nii.gz") t1Files <- file.path(dataDir, t1Names) mtFiles <- file.path(dataDir, mtNames) pdFiles <- file.path(dataDir, pdNames) # # file names of mask and B1 field map # B1File <- file.path(dataDir, "B1map.nii.gz") maskFile <- file.path(dataDir, "mask0.nii.gz") # # Acquisition parameters (TE, TR, Flip Angle) for T1w, MTw and PDw images # TE <- c(2.3, 4.6, 6.9, 9.2, 11.5, 13.8, 16.1, 18.4, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8, 16.1, 18.4) TR <- rep(25, 22) FA <- c(rep(21, 8), rep(6, 6), rep(6, 8)) # # read MPM example data # library(qMRI) mpm <- readMPMData(t1Files, pdFiles, mtFiles, maskFile, TR = TR, TE = TE, FA = FA, verbose = FALSE) # # Estimate Parameters in the ESTATICS model # modelMPM <- estimateESTATICS(mpm, method = "NLR") # Alternatively using Quasi-Likelihood sigma <- 50 modelMPMQL <- estimateESTATICS(mpm, method = "QL", sigma = array(sigma,mpm$sdim), L = 1)