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
Attenuations.Element
— TypeElement
An element of the periodic table.
Attenuations.Compound
— TypeCompound
Attenuations.Mixture
— TypeMixture
Elements
The Element
s 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)