View source: R/kinfitr_srtm_v.R
srtm_v | R Documentation |
Function to fit the SRTM_V model of Tomasi et al (2008) to data.
srtm_v(
t_tac,
reftac,
roitac,
bloodtac,
weights = NULL,
vBr = NULL,
frameStartEnd = NULL,
R1.start = 1,
R1.lower = 1e-04,
R1.upper = 10,
k2.start = 0.1,
k2.lower = 1e-04,
k2.upper = 1,
bp.start = 1.5,
bp.lower = 0,
bp.upper = 15,
vBr.start = 0.05,
vBr.lower = 1e-04,
vBr.upper = 0.15,
vBt.start = 0.05,
vBt.lower = 1e-04,
vBt.upper = 0.15,
multstart_iter = 1,
multstart_lower = NULL,
multstart_upper = NULL,
printvals = F
)
t_tac |
Numeric vector of times for each frame in minutes. We use the time halfway through the frame as well as a zero. If a time zero frame is not included, it will be added. |
reftac |
Numeric vector of radioactivity concentrations in the reference tissue for each frame. We include zero at time zero: if not included, it is added. |
roitac |
Numeric vector of radioactivity concentrations in the target tissue for each frame. We include zero at time zero: if not included, it is added. |
bloodtac |
Numeric vector of radioactivity concentrations in the blood for each frame. We include zero at time zero: if not included, it is added. |
weights |
Optional. Numeric vector of the weights assigned to each frame in the fitting. We include zero at time zero: if not included, it is added. If not specified, uniform weights will be used. |
vBr |
Optional. The blood volume fraction of the reference region. If not specified, this will be fitted. This parameter was fixed in the original article. |
frameStartEnd |
Optional. This allows one to specify the beginning and final frame to use for modelling, e.g. c(1,20). This is to assess time stability. |
R1.start |
Optional. Starting parameter for fitting of R1. Default is 1. |
R1.lower |
Optional. Lower bound for the fitting of R1. Default is 0.0001. |
R1.upper |
Optional. Upper bound for the fitting of R1. Default is 10. |
k2.start |
Optional. Starting parameter for fitting of k2. Default is 0.1. |
k2.lower |
Optional. Lower bound for the fitting of k2. Default is 0.0001. |
k2.upper |
Optional. Upper bound for the fitting of k2. Default is 1. |
bp.start |
Optional. Starting parameter for fitting of bp. Default is 1.5. |
bp.lower |
Optional. Lower bound for the fitting of bp. Default is -10. |
bp.upper |
Optional. Upper bound for the fitting of bp. Default is 15. |
vBr.start |
Optional. Starting parameter for fitting of vBr. Default is 0.05. |
vBr.lower |
Optional. Lower bound for the fitting of vBr. Default is 0.0001. |
vBr.upper |
Optional. Upper bound for the fitting of vBr. Default is 0.15. |
vBt.start |
Optional. Starting parameter for fitting of vBt. Default is 0.05. |
vBt.lower |
Optional. Lower bound for the fitting of vBt. Default is 0.0001. |
vBt.upper |
Optional. Upper bound for the fitting of vBt. Default is 0.15. |
multstart_iter |
Number of iterations for starting parameters. Default
is 1. For more information, see |
multstart_lower |
Optional. Lower bounds for starting parameters. Defaults to the lower bounds. Named list of whichever parameters' starting bounds should be altered. |
multstart_upper |
Optional. Upper bounds for starting parameters. Defaults to the upper bounds. Named list of whichever parameters' starting bounds should be altered. |
printvals |
Optional. This displays the parameter values for each iteration of the model. This is useful for debugging and changing starting values and upper and lower bounds for parameters. |
A list with a data frame of the fitted parameters out$par
,
their percentage standard errors (scaled so that 1 represents 100%)
out$par.se
, the model fit object out$fit
, the model weights
out$weights
, and a dataframe containing the TACs both of the data
and the fitted values out$tacs
.
Granville J Matheson, mathesong@gmail.com
Tomasi, G., Edison, P., ... & Turkheimer, F. E. (2008). Novel reference region model reveals increased microglial and reduced vascular binding of 11C-(R)-PK11195 in patients with Alzheimer's disease. Journal of Nuclear Medicine, 49(8), 1249-1256.
# Note: Reference region models, and irreversible binding models, should not
# be used for PBR28 - this is just to demonstrate function
data(pbr28)
t_tac <- pbr28$tacs[[2]]$Times / 60
reftac <- pbr28$tacs[[2]]$CBL
roitac <- pbr28$tacs[[2]]$STR
weights <- pbr28$tacs[[2]]$Weights
input <- pbr28$input[[2]]
newvals <- shift_timings(
t_tac,
roitac,
input,
inpshift = 0
)
bloodtac <- pracma::interp1(newvals$input$Time, newvals$input$Blood, t_tac)
fit <- srtm_v(t_tac, reftac, roitac, bloodtac, weights)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.