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 |
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
|
... |
additional arguments |
CSV |
is a |
seriesNumber |
is the SeriesNumber that corresponds to the PET acquisition. |
method |
takes on two possible values ( |
mask |
is a multidimensional array of logical values (only used when
|
prior |
is a list of DICOM header field names that are necessary for
the SUV calculation under |
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
SUVbwis a multidimensional array, the same dimension as
pixelData
, that contains the standard uptake values.hdris a list of DICOM header fields used in the SUV calculation.
decayTimeis the decay time calculated from the DICOM header information.
decayedDoseis the RadionuclideTotalDose, if taken from the DICOM header information, or the user-specified value.
SUVbwScaleFactoris
\mbox{PatientsWeight}\cdot1000/\mbox{decayedDose}
.
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
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:
|
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 |
Value
List with the following elements
IC50Half maximal inhibitory concentration
rmaxEstimated maximal occupancy
IC50SEApproximate standard error for IC50
rmaxSEApproximate standard erorr for rmax
hessianHessian matrix from the Levenburg-Marquardt procedure
infoReturn value from the Levenburg-Marquardt procedure
devianceDeviance from the Levenburg-Marquardt procedure
messageText message from the Levenburg-Marquardt procedure
Author(s)
Brandon Whitcher bwhitcher@gmail.com
References
See Also
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 |
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
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
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
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 |
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
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 |
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.