Spectrum - xcist/documentation GitHub Wiki

*** Also refer to validation papers ***

cfg.callback_spectrum = 'Spectrum';

specifies the function that reads or computes the spectrum. cfg.spectrum_filename specifies the file that contains the spectral information of the source. More details are given below. cfg.energy_weighting is a flag to switch between photon counting (0) and energy integration (1).

The energy dependence of the X-ray source is defined by a spectrum file. The detector dependence is defined by the scintillator material, scintillator thickness and the energy weighting. The spectrum files are ASCII text files. The first row contains an integer defining the number of energy bins in the spectrum file. All other rows contain a pair of numbers: the energy (in keV) and the number of photons in that energy bin. The first row represents the lowest energy in the spectrum, and the last row represents the highest energy in the spectrum. If needed, the spectrum will be re-binned to the desired number of energy bins. The X-ray takeoff angle may be provided in the end of the file, otherwise it always assumes that the target anode angle is its takeoff angle.

In 2011, the existing CatSim x-ray spectrum files were carefully evaluated related to the contrast and noise that were produced by equivalent simulations and measurements in uniform circular phantoms. Results, particularly related to noise, we not as closely matched as we had hoped. New spectra were then developed and evaluated using three different spectrum generation tools, at the four common kVs (80, 100, 120, 140). The spectra were also evaluated by performing simulations and measurements of the signal detected after transmission through various thicknesses of PMMA and also aluminum, using the same four spectra. Validation results are recorded in separate documentation. We evaluated the four common kVps with a 20 cm water phantom (the “QA” phantom), and 35 cm and 48 cm LDPE phantoms. We found disagreement of <5% in noise over the entire range of conditions, except that the disagreement was even greater for 80 kVp in the larger phantoms. This was a substantial improvement over the existing spectra.

The results led us to a new strategy for CatSim spectra:

  1. For most accurate results, use the new spectrum files in the “spectrum” directory. These include the attenuation of the inherent filtration of the VCT/HD (“Hercules”) X-ray tube. They are named in the format xspect_tar7_kVp_filt.dat, which indicates that they were produced using XSPECT (v3.5), a 7° tungsten anode angle, kVp available from 60 to 160 kVp in 10 kVp steps, and the inherent filtration was applied. These spectra were only evaluated in the central few planes; expect some modest errors at the extreme ends of the VCT/HD cone beam.

  2. When using these files, if you want to use the spectrum of the VCT/HD, be sure that the cfg.flat_filters parameter is not specified in your configuration file. (This will default to no added filtration.) But of course, if you want to simulate a system that has added filtration, cfg.flat_filters can be used to do that.

    The older spectrum files (sp_kVp.dat and VCTkVpN.dat, as well as a few miscellaneous others) were moved to a “obsolete/spectrum” directory. If you would like to use these files, (e.g. for compatibility with older experiments) you will need to revise your configuration file to point to the “obsolete/spectrum” directory. Please do not move them into the primary “spectrum” directory in your local copy of CatSim, because then if you inadvertently “commit” these back into the CatSim code repository, they will be in the wrong place.

  3. If you want to perform simulations with other conditions (e.g. other anode angles, inherent filtration, etc.), there are a few options.

    Back to Main menu

⚠️ **GitHub.com Fallback** ⚠️