Learn R Programming

oro.pet (version 0.2.1)

QIBA: 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

## S3 method for class 'array':
standardUptakeValue(pixelData, mask = NULL, CSV = NULL,
                    seriesNumber = NULL, method = c("qiba", "user"),
                    prior = NULL, decayedDose = NULL)
## S3 method for class 'array':
activityConcentration(pixelData, CSV = NULL, seriesNumber = NULL,
                      method = "qiba")

Arguments

pixelData
is a multidimensional array of signal intensities of class nifti.
mask
is a multidimensional array of logical values (only used when method = "user").
CSV
is a data.frame that is the output from dicom.table 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.
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
  • 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}$.

Details

[MORE]

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.

References

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

See Also

dicomTable, nifti