SpekPy is a free toolkit for modeling x-ray tube spectra with the Python programming language. In this article, the advances in version 2.0 (v2) of the software are described, including additional target materials and more accurate modeling of the heel effect. Use of the toolkit is also demonstrated. The predictions of SpekPy are illustrated in comparison to experimentally determined spectra: three radiation quality reference (RQR) series tungsten spectra and one mammography spectrum with a molybdenum target. The capability of the software to correctly model changes in tube output with tube potential is also assessed, using the example of a GE RevolutionTM CT scanner (GE Healthcare, Waukesha, WI, USA) and specifications in the system's Technical Reference Manual. Furthermore, we note that there are several physics models available in SpekPy. These are compared on and off the central axis, to illustrate the differences. SpekPy agrees closely with the experimental spectra over a wide range of tube potentials, both visually and in terms of first and second half-value layers (HVLs) (within 2% here). The CT scanner spectrum output (normalized to 120kV tube potential) agreed within 4% over the range of 70 to 140kV. The default physics model (casim) is adequate in most situations. The advanced option (kqp) should be used if high accuracy is desired for modeling the anode heel effect, as it fully includes the effects of bremsstrahlung anisotropy. SpekPy v2 can reliably predict on- and off-axis spectra for tungsten and molybdenum targets. SpekPy's open-source MIT license allows users the freedom to incorporate this powerful toolkit into their own projects.
Read full abstract