Finding the x-ray transmission through different materialsΒΆ

import numpy as np
import matplotlib.pyplot as plt

import astropy.units as u
from astropy.visualization import quantity_support
quantity_support()

from roentgen.absorption import Material

thickness = 5 * u.mm

material_list = ['air', 'Al', 'Pb']
energy = u.Quantity(np.arange(1, 100, 0.1), 'keV')

for material in material_list:
    mat = Material(material, thickness)
    plt.plot(energy, mat.transmission(energy), label=mat.name)

plt.title(f"Thickness = {thickness}")
plt.ylabel('Transmission')
plt.legend(loc='lower right')
plt.show()

(Source code, png, hires.png, pdf)

../_images/tutorial6-1.png