EuroSafe Imaging 2020
Action 9 - Facilitation of research in advanced topics of radiation protection, Interventional non-vascular, Interventional vascular, Radioprotection / Radiation dose, Fluoroscopy, Dosimetry, Radiation effects, Radiation safety, Dosimetric comparison, Quality assurance, Retrospective, Not applicable, Performed at one institution
M. Hellström, C. Granberg, J. Lundman, K. Ahlström Riklund, J. S. Andersson
Description of activity and work performed
Pertinent correction methods and data for PSD estimation were summarised by literature review and in-house measurements. This includes Monte Carlo based conversion of air Kerma to absorbed skin dose , Monte Carlo based backscattering [2,3], and the geometry related factors for skin exposure mapping with modern IR equipment . In-house measurements of X-ray tube filtration and patient support table and pad transmission were conducted as well as beam quality simulations in order to gather all required inputs for the PSD calculation.
A skin dose calculation model was developed in the Python™ programming language v3.7. This model consists of an automated workflow, which converts IRP air Kerma in an iterative process from every irradiation event to spatially located skin dose on a digital phantom by tracing the primary X-ray beam while applying skin dose correction factors. This was developed in two separate steps:
- For each irradiation event, calculate which part of the phantom that has been irradiated (Dose Mapping).
- For each irradiated skin surface, estimate irradiation event absorbed skin dose by applying absorbed skin dose corrections to IRP air Kerma (Dose Calculation).
The patient phantoms available in PySkinDose consists of a grid of skin cells along the surface of the phantom. Several different phantom types and shapes are available, including human-shaped phantoms and cylindrical phantoms with an elliptical cross-section. For each irradiation event, the location of the X-ray beam, patient support table/pad, and the patient phantom are calculated from the irradiation event specifics specified in the RDSR report. Thereafter, the beam-patient interception is calculated using a signed-distance algorithm. The algorithm calculates the interception on a cell basis by projecting the relative position of the skin cells upon the normal vectors of the extent of the primary X-ray field, see Fig 1.
The absorbed skin dose at each irradiated skin cell is calculated as water Kerma by correcting the IRP air Kerma for actual source-skin-distance (SSD), backscatter correction and medium correction [2-3], as well as pre-patient attenuation and forward scatter in the patient support table/pad. This is illustrated in Fig. 2.
PSD is presented as the largest accumulated water Kerma in any skin cell after iteration through all irradiation events of the procedure.
The PySkinDose Framework
This work resulted in the PySkinDose framework, an open-source Python™ package for RDSR based PSD estimation. PySkinDose is highly customisable and includes an interactive tool for skin dose plotting, see Fig 3 - 4, as well as irradiation event visualization, see Fig 5 - 6. PySkinDose provides a tool for parsing RDSR data and uses a generalized parameter convention due to differences and inconsistencies in how different vendors specify irradiation event parameters in RDSR reports.