estimateESTATICS {qMRI} | R Documentation |
Estimate parameters in the ESTATICS model.
Description
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.
Usage
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 |
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 |
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 |
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 |
verbose |
logical: Monitor process. |
Value
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 |
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'
Author(s)
Karsten Tabelow tabelow@wias-berlin.de
J\"org Polzehl polzehl@wias-berlin.de
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>.
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)