Attenuations: Mass/Linear X-ray Attenuation Coefficients from NIST

This package is a Julia API to the NIST XCOM Database and the tabular data from the NIST Standard Reference Database 126.

Installation

using Pkg
Pkg.add("https://github.com/kczimm/Attenuations.jl")
using Attenuations

Basic Usage

julia> μᵨ(Elements.Hydrogen, 1MeV, PhotoelectricAbsorption)
1.172e-9 cm^2 g^-1

julia> μᵨ(Mixture(Dict("H"=>1)), 1MeV, PhotoelectricAbsorption)
1.172e-9 cm^2 g^-1

julia> μ(Materials.GOS, 40keV, Incoherent)
0.8117040000000001 cm^-1

julia> μᵨ(Compound("H2O"), 10keV)
5.33 cm^2 g^-1

julia> energies = 20keV:1keV:160keV
(20:160) keV

julia> μ(Materials.water, energies)
1-dimensional AxisArray{Unitful.Quantity{Float64,𝐋^-1,Unitful.FreeUnits{(cm^-1,),𝐋^-1,nothing}},1,...} with axes:
    :energy, (20:160) keV
And data, a 141-element Array{Unitful.Quantity{Float64,𝐋^-1,Unitful.FreeUnits{(cm^-1,),𝐋^-1,nothing}},1}:
 0.8098 cm^-1
 0.7253 cm^-1
 0.6557 cm^-1
 0.5978 cm^-1
 0.5493 cm^-1
 0.5082 cm^-1
 0.4733 cm^-1
 0.4433 cm^-1
 0.4175 cm^-1
 0.3951 cm^-1
            ⋮
 0.1499 cm^-1
 0.1496 cm^-1
 0.1493 cm^-1
  0.149 cm^-1
 0.1487 cm^-1
 0.1484 cm^-1
 0.1481 cm^-1
 0.1478 cm^-1
 0.1475 cm^-1

XCOM database

The XCOM database can generate mass attenuation coefficients for:

  • Element
  • Compound
  • Mixture

Elements

The Elements and their properties provided by NIST (table 1) are available in the exported Elements named tuple. For example,

julia> keys(Elements)
(:Hydrogen, :Helium, :Lithium, :Beryllium, :Boron, :Carbon, :Nitrogen, :Oxygen, :Fluorine, :Neon, :Sodium, :Magnesium, :Aluminum, :Silicon, :Phosphorus, :Sulfur, :Chlorine, :Argon, :Potassium, :Calcium, :Scandium, :Titanium, :Vanadium, :Chromium, :Manganese, :Iron, :Cobalt, :Nickel, :Copper, :Zinc, :Gallium, :Germanium, :Arsenic, :Selenium, :Bromine, :Krypton, :Rubidium, :Strontium, :Yttrium, :Zirconium, :Niobium, :Molybdenum, :Technetium, :Ruthenium, :Rhodium, :Palladium, :Silver, :Cadmium, :Indium, :Tin, :Antimony, :Tellurium, :Iodine, :Xenon, :Cesium, :Barium, :Lanthanum, :Cerium, :Praseodymium, :Neodymium, :Promethium, :Samarium, :Europium, :Gadolinium, :Terbium, :Dysprosium, :Holmium, :Erbium, :Thulium, :Ytterbium, :Lutetium, :Hafnium, :Tantalum, :Tungsten, :Rhenium, :Osmium, :Iridium, :Platinum, :Gold, :Mercury, :Thallium, :Lead, :Bismuth, :Polonium, :Astatine, :Radon, :Francium, :Radium, :Actinium, :Thorium, :Protactinium, :Uranium)

Materials

The NIST (table 2) provides materials with their composition and properties which are made available in the exported Materials named tuple. For example,

julia> keys(Materials)
(:tissueplastic, :adipose, :air, :alanine, :boneplastic, :bakelite, :wholeblood, :corticalbone, :brain, :breasttissue, :airplastic, :CdTe, :CaF, :CaSO4, :ammoniumsulfate, :CsI, :concrete, :concretebarite, :eyelens, :ferroussulfate, :GOS, :gafchromicsensor, :GaAs, :pyrex, :leadglass, :LiF, :LiB4O7, :lung, :MgB4O7, :MgI2, :muscle, :ovary, :emulsionkodak, :emulsionstandard, :vinyltoluene, :polyethylene, :mylar, :PMMA, :polystyrene, :teflon, :PVC, :nylonfilm, :testis, :softtissue, :softtissue4, :methane, :propane, :water)