This repository contains command-line applications to unfold data that was measured using a Nested Neutron Spectrometer (NNS), to generate plots of the resulting spectra, and other associated tasks.
- Authors
- Features
- Description
- Dependencies
- Installation
- List of applications
- Instructions
- License
- Supporting literature
Logan Montgomery, Georges Al Makdessi, Robert Maglieri, Felix Mathew, John Kildea
Contact email: logan.montgomery@mail.mcgill.ca
- C++
- Open source
- Command-line applications
- generate elegant plots using ROOT
- Highly customizable (using settings files)
- The primary application (
unfold_spectrum.exe
) is used to unfold NNS data via the Maximum-Likelihood Expectation–Maximization (MLEM) algorithm.- Multiple stopping criteria are available.
- Our published modified MLEM-STOP method is included; for details see our paper: https://doi.org/10.1016/j.nima.2020.163400.
- Spectral uncertainty estimation using a Poisson or Gaussian sampling approach.
- Output the spectral data, a plot of the spectrum, the ambient dose equivalent, and a summary text report.
- Easily extended to unfolding of neutron spectral data from other spectrometers (e.g. a Bonner Sphere Spectrometer).
- Additional applications to plot multiple spectra, track unfolding parameter changes with iteration number, and plot 2D data.
- C++ compiler (e.g. GCC)
- Must be C++11 compatible (e.g. GCC 4.8.1)
- GNU make (link)
- ROOT Data Analysis Framework (link)
- Can be installed on OSX using Homebrew
Note: These applications were developed on OSX Mojave 10.14.6 and have been tested in Ubuntu 18.04 LTS.
- Download the latest version from the releases page.
- Install the dependencies.
- Execute miscellaneous initialization functions:
./initialization.sh
- Compile the applications:
cd unfolding
make
Application | Description |
---|---|
unfold_spectrum.exe |
Read-in measured spectrometer data and unfold the neutron fluence spectrum. |
plot_spectra.exe |
Generate plot of one or more neutron fluence spectra. |
unfold_trend.exe |
Output values for a parameter of interest at each MLEM iteration. |
plot_lines.exe |
Generate plot of one or more arbitrary sets of XY data. |
The general process for running each application is the same (example instructions are provided for unfold_spectrum.exe):
- Enter desired settings for the application by editing the corresponding settings file (e.g. edit
input/unfold_spectrum.cfg
) - Prepare the data input file (e.g. edit
input/measurements.txt
) - Run the application (e.g.
./unfold_spectrum.exe
)
Please click the links in the table above to view application-specific instructions and explanations of their associated settings.
This project is provided under the MIT license. See the LICENSE file for more info.
- L. Montgomery, A. Landry, F. Mathew, G. Al Makdessi, J. Kildea, "A novel MLEM stopping criterion for unfolding neutron fluence spectra in radiation therapy," Nucl Instrum Meth A. 2020. https://doi.org/10.1016/j.nima.2020.163400.
- L. Montgomery, M. Evans, L. Liang, R. Maglieri, J. Kildea, "The effect of the flattening filter on photoneutron production at 10 MV in the Varian TrueBeam linear accelerator," Med Phys. 2018. http://dx.doi.org/10.1002/mp.13148.
- R. Maglieri, A. Licea, M. Evans, J. Seuntjens, J. Kildea, "Measuring neutron spectra in radiotherapy using the nested neutrono spectrometer," Med Phys. 2015. https://dx.doi.org/10.1118/1.4931963.