Version: 0.2.7
Date: 2022-08-19
Title: Rigorous - Positron Emission Tomography
Author: Brandon Whitcher
Maintainer: Brandon Whitcher <bwhitcher@gmail.com>
Description: Image analysis techniques for positron emission tomography (PET) that form part of the Rigorous Analytics bundle.
Depends: R (≥ 2.14.0)
Imports: methods, oro.dicom (≥ 0.4.0), oro.nifti (≥ 0.4.0), utils, minpack.lm, msm
License: BSD_3_clause + file LICENSE
URL: http://rig.oro.us.com, http://rigorousanalytics.blogspot.com
RoxygenNote: 7.2.1
Encoding: UTF-8
NeedsCompilation: no
Packaged: 2022-08-20 08:22:54 UTC; brandon
Repository: CRAN
Date/Publication: 2022-08-20 08:40:02 UTC

Wrapper for oro.pet functions

Description

Simple wrapper for getting functions from

Usage

.petWrapper(name, ...)

Arguments

name

name of function (without leading ".")

...

Additional arguments passed to oro.nifti::.wrapper


Calculating SUVs for PET Using QIBA Pseudocode

Description

The standard uptake value (SUV) is calculated based on an 18F-FDG-PET acquistion using ancillary information contained in the DICOM data.

Usage

activityConcentration(pixelData, ...)

## S4 method for signature 'array'
activityConcentration(
  pixelData,
  CSV = NULL,
  seriesNumber = NULL,
  method = "qiba"
)

.activityConcentration(
  pixelData,
  CSV = NULL,
  seriesNumber = NULL,
  method = "qiba"
)

standardUptakeValue(pixelData, ...)

## S4 method for signature 'array'
standardUptakeValue(
  pixelData,
  mask = NULL,
  CSV = NULL,
  seriesNumber = NULL,
  method = c("qiba", "user"),
  prior = NULL,
  decayedDose = NULL
)

.standardUptakeValue(
  pixelData,
  mask = NULL,
  CSV = NULL,
  seriesNumber = NULL,
  method = c("qiba", "user"),
  prior = NULL,
  decayedDose = NULL
)

Arguments

pixelData

is a multidimensional array of signal intensities of class nifti.

...

additional arguments

CSV

is a data.frame that is the output from dicomTable and contains all necessary DICOM header fields.

seriesNumber

is the SeriesNumber that corresponds to the PET acquisition.

method

takes on two possible values (qiba and user), where QIBA pseudocode is used to calculate the SUVs or user-defined parameters are used.

mask

is a multidimensional array of logical values (only used when method = "user").

prior

is a list of DICOM header field names that are necessary for the SUV calculation under method = "user" or may be used to replace values from the DICOM header information when method = "qiba".

decayedDose

is the amount of the RadionuclideTotalDose after being corrected for residual dose in the syringe. This value is NOT usually corrected in the DICOM data.

Value

A list containing the following items

Note

Note, for GE scanners it is common for the RescaleSlope DICOM field to vary on a slice-by-slice basis. This is taken into account if a GE scanner is detected from the Modality DICOM field. However, the InstanceNumber is used to reorder the slices so they match the incoming NIfTI file of PixelData. If this is not correct it may be necessary to manually re-order the RescaleSlope field in the CSV data frame so that the activity concentration is calculated correctly.

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

https://qibawiki.rsna.org/index.php?title=Standardized_Uptake_Value_(SUV)

See Also

dicomTable, nifti


Compartmental Models for Kinetic Parameter Estimation

Description

A selection of parametric models are provided that combine a compartmental model for tissue and empirical versions of the arterial input function or reference region time activity curve.

Usage

compartmentalModel(type)

Arguments

type

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

list("srtm")

Simplified Reference Tissue Model

list("srtm2")

Simplified Reference Tissue Model in two steps

Details

Parametric models from the PET literature are provided to the user for kinetic parameter estimation.

Value

A function.

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Lammertsma, A.A and Hume, S.P. (1996) Simplified reference tissue model for PET receptor studies, NeuroImage, 4, 153-158.

Wu, Y and Carson, R.E. (2002) Noise reduction in the simplified reference tissue model for neuroreceptor functional imaging, Journal of Cerebral Blood Flow & Metabolism, 22, 1440-1452.

See Also

simplifiedReferenceTissueModel


Empirical Convolution Between an Input Function and a Single Exponential

Description

Computationally efficient method to convolve a vector of observations and a single exponential function with two parameters.

Usage

expConv(input, k1, k2)

Arguments

input

is the so-called input function.

k1

is the scaling parameter in the single exponential function.

k2

is the decay parameters in the single exponential function.

Details

Assuming the input function has been sampled (or interpolated) to a high temporal resolutions, say one Hertz, a simple for loop is used to perform the convolution.

Value

The vector containing the result from the convolution operation.

Author(s)

Brandon Whitcher bwhitcher@gmail.com


Estimation of the Half Maximal Inhibitory Concentration

Description

The half maximal inhibitory concentration (IC50) is a measure of the effectiveness of a compound in inhibiting biological or biochemical function. This quantitative measure indicates how much of a particular drug or other substance (inhibitor) is needed to inhibit a given biological process (or component of a process) by half.

See reference(s).

In this version of the function the maximal occupancy (rmax) is estimated automatically. This should be optional.

Usage

hillEquation(
  conc,
  occ,
  guess = c(1, 100),
  control = minpack.lm::nls.lm.control()
)

Arguments

conc

a vector of drug concentrations in plasma (example units are ng/mL).

occ

a vector of PET occupancy values that correspond to the measured drug concentrations in plasma.

guess

a length-two vector of starting values for the nonlinear optimization.

control

is a list of parameters used by nls.lm.control that are set by default, but may be customized by the user.

Value

List with the following elements

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Hill Equation IC50

See Also

nls.lm


Calculating the Lean Body Mass

Description

The lean body mass (LBM) is calculated according to the formula

1.1\cdot\mbox{weight}-128\cdot(\mbox{weight}/\mbox{height})^2

if male and

1.07\cdot\mbox{weight}-148\cdot(\mbox{weight}/\mbox{height})^2

if female.

The standard uptake value (SUV) is summarized using the hotspot method or by calculating total volume of the high values.

Usage

leanBodyMass(height, weight, gender)

hotSpotSUV(suv, radius = 10, type = "3D")

totalSUV(suv, mask, z, bg, local = TRUE)

Arguments

height

is a vector of heights in centimeters.

weight

is a vector of weights in kilograms.

gender

is a character vector (may be of length one) with the value “male” or “female”.

suv

is the standard uptake value (SUV).

radius

is the desired hotspot radius (units = voxels).

type

is a character string (acceptable values are 2D or 3D) that determines the dimension of the hot spot (default = 3D).

mask

is a multidimensional array of logical values.

z

is the slice index.

bg

is the estimated background SUV.

local

is a logical value.

Value

Vector of lean body mass values in kilograms.

...

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Sugawara, Y., K. R. Zasadny, A. W. Neuhoff, R. L. Wahl (1999) Reevaluation of the Standardized Uptake Value for FDG: Variations with Body Weight and Methods for Correction, Radiology 213: 521–525.

See Also

standardUptakeValue

leanBodyMass

Examples

library(oro.pet)
n <- 11
h <- seq(200, 150, length=n)
w <- seq(80, 120, length=n)
cbind(h, w, leanBodyMass(h, w, "male"), leanBodyMass(h, w, "female"))

The Multilinear Reference Tissue Model

Description

The multilinear reference tissue model (MRTM) estimates the binding potential from an observed time activity curve without the need for arterial sampling. Instead, a second time activity curve must be provided from a suitable reference region where there is negligible binding.

Usage

multilinearReferenceTissueModel(
  tac,
  ref,
  time,
  tstar,
  MRTM2 = TRUE,
  k2prime = NULL
)

Arguments

tac

a vector corresponding to the time activity curve from the tissue (in Bq/mL).

ref

a vector corresponding to the time activity curve from the reference region (in Bq/mL).

time

a vector of average frame times (in minutes).

tstar

the time (in minutes) where the linear relationship between the response and covariates may be assumed to be true.

MRTM2

a logical value that selects the three-parameter model (MRTM) or the two-parameter model (MRTM2), where k2prime is fixed.

k2prime

the value of k2prime that has been fixed.

Details

See the references.

The numeric integration required to construct the design matrix is performed by interpolating the time activity curves, both for the tissue and reference region, to one-second resolution and then performing the cumsum operation on them.

Given the nonlinear relationship between binding potential and the regression parameters, the deltamethod is used to approximate its standard error.

Value

BP

Binding potential

BP.error

Approximate standard error of the binding potential

R1

Ratio of the volumes of distrubution for the tissue and reference region (assumes a one-tissue model is valid)

R1.error

Approximate standard error for the ratio

k2

Clearance rate constant from the tissue to plasma (assumes a one-tissue model is valid)

k2.error

Approximate standard error for k2

X

Design matrix used in the linear regression

beta

Regression coefficients

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Ichise, M., Ballinger, J.R., Golan, H., Vines, D., Luong, A., Tsai, S. and Kung, H.F. (1996) Noninvasive quantification of dopamine D2 receptors with iodine-123-IBF SPECT, Journal of Nuclear Medicine, 37, 513-520.

Ichise, M., Liow, J.-S., Lu, J.-Q., Takano, A., Model, K., Toyama, H., Suhara, T., Suzuki, K., Innis, R.B., Carson, R.E. (2003) Linearized reference tissue parametric imaging methods: Application to [11C]DASB positron emission tomography studies of the serotonin transporter in human brain, Journal of Cerebral Blood Flow & Metabolism, 23, 1096-1112.

See Also

cumsum, deltamethod


Compute Drug Occupancy with Approximate Standard Errors

Description

Receptor occupancy is calculated from posititron emission tomography (PET) data as the treatment-induced relative change in the concentration of available (not occupied) receptors.

Usage

occupancy(base, drug, baseSE = NULL, drugSE = NULL, base.drug.corr = 0)

Arguments

base

is the baseline binding potential (BPND).

drug

is the post-treatment binding potential (BPND).

baseSE

is the standard error for the baseline BPND.

drugSE

is the standard error for the post-treatment BPND.

base.drug.corr

is the user-specified correlation between baseline and post-treatment binding potentials.

Details

Occupancy is calculated using the straightforward and well-known formula. If the standard errors for the two binding potentials are provided, then the delta method is used to approximate the standard error for the estimate of occupancy.

Value

OCC

is the percent drug occupancy.

SE

is the approximate standard error of the parameter estimate.

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Cunningham VJ, Rabiner EA, Slifstein M, Laruelle M (2010). Measuring drug occupancy in the absence of a reference region: the Lassen plot re-visited, Journal of Cerebral Blood Flow & Metababolism, 30, 46-50.

Passchier J, Gee A, Willemsen A, Vaalburg W, van Waarde A (2002). Measuring drug-related receptor occupancy with positron emission tomography, Methods, 27, 278-286.

See Also

deltamethod


Plot Baseline Versus Post-Treatment Binding Potentials

Description

Inspired by the Lassen plot (Cunningham et al., 2010) this is a straightforward graphical summary of pre-treatment versus post-treatment binding potentials for a single subject across multiple brain regions.

Usage

plotBindingPotential(
  base,
  drug,
  lty45 = 2,
  lty = 1,
  lwd45 = 2,
  lwd = 3,
  col45 = "darkgrey",
  col = "orange",
  pch = 1,
  cex = 1,
  xlim = range(0, base, 0.5),
  ylim = range(0, drug, 0.5),
  xlab = expression(BP[ND]^{
     Base
 }),
  ylab = expression(BP[ND]^{
     Drug
 }),
  ...
)

Arguments

base

is the vector of baseline binding potentials across brain regions.

drug

is the vector of post-treatment binding potentials across brain regions.

lty45

is the line type for the 45-degree line.

lty

is the line type for the estimated regression line.

lwd45

is the line width for the 45-degree line.

lwd

is the line width for the estimated regression line.

col45

is the color for the 45-degree line.

col

is the color for the estimated regression line.

pch

is the plotting character symbol.

cex

is the size of the plotting symbol.

xlim

is the range of values on the x-axis.

ylim

is the range of values on the y-axis.

xlab

is the label on the x-axis.

ylab

is the label on the y-axis.

...

additional arguments to be passed to the plot function.

Details

See the reference below.

Value

A plot is shown, NULL is returned

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

Cunningham VJ, Rabiner EA, Slifstein M, Laruelle M (2010). Measuring drug occupancy in the absence of a reference region: the Lassen plot re-visited, Journal of Cerebral Blood Flow & Metababolism, 30, 46-50.

See Also

par, plot


The Simplified Reference Tissue Model

Description

The simplified reference tissue model (SRTM) estimates the binding potential from an observed time activity curve without the need for aterial sampling. It assumes a one-tissue compartment model to describe the influx and efflux in the tissue region of interest and the reference region.

Usage

simplifiedReferenceTissueModel(
  tac,
  ref,
  time,
  SRTM2 = TRUE,
  k2prime = NULL,
  guess = c(R1 = 0.5, k2 = 0.01),
  control = minpack.lm::nls.lm.control()
)

Arguments

tac

a vector corresponding to the time activity curve from the tissue (in Bq/mL).

ref

a vector corresponding to the time activity curve from the reference region (in Bq/mL).

time

a vector of average frame times (in minutes).

SRTM2

a logical value that selects the three-parameter model (SRTM) or the two-parameter model (SRTM2), where k2prime is fixed.

k2prime

the value of k2prime that has been fixed.

guess

values for the inital parameter estimates for R1 and k2.

control

a list of parameters used by nls.lm.control that are set by default, but may be customized by the user.

Details

See the references.

The model has been parameterized in the manner of Wu and Carson (2002). That is, the nonlinear regression estimates R1, k2 and k'2 for the three-parameter model (SRTM) and R1 and k2 for the two-parameter model (SRTM2).

The convolution is performed after interpolating the time activity curves, both for the tissue and the reference region, to one-second resolution then downsampling them back to the original sampling rate.

Value

BP

Binding potential

R1

Ratio of the volumes of distrubution for the tissue and reference region

k2

Clearance rate constant from the tissue to plasma

BP.error

Approximate standard error of the binding potential

R1.error

Approximate standard error for the ratio

k2.error

Approximate standard error for k2

Author(s)

Brandon Whitcher b.whitcher@gmail.com

References

Lammertsma, A.A. and Hume, S.P. (1996) Simplified reference tissue model for PET receptor studies, NeuroImage, 4, 153-158.

Wu, Y. and Carson, R.E. (2002) Noise reduction in the simplified reference tissue model for neuroreceptor functional imaging, Journal of Cerebral Blood Flow & Metabolism, 22, 1440-1452.

See Also

deltamethod, expConv, nls.lm

mirror server hosted at Truenetwork, Russian Federation.