U.S. flag An official website of the United States government

PyBDC: Python Breast Dosage Calculator

Catalog of Regulatory Science Tools to Help Assess New Medical Devices 

This regulatory science tool is a Python toolkit for calculating the radiation deposited dose for breast computed tomography (CT). It features a GUI that estimates the mean glandular dose based on various breast models, incident spectrum, and measured air kerma.

Technical Description

Screen and film mammography are very widely used for breast screening however improvements can be made using Breast Computed Tomography (BCT). BCT overcomes traditional mammography’s limitation of superposing 3D anatomical structures of the breast onto 2D projection images, which can impact lesion detection in women with denser breasts. As BCT requires more projections than mammography, the patient is likely to be exposed to a higher radiation dose. Therefore, it is essential to measure the absorbed dose or the mean glandular dose (MGD). Different CT vendors employ various methods to estimate MGD. To make meaningful comparisons between CT systems, it is recommended to use the same dose method. To address this requirement, PyBDC makes use of a Python based GUI that enables users to calculate an estimate of the dose using four established methods from peer reviewed literature. The interface promotes fair comparison among different systems to ensure substantial equivalence.

The tool enables the user to input parameters specific to the breast, the incident X-ray spectrum used, the measured air kerma, and the number of projections acquired during the acquisition. Breast parameters include breast diameter, breast height (chest to nipple distance), half-value layer (filter thickness), breast glandularity (ratio of glandular to adipose tissue), or volume glandular fraction. Each input has a range of values the user can choose from that best resembles the studied breast.

For two of the calculation methods (Sarno any spectrum [1], and Hernandez [2]) the user can input any incident X-ray spectrum. The other two methods (Sechopulous 49 kVp W Spectrum [3], and Sarno 49 kVp W Spectrum [1]) it is fixed with a 49 kVp Tungsten spectrum. Additionally, the user can input the air kerma per projection, the number of projections taken, and the input for air kerma and output units for mean glandular dose (mrad, mR, mGy). 

The code is on GitHub (DIDSR/PyBDC: Python toolkit for calculating dosage for breast CT (github.com) either as a container executable or as raw Python files. The open-source Python files can be customized by the user and changed to fit their needs. A user manual is also provided with read the docs (Welcome to PyBDC Documentation! — PyBDC 0.1 documentation). 

Intended Purpose 

The purpose of this tool is to provide mammography and CT researchers, medical physicists and device developers with a means to compare the estimated mean glandular dose (MGD) between different CT systems. In the literature, MGD is typically calculated using normalized glandular dose coefficients (DGN), which are computed via Monte Carlo simulations. PyBDC allows users to calculate the MGD from various DGN coefficients based on four different models without the need for running Monte Carlo simulations.

PyBDC can provide MGD estimates for a wide range of breast thicknesses and glandularities. Measuring the radiation deposited dose is crucial for developing clinical practice protocols, optimizing image quality, and ensuring quality assurance. The calculations in PyBDC can be applied to current and future breast CT systems, provided the underlying assumptions and geometry are consistent.

Testing

The different models used by PyBDC originate from peer reviewed articles that have undergone a thorough validation. [1-3] Therefore, we only need to verify that the results produced by the GUI are similar. Using the given input parameters from the papers we validated if the results from the GUI matched the published DGN values. The final MGD result is a simple multiplication of input air kerma, number of projections, and exposure. Thus, fixing all those values at 1 will return the DGN value. PyBDC was able to successfully reproduce the same dosage values. 

The two Sarno methods use the same underlying model thus, a validation of Sarno 49 kVp W Any Spectrum is also a validation of Sarno Any Spectrum. Using the given parameters from the Sarno paper we were able to compute a DGN value of 0.3730 for a 49 kVp W spectrum. We also returned the correct DGN values of 0.4140 and 0.6794 respectively from the Hernandez and Sechopulous papers. 

To verify the GUI and our equations are functioning properly a series of test cases were provided in the file Dosage_Test_Case_spectrum_55kVp2mmAl.xlsx in the repository. These results require the use of spectrum 55kVp2mmAl.txt as the input spectrum for Sarno Any Spectrum. The test cases were able to be reproduced with no variation and showed the proper increase in the values when increasing the proper parameters. For example, doubling the number of projections or air kerma resulted in a doubling of the MGD. 

Limitations

The tool is only capable of calculating the mean glandular dose (MGD) based on the geometry, glandularity distribution, and thickness assumed in the four models derived from literature publications, which account for limited breast composition and assumed a cylindrical geometry. The calculated dosages are only estimations, which can result in slight underestimations or overestimations of the MGD. Due to the wide array of breast shapes, glandularity distributions, and thicknesses, the tool can only provide an estimation.

A 2-12% underestimation in MGD can occur based on the assumed thickness of the skin layer, which is significant for dosage calculation. However, studies on breast skin composition are scarce. Additionally, breast compression can introduce a bias of up to 2% in the MGD calculations.

Accurately modeling the glandularity distribution of breasts is challenging. Many publications, such as those by Sarno and Sechopoulos [1,3], assume a homogeneous distribution, which can result in a 1-3% overestimation in dosage. While several publications have shown that assuming a heterogeneous model can result in higher accuracy for MGD, there can be variations of up to 50% in glandular dose distribution. Consequently, a heterogeneous distribution may not always be the optimal choice for modeling.

A list of the assumptions for each method are as follows:

  • Sarno et al.
    • Assumes a cylindrical breast of homogeneous composition.
    • Skin layer of 1.45 mm
    • 65 cm radiation source to isocenter distance
  • Hernandez et al.
    • Real CT breast images were grouped into three volume glandular fraction categories V1, V2, and V3
    • Each category of breast assumes a heterogeneous composition.
    • Skin layer of 1.50 mm
    • 65 cm radiation source to isocenter distance
  • Sechopulous et al.
    • Assumes a semi-ellipsoidal breast of homogeneous composition.
    • Skin layer of 1.45 mm
    • 65 cm radiation source to isocenter distance

Supporting Documentation

[1] Sarno, A., Mettivier, G., Di Lillo, F., & Russo, P. (2017). A Monte Carlo study of monoenergetic and polyenergetic normalized glandular dose (DgN) coefficients in mammography. Physics in medicine and biology62(1), 306–325. https://doi.org/10.1088/1361-6560/62/1/306 

[2] Hernandez, A. M., Becker, A. E., & Boone, J. M. (2019). Updated breast CT dose coefficients (DgNCT ) using patient-derived breast shapes and heterogeneous fibroglandular distributions. Medical physics46(3), 1455–1466. https://doi.org/10.1002/mp.13391

[3] Sechopoulos, I., Feng, S. S., & D'Orsi, C. J. (2010). Dosimetric characterization of a dedicated breast computed tomography clinical prototype. Medical physics37(8), 4110–4120. https://doi.org/10.1118/1.3457331

[4] DIDSR/PyBDC: Python toolkit for calculating dosage for breast CT (github.com) 

[5] Welcome to PyBDC Documentation! — PyBDC 0.1 documentation

Contact

Tool Reference