Skip to content

Command line tools for unfolding and plotting neutron fluence spectra

License

Notifications You must be signed in to change notification settings

kildealab/Neutron-Spectrometry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neutron Spectrometry

Logo

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.

DOI

Table of Contents

Authors

Logan Montgomery, Georges Al Makdessi, Robert Maglieri, Felix Mathew, John Kildea

Contact email: logan.montgomery@mail.mcgill.ca

Features

  • C++
  • Open source
  • Command-line applications
  • generate elegant plots using ROOT
  • Highly customizable (using settings files)

Description

  • 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.

Dependencies

  1. C++ compiler (e.g. GCC)
    • Must be C++11 compatible (e.g. GCC 4.8.1)
  2. GNU make (link)
  3. 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.

Installation

  1. Download the latest version from the releases page.
  2. Install the dependencies.
  3. Execute miscellaneous initialization functions:
./initialization.sh
  1. Compile the applications:
cd unfolding
make

List of applications

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.

Instructions

The general process for running each application is the same (example instructions are provided for unfold_spectrum.exe):

  1. Enter desired settings for the application by editing the corresponding settings file (e.g. edit input/unfold_spectrum.cfg)
  2. Prepare the data input file (e.g. edit input/measurements.txt)
  3. 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.

License

This project is provided under the MIT license. See the LICENSE file for more info.

Supporting literature

  • 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.