Loganplot: Logan Plot

View source: R/kinfitr_loganplot.R

LoganplotR Documentation

Logan Plot

Description

Function to fit the Logan Plot to data.

Usage

Loganplot(
  t_tac,
  tac,
  input,
  tstarIncludedFrames,
  weights = NULL,
  inpshift = 0,
  vB = 0,
  dur = NULL,
  frameStartEnd = NULL
)

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.

tac

Numeric vector of radioactivity concentrations in the target tissue for each frame. We include zero at time zero: if not included, it is added.

input

Data frame containing the blood, plasma, and parent fraction concentrations over time. This can be generated using the blood_interp function.

tstarIncludedFrames

The number of frames to be used in the regression model, i.e. the number of frames for which the function is linear after pseudo-equilibrium is reached. This is a count from the end of the measurement, so a value of 10 means that last 10 frames will be used. This value can be estimated using Logan_tstar.

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.

inpshift

Optional. The number of minutes by which to shift the timing of the input data frame forwards or backwards. If not specified, this will be set to 0. This can be fitted using 1TCM or 2TCM.

vB

Optional. The blood volume fraction. If not specified, this will be ignored and assumed to be 0 prior to parameter estimation using the following equation:

C_{T}(t) = \frac{C_{Measured}(t) - vB\times C_{B}(t)}{1-vB}

dur

Optional. Numeric vector of the time durations of the frames. If not included, the integrals will be calculated using trapezoidal integration.

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.

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, a dataframe containing the TACs of the data out$tacs, a dataframe containing the fitted values out$fitvals, the blood input data frame after time shifting input, a vector of the weights out$weights, the inpshift value used inpshift, the specified vB value out$vB and the specified tstarIncludedFrames value out$tstarIncludedFrames.

Author(s)

Granville J Matheson, mathesong@gmail.com

References

Logan J, Fowler JS, Volkow ND, Wolf AP, Dewey SL, Schlyer DJ, MacGregor RR, Hitzemann R, Bendriem B, Gatley SJ, Christman DR. Graphical Analysis of Reversible Radioligand Binding from Time-Activity Measurements Applied to N-11C-Methyl-(-)-Cocaine PET Studies in Human Subjects. Journal of Cerebral Blood Flow & Metabolism. 1990 Sep 1;10(5):740-7.

Examples


data(pbr28)

t_tac <- pbr28$tacs[[2]]$Times / 60
tac <- pbr28$tacs[[2]]$FC
weights <- pbr28$tacs[[2]]$Weights
dur <- pbr28$tacs[[2]]$Duration/60

input <- blood_interp(
  pbr28$procblood[[2]]$Time / 60, pbr28$procblood[[2]]$Cbl_dispcorr,
  pbr28$procblood[[2]]$Time / 60, pbr28$procblood[[2]]$Cpl_metabcorr,
  t_parentfrac = 1, parentfrac = 1
)

fit1 <- Loganplot(t_tac, tac, input, 10, weights)
fit2 <- Loganplot(t_tac, tac, input, 10, weights, inpshift = 0.1, vB = 0.05)
fit3 <- Loganplot(t_tac, tac, input, 10, weights, inpshift = 0.1, vB = 0.05, dur = dur)

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