Light Sources
The following types and functions describe how X-ray light generation is simulated at a source. The source is loosely based on a 120 keV X-ray tube with a Tungsten target (anode).
ComputedTomography.ENERGY_MAXComputedTomography.ENERGY_MINComputedTomography.ChromaticComputedTomography.MonochromaticComputedTomography.PolychromaticComputedTomography.generateComputedTomography.generateComputedTomography.source_intensity
ComputedTomography.ENERGY_MAX — ConstantENERGY_MAX = 120.0 (keV)The maximum energy of a simulated X-ray beam.
ComputedTomography.ENERGY_MIN — ConstantENERGY_MIN = 1.0 (keV)The minimum energy of a simulated X-ray beam.
ComputedTomography.Chromatic — TypeChromaticAn abstract type representing the type of X-ray spectrum used in the simulation.
ComputedTomography.Monochromatic — TypeMonochromatic <: ChromaticAn immutable struct representing a monochromatic X-ray beam.
Fields
energy::Float64, the energy of the X-ray beam in keV between 1.0 and 120.0 keV.
ComputedTomography.Polychromatic — TypePolychromatic <: ChromaticAn immutable struct representing a polychromatic X-ray beam.
Fields
energy_range::Tuple{Float64, Float64}, the energy range of the X-ray beam in keV. This lower end of the range must be first and the larger end of the range is second. The lower end of the range cannot be less than 1.0 keV. The upper end of the range cannot exceed 120.0 keV.discretization::Float64, the energy discretization for the energy range in keV. The discretization value must be positive and cannot exceed the difference between the largest and smallest value in the energy range.
ComputedTomography.generate — Methodgenerate(light::Chromatic; photons::Int64=1e12)Returns the number of photons emitted at the source for a given X-ray light source. See source_intensity for more details on the photons argument. Returns an integer value representing the number of photons.
ComputedTomography.generate — Methodgenerate(light::Polychromatic; photons::Int64=1e12)Returns the number of photons emitted at the source for each energy in a polychromatic X-ray light source as a vector of integers. See source_intensity for more details on the photons argument.
ComputedTomography.source_intensity — Methodsource_intensity(energy::Float64; photons::Int64=1e12)The number of photons of the X-ray at a given energy level at the source. The number of photons is loosely based on a 120 keV X-ray tube with a tungsten target. This function accounts for both Bremsstrahlung radiation and Characteristic radiation.
Arguments
energy::Float64, the energy of the X-ray in keV.
Keyword Arguments
photons::Int64=1e12, the number of photons emitted at the mode of Bremsstrahlung radiation. Defaults to1e12photons.
Returns
::Int64, the number of photons generated at the source for the given energy level.