dcemri.bayes {dcemri} | R Documentation |
Bayesian analysis of contrast agent concentration time curves from DCE-MRI.
dcemri.bayes(conc, time, img.mask, model="extended", aif=NULL, user=NULL, nriters=3500, thin=3, burnin=500, tune=267, tau.ktrans=1, tau.kep=tau.ktrans, ab.vp=c(1,19), ab.tauepsilon=c(1,1/1000), samples=FALSE, multicore=FALSE, verbose=FALSE, ...) dcemri.bayes.single(conc, time, nriters=3500, thin=3, burnin=500, tune=267, tau.gamma=1, tau.theta=1, ab.vp=c(1,19), ab.tauepsilon=c(1,1/1000), aif.model=0, aif.parameter=c(2.4,0.62,3,0.016), vp=1)
conc |
Matrix or array of concentration time series (last dimension must be time). |
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:
|
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. |
user |
Vector of AIF parameters. For Tofts and Kermode: a_1, m_1, a_2, m_2; for Orton et al.: A_b, μ_b, A_g, μ_g. |
nriters |
Total number of iterations. |
thin |
Thining factor. |
burnin |
Number of iterations for burn-in. |
tune |
Number for iterations for tuning. The algorithm will be tuned to an acceptance rate between 0.3 and 0.6. |
tau.ktrans |
Variance parameter for prior on log(K^{trans}). |
tau.kep |
Variance parameter for prior on log(k_{ep}). |
ab.vp |
Hyper-prior parameters for the Beta prior on vp. |
ab.tauepsilon |
Hyper-prior parameters for observation error Gamma prior. |
samples |
If TRUE output includes samples drawn
from the posterior distribution for all parameters. |
multicore |
If TRUE algorithm is parallelized using
multicore. |
verbose |
|
tau.gamma |
|
tau.theta |
|
aif.model |
|
aif.parameter |
|
vp |
|
... |
See Schmid et al. (2006) for details.
Parameter estimates and their standard errors are provided for the masked region of the multidimensional array. They include
ktrans |
Transfer rate from plasma to the extracellular, extravascular space (EES). |
ktranserror |
Error on ktrans. |
kep |
Rate parameter for transport from the EES to plasma. |
keperror |
Error on kep. |
ve |
Fractional occupancy by EES (the ratio between ktrans and kep). |
vperror |
Error on ve. |
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.
Volker Schmid
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.
dcemri.lm
, dcemri.map
,
dcemri.spline
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] ## Bayesian estimation with Fritz-Hansen default AIF fit.bayes <- dcemri.bayes(img, time, mask, aif="fritz.hansen", nriters=1500) ## Bayesian estimation with "orton.exp" function fit to Buckley's AIF aif <- buckley$input[xi] aifparams <- orton.exp.lm(time, aif) aifparams$D <- 1 fit.bayes.aif <- dcemri.bayes(img, time, mask, model="orton.exp", aif="user", user=aifparams, nriters=1500) plot(breast$ktrans, fit.bayes$ktrans, xlim=c(0,1), ylim=c(0,1), xlab=expression(paste("True ", K^{trans})), ylab=expression(paste("Estimated ", K^{trans}, " (Bayesian)"))) points(breast$ktrans, fit.bayes.aif$ktrans, pch=2) abline(0, 1, lwd=1.5, col=2) legend("right", c("orton.exp", "fritz.hansen"), pch=1:2) cbind(breast$ktrans, fit.bayes$ktrans[,,1], fit.bayes.aif$ktrans[,,1]) ## Not run: fit.lm <- dcemri.lm(img, time, mask, aif="fritz.hansen") fit.lm.aif <- dcemri.lm(img, time, mask, model="orton.exp", aif="user", user=aifparams) plot(breast$ktrans, fit.bayes$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.bayes.aif$ktrans, pch=2) points(breast$ktrans, fit.lm$ktrans, pch=3) points(breast$ktrans, fit.lm.aif$ktrans, pch=4) abline(0, 1, lwd=1.5, col="red") legend("bottomright", c("Bayesian Estimation (fritz-hansen)", "Bayesian Estimation (orton.exp)", "Levenburg-Marquardt (fritz.hansen)", "Levenburg-Marquardt (orton.exp)"), pch=1:4) ## End(Not run)