Skip to main content

Fitting tool for neutron resonance imaging

Project description

https://img.shields.io/pypi/v/ResoFit.svg https://travis-ci.org/ornlneutronimaging/ResoFit.svg?branch=master https://codecov.io/gh/ornlneutronimaging/ResoFit/branch/master/graph/badge.svg Documentation Status

Abstract

Here we present an open-source Python library which focuses on fitting the neutron resonance signal for neutron imaging measurements. In this package, by defining the sample information such as elements and thickness in the neutron path, one can extract elemental/isotopic information of the sample. Various sample types such as layers of single elements (Ag, Co, etc. in solid form), chemical compounds (UO2, Gd2O3, etc.), or even multiple layers of both types.

The energy dependent cross-section data used in this library are from National Nuclear Data Center, a published online database. Evaluated Nuclear Data File (ENDF/B) [1] is currently supported and more evaluated databases will be added in future.

Python packages used are: SciPy [2], NumPy [3], Matplotlib [4], Pandas [5] Periodictable [6], lmfit [7] and ImagingReso [8].

Statement of need

Neutron imaging is a powerful tool to characterize material non-destructively. And based on the unique resonance features, it is feasible to identify elements and/or isotopes resonance with incident neutrons. However, a dedicated user-friendly fitting tool for resonance imaging is missing, and ResoFit we presented here could fill this gap.

Installation instructions

Python 3.x is required for installing this package.

Install ResoFit by typing the following command in Terminal:

pip install ResoFit

or by typing the following command under downloaded directory in Terminal:

python setup.py

Example usage

Example of usage is presented at http://resofit.readthedocs.io/ . Same content can also be found in tutorial.ipynb under /notebooks in this repository.

Calculation algorithm

The calculation algorithm of neutron transmission T(E), is base on Beer-Lambert law [9]-[10]:

Beer-lambert Law 1

where

Ni : number of atoms per unit volume of element i,

di : effective thickness along the neutron path of element i,

σij (E) : energy-dependent neutron total cross-section for the isotope j of element i,

Aij : abundance for the isotope j of element i.

For solid materials, the number of atoms per unit volume can be calculated from:

Beer-lambert law 2

where

NA : Avogadro’s number,

Ci : molar concentration of element i,

ρi : density of the element i,

mij : atomic mass values for the isotope j of element i.

Acknowledgements

This work is sponsored by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory, managed by UT-Battelle LLC, for DOE. Part of this research is supported by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, User Facilities under contract number DE-AC05-00OR22725.

References

[1] M. B. Chadwick et al., “ENDF/B-VII.1 Nuclear Data for Science and Technology: Cross Sections, Covariances, Fission Product Yields and Decay Data,” Nuclear Data Sheets, vol. 112, no. 12, pp. 2887–2996, Dec. 2011.

[2] T. E. Oliphant, “SciPy: Open Source Scientific Tools for Python,” Computing in Science and Engineering, vol. 9. pp. 10–20, 2007.

[3] S. van der Walt et al., “The NumPy Array: A Structure for Efficient Numerical Computation,” Computing in Science & Engineering, vol. 13, no. 2, pp. 22–30, Mar. 2011.

[4] J. D. Hunter, “Matplotlib: A 2D Graphics Environment,” Computing in Science & Engineering, vol. 9, no. 3, pp. 90–95, May 2007.

[5] W. McKinney, “Data Structures for Statistical Computing in Python,” in Proceedings of the 9th Python in Science Conference, 2010, pp. 51–56.

[6] P. A. Kienzle, “Periodictable V1.5.0,” Journal of Open Source Software, Jan. 2017.

[7] M. Newville, A. Nelson, A. Ingargiola, T. Stensitzki, R. Otten, D. Allan, Michał, Glenn, Y. Ram, MerlinSmiles, L. Li, G. Pasquevich, C. Deil, D.M. Fobes, Stuermer, A. Beelen, O. Frost, A. Stark, T. Spillane, S. Caldwell, A. Polloreno, stonebig, P.A. Brodtkorb, N. Earl, colgan, R. Clarken, K. Anagnostopoulos, B. Gamari, A. Almarza, lmfit/lmfit-py 0.9.7, (2017). doi:10.5281/zenodo.802298.

[8] Y. Zhang and J. C. Bilheux, “ImagingReso”.

[9] M. Ooi et al., “Neutron Resonance Imaging of a Au-In-Cd Alloy for the JSNS,” Physics Procedia, vol. 43, pp. 337–342, 2013.

[10] A. S. Tremsin et al., “Non-Contact Measurement of Partial Gas Pressure and Distribution of Elemental Composition Using Energy-Resolved Neutron Imaging,” AIP Advances, vol. 7, no. 1, p. 15315, 2017.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ResoFit-0.0.5.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

ResoFit-0.0.5-py2.py3-none-any.whl (96.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ResoFit-0.0.5.tar.gz.

File metadata

  • Download URL: ResoFit-0.0.5.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ResoFit-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9c7287fc3a11d639e28af9a7f8ad47f1d8d9052a9f486e96474773084969a03e
MD5 e877ff37ed3ba246e35bd4995277c785
BLAKE2b-256 bf4ddd0aba8342b0012119e64add751e6144bcb62c41ff25f07730b65b6e9a6a

See more details on using hashes here.

File details

Details for the file ResoFit-0.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ResoFit-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 afb7e171bc3ce1c1192657eab3b6a4e82329e6e9d4dff90b1fddc533e87b2a70
MD5 6e9291939f806a88d0432d85505b3bf2
BLAKE2b-256 62a425979dbfb59ff1ebf5c15f60ff5a41620721878f3a5e48eea22573f18a7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page