Framework to calculate mean organ Standardized Uptake Values (SUVs) from PET/CT images. The CT-based organ segmentations are performed by TotalSegmentator.
- Path to a folder where for each individual patient a folder is present. These folder names will end up as IDs in the output table.
- Each patient folder should contain a folder with a DICOM series for both the PET and according CT image:
- A PET folder with a name containing "PET", "FDG", or "5-MIN"
- A CT folder with a name containing "CT"
- Dictionary with organs of interest. Defined in the SUV_Extractor.py file.
- A list of organs of interest
- SEGMENTATE_ORGANS: If True, performs automatic segmentation of individual organs from CT images.
- SEGMENTATE_BODY: If True, performs automatic segmentation of a whole-body mask from CT images.
- SEGMENTATE_LUNG: If True, If True, performs dedicated lung segmentation using the "lung_nodules" task in the TotalSegmentator.
- NORMALIZE: If True, normalizes PET intensities using an aorta-based reference (blood pool normalization).
- ERODE: If True, applies morphological erosion to organ masks before extracting PET values.
- Table with a row per patient and the according mean SUV values for the organs of the patient.
The Script uses the following general formula to calculate for each voxel the SUVs:
where
-
$C(x,y,z)$ is the voxel activity concentration in Bq/mL. -
$W$ is the patient body weight in g -
$D_{\mathrm{corr}}$ is the decay-corrected injected Dose in Bq.
The
This equation can then be plugged into the SUV equation. Now we just need to consider two possible cases depending on the PET data.
If the original PET image is already provided as an Bq/mL map the units do not have to be converted. Here the intensity map is already the Activity Concentration.
So the following formula is used:
If the orignal PET image is not provided as a Bq/mL map we need to convert it. This is done using a raw PET conversion with
where
-
$I(x,y,z)$ is the raw voxel intensity value -
$s$ is the RescaleSlope -
$b$ is the RescaleIntercept
Using this formula we end up with the following final formula: