Skip to content

C/C++ library and Python bindings for x-ray cross sections, x-ray source spectra modeling, multi-material beam hardening correction, and dual energy decomposition algorithms

License

Notifications You must be signed in to change notification settings

kylechampley/XrayPhysics

Repository files navigation

XrayPhysics

This is a C/C++ library (Linux, Windows, Mac) with Python bindings with the following capabilities:

  1. x-ray cross sections (energies from 1 keV to 20 MeV and elements 1-100) specified by chemical formula or element/compound mass fractions
  2. incoherent and coherent x-ray scattering angle distributions specified by chemical formula or element/compound mass fractions
  3. x-ray source spectra modeling (for any source voltage and take-off angle, and the following anode types: Cu, Mo, W, Au)
  4. one- and two-material beam hardening correction algorithms (theoretically exact and polynomial-based)
  5. Calculation of the LLNL-defined effective atomic number; For more information see here
  6. dual energy decomposition algorithms (and SIRZ if used in conjuction with LEAP)

There are very few dependencies and we don't use any specialized data structures, making it very easy to incorporate with other software packages. The cross section tables are hard-coded into C++ arrays, so queries of the database are instant.

The x-ray source models are at least as accurate as TASMICS and much more flexible.

The x-ray source models are at least as accurate as TASMICS and much more flexible. The cross section tables are based on EPDL97.

Installation and Usage

Documentation is available here

Installation and usage information is posted on the wiki page

Designed to be used in conjuction with (but is not required) LEAP

Author

Kyle Champley ([email protected])

License

XrayPhysics is distributed under the terms of the MIT license. All new contributions must be made under this license. See LICENSE in this directory for the terms of the license. See LICENSE for more details.
SPDX-License-Identifier: MIT

Please cite our work by referencing this github page and the following papers:

SIRZ
Champley, Kyle M., Stephen G. Azevedo, Isaac M. Seetho, Steven M. Glenn, Larry D. McMichael, Jerel A. Smith, Jeffrey S. Kallman, William D. Brown, and Harry E. Martz. "Method to extract system-independent material properties from dual-energy X-ray CT." IEEE Transactions on Nuclear Science 66, no. 3 (2019): 674-686.

BHC
Kyle Champley and Timo Bremer. ”Efficient and Accurate Correction of Beam Hardening Artifacts.”, 3rd International Congress on Image Formation in X-ray CT, 2014.