srtm_v: Simplified Reference Tissue Model with Blood Volumes

View source: R/kinfitr_srtm_v.R

srtm_vR Documentation

Simplified Reference Tissue Model with Blood Volumes

Description

Function to fit the SRTM_V model of Tomasi et al (2008) to data.

Usage

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
)

Arguments

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 nls_multstart. If specified as 1 for any parameters, the original starting value will be used, and the multstart_lower and multstart_upper values ignored.

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.

Value

A list with a data frame of the fitted parameters out$par, their percentage standard errors 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.

Author(s)

Granville J Matheson, mathesong@gmail.com

References

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.

Examples


# 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)

mathesong/kinfitr documentation built on Jan. 15, 2024, 11:07 p.m.