estimateESTATICS.Rd
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)
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. |
list with components
Estimated parameter maps
map of inverse covariance matrices
map of residual standard deviations
convergence indicator map
logical map indicating where R2star==maxR2star
.
image dimension
number of images
vector of T1 filenames
vector of PD filenames
vector of MT filenames
model used (depends on specification of MT files)
filename of brain mask
brain mask
sigma
L
TR values
TE values
Flip angles (FA)
TEScale
dataScale
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, K. Tabelow (2019). Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R. Springer, Use R! series. Doi:10.1007/978-3-030-29184-6.
Karsten Tabelow tabelow@wias-berlin.de
J\"org Polzehl polzehl@wias-berlin.de
# \donttest{
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")
#> Design of the model:
#> [,1] [,2] [,3] [,4]
#> [1,] 1 0 0 0.023
#> [2,] 1 0 0 0.046
#> [3,] 1 0 0 0.069
#> [4,] 1 0 0 0.092
#> [5,] 1 0 0 0.115
#> [6,] 1 0 0 0.138
#> [7,] 1 0 0 0.161
#> [8,] 1 0 0 0.184
#> [9,] 0 1 0 0.023
#> [10,] 0 1 0 0.046
#> [11,] 0 1 0 0.069
#> [12,] 0 1 0 0.092
#> [13,] 0 1 0 0.115
#> [14,] 0 1 0 0.138
#> [15,] 0 0 1 0.023
#> [16,] 0 0 1 0.046
#> [17,] 0 0 1 0.069
#> [18,] 0 0 1 0.092
#> [19,] 0 0 1 0.115
#> [20,] 0 0 1 0.138
#> [21,] 0 0 1 0.161
#> [22,] 0 0 1 0.184
#> done
#> Start estimation in 1600 voxel at 2021-05-17 15:22:15
#>
|
| | 0%
|
|============================================ | 62%
#> Finished estimation 2021-05-17 15:22:18
# Alternatively using Quasi-Likelihood
sigma <- 50
modelMPMQL <- estimateESTATICS(mpm, method = "QL",
sigma = array(sigma,mpm$sdim), L = 1)
#> Design of the model:
#> [,1] [,2] [,3] [,4]
#> [1,] 1 0 0 0.023
#> [2,] 1 0 0 0.046
#> [3,] 1 0 0 0.069
#> [4,] 1 0 0 0.092
#> [5,] 1 0 0 0.115
#> [6,] 1 0 0 0.138
#> [7,] 1 0 0 0.161
#> [8,] 1 0 0 0.184
#> [9,] 0 1 0 0.023
#> [10,] 0 1 0 0.046
#> [11,] 0 1 0 0.069
#> [12,] 0 1 0 0.092
#> [13,] 0 1 0 0.115
#> [14,] 0 1 0 0.138
#> [15,] 0 0 1 0.023
#> [16,] 0 0 1 0.046
#> [17,] 0 0 1 0.069
#> [18,] 0 0 1 0.092
#> [19,] 0 0 1 0.115
#> [20,] 0 0 1 0.138
#> [21,] 0 0 1 0.161
#> [22,] 0 0 1 0.184
#> done
#> Start estimation in 1600 voxel at 2021-05-17 15:22:18
#>
|
| | 0%
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#> Warning: step factor 0.000488281 reduced below 'minFactor' of 0.000976562
#>
|
|============================================ | 62%
#> Finished estimation 2021-05-17 15:22:21
# }