Learn R Programming

dcemriS4 (version 0.55)

dcemri.map: Pharmacokinetic Modeling of Dynamic Contrast-Enhanced MRI Data

Description

Maximum-a-posteriori (MAP) estimation for single compartment models is performed using literature-based or user-specified arterial input functions.

Usage

dcemri.map(conc, ...)

# S4 method for array dcemri.map(conc, time, img.mask, model = "extended", aif = NULL, user = NULL, ab.ktrans = c(0, 1), ab.kep = ab.ktrans, ab.vp = c(1, 19), ab.tauepsilon = c(1, 1/1000), maxit = 5000, samples = FALSE, multicore = FALSE, verbose = FALSE, ...)

Arguments

conc

Matrix or array of concentration time series (last dimension must be time).

...

Additional parameters to the function.

time

Time in minutes.

img.mask

Mask matrix or array. Voxels with mask=0 will be excluded.

model

is a character string that identifies the type of compartmental model to be used. Acceptable models include:

“weinmann”

Tofts & Kermode AIF convolved with single compartment model

“extended”

Weinmann model extended with additional vascular compartment (default)

“orton.exp”

Extended model using Orton's exponential AIF

“kety.orton.exp”

Kety model using Orton's exponential AIF

“orton.cos”

Extended model using Orton's raised cosine AIF

“kety.orton.cos”

Kety model using Orton's raised cosine AIF

aif

is a character string that identifies the parameters of the type of arterial input function (AIF) used with the above model. Acceptable values are: tofts.kermode (default) or fritz.hansen for the weinmann and extended models; orton.exp (default) or user for the orton.exp model and orton.exp model; user for the orton.cos model and orton.cos model.

user

Vector of AIF parameters. For Tofts and Kermode: \(a_1\), \(m_1\), \(a_2\), \(m_2\); for Orton et al.: \(A_b\), \(\mu_b\), \(A_g\), \(\mu_g\).

ab.ktrans

Mean and variance parameter for Gaussian prior on \(\log(K^{trans})\).

ab.kep

Mean and variance parameter for Gaussian prior on \(\log(k_{ep})\).

ab.vp

Hyper-prior parameters for the Beta prior on \(v_p\).

ab.tauepsilon

Hyper-prior parameters for observation error Gamma prior.

maxit

The maximum number of iterations for the optimization procedure.

samples

If TRUE output includes samples drawn from the posterior distribution for all parameters.

multicore

If TRUE algorithm is parallelized using multicore.

verbose

Logical variable (default = FALSE) that allows text-based feedback during execution of the function.

Value

Parameter estimates and their standard errors are provided for the masked region of the multidimensional array. The multi-dimensional arrays are provided in nifti format.

They include:

ktrans

Transfer rate from plasma to the extracellular, extravascular space (EES).

kep

Rate parameter for transport from the EES to plasma.

ve

Fractional occupancy by EES (the ratio between ktrans and kep).

vp

Fractional occupancy by plasma.

sigma2

The residual sum-of-squares from the model fit.

time

Acquisition times (for plotting purposes).

Note, not all parameters are available under all models choices.

Details

Implements maximum a posteriori (MAP) estimation for the Bayesian model in Schmid et al. (2006).

References

Schmid, V., Whitcher, B., Padhani, A.R., Taylor, N.J. and Yang, G.-Z. (2006) Bayesian methods for pharmacokinetic models in dynamic contrast-enhanced magnetic resonance imaging, IEEE Transactions on Medical Imaging, 25 (12), 1627-1636.

See Also

dcemri.lm, dcemri.bayes

Examples

Run this code
# NOT RUN {
data("buckley")
xi <- seq(5, 300, by=5)
img <- array(t(breast$data)[,xi], c(13,1,1,60))
mask <- array(TRUE, dim(img)[1:3])
time <- buckley$time.min[xi]

## MAP estimation with extended Kety model and Fritz-Hansen default AIF
fit.map.vp <- dcemri.map(img, time, mask, aif="fritz.hansen")
## Nonlinear regression with extended Kety model and Fritz-Hansen default AIF
fit.lm.vp <- dcemri.lm(img, time, mask, aif="fritz.hansen")

plot(breast$ktrans, fit.map.vp$ktrans, xlim=c(0,1), ylim=c(0,1),
     xlab=expression(paste("True ", K^{trans})),
     ylab=expression(paste("Estimated ", K^{trans})))
points(breast$ktrans, fit.lm.vp$ktrans, pch=3)
abline(0, 1, lwd=2, col=2)
legend("bottomright", c("MAP Estimation (fritz.hansen)",
                        "Levenburg-Marquardt (fritz.hansen)"), pch=c(1,3))

## MAP estimation with Kety model and Fritz-Hansen default AIF
fit.map <- dcemri.map(img, time, mask, model="weinmann", aif="fritz.hansen")
## Nonlinear regression with Kety model and Fritz-Hansen default AIF
fit.lm <- dcemri.lm(img, time, mask, model="weinmann", aif="fritz.hansen")

cbind(breast$kep, fit.lm$kep[,,1], fit.lm.vp$kep[,,1], fit.map$kep[,,1],
      fit.map.vp$kep[,,1])
cbind(breast$ktrans, fit.lm$ktrans[,,1], fit.lm.vp$ktrans[,,1],
      fit.map$ktrans[,,1], fit.map.vp$ktrans[,,1])
# }

Run the code above in your browser using DataLab