Skip to main content
U.S. flag

An official website of the United States government

Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock ( ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Reflectometry Software

Refl1D

for fitting and uncertainty analysis of neutron and X-ray reflectivity data

Installation from the Python Package Index

  • Install Python 3 (version 3.5 or greater, such as from  Python.org or Anaconda)
  • open a terminal window (plain terminal on mac, Anaconda Prompt on Windows) and issue these commands:
    • pip install numpy scipy matplotlib wxpython periodictable
    • pip install refl1d

Then issuing the command "refl1d" from the command line will start the command-line client, and "refl1d --edit" will start an interactive fitting session.  "pip install --upgrade refl1d" will update to the latest version, any time.

Mac OS X notes
If you install Python 3 from Python.org you can simply replace "pip" with "pip3" in the install instructions above, and it will just work.  If you wish to use a virtual environment, you can use the builtin venv package so that the gui command "refl1d --edit" will still work, as it will call the Framework binary (virtualenv and virtualenvwrapper use a copy of the binary instead of linking to the Framework binary, so they may not work).
If you use an Anaconda Python distribution, to start an interactive refl1d session you will have to type "pythonw -m refl1d.main --edit" instead of the command above.  If pythonw is not installed, you may need to run "conda install python.app" in your environment.

Windows notes
you might need to install a compatible C++ compiler (but you probably don't)

There is also a binary installer for Windows, that is not updated as often as the pip version.

Additional information
See the Refl1D manual for details of the program. Refl1D uses Bumps for fitting and PeriodicTable for scattering length density calculations.

Reductus

for reduction of raw instrument data to reflectivity data

Reductus is a web application providing support for data reduction of NCNR data.  Driven by the reflred python libraries, reductus supports the common operations required to convert raw X-Ray and neutron reflectivity data to a reflectivity curve in physical units (R vs. Q), performing necessary corrections (background subtractions, scaling etc.)

Data files are accessed directly by URL from the NCNR online data repository and the reduction templates (recipes) can be modified with a graphical editor, and downloaded and reused or shared by email.  Reduced data can be downloaded in columnar text-file form.  No login or password is required to use the application.

Reductus replaces the Reflpak application.  If you use reductus to reduce your experimental data, please consider including a citation to Journal of Applied Crystallography, Volume 51, Part 5, pages 1500-1506

PeriodicTable

Online SLD Calculator: The online SLD/activation calculator uses the same PeriodicTable package as Refl1D and SasView to compute scattering length density and neutron activation.

Web Reflectivity Calculators

For quick data exploration we provide a browser-based  magnetic reflectivity calculator as well a non-magnetic (unpolarized) reflectivity calculator.  The user-generated SLD profiles can be exported to a heavily-commented Python Refl1D model file to provide an easy way to get started with modeling data in Refl1D.  Please see the article in J. Res. NIST for more details.

Citing this software

If no other citation is provided, acknowledging the use of these tools in publications may be done by making a reference to this site. For example:

The Refl1D and Reductus programs were used for elements of the data reduction and analysis.[1][1] P.A. Kienzle, B.B. Maranville, K.V. O'Donovan, J.F. Ankner, N.F. Berk, C.F. Majkrzak; https://www.nist.gov/ncnr/reflectometry-software 2017-

Disclaimer

 

This software was developed at the National Institute of Standards and Technology at the NIST Center for Neutron Research by employees of the Federal Government in the course of their official duties. Pursuant to title 17 section 105* of the United States Code this software is not subject to copyright protection and is in the public domain. NIST does not assume any responsibility whatsoever for the use of this software, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic. The use of certain trade names or commercial products does not imply any endorsement of a particular product, nor does it imply that the named product is necessarily the best product for the stated purpose. We would appreciate acknowledgment if the software is used.

 

*Subject matter of copyright: United States Government works

 

Copyright protection under this title is not available for any work of the United States Government, but the United States Government is not precluded from receiving and holding copyrights transferred to it by assignment, bequest, or otherwise.

 

Acknowledgments

 

Portions of this work are based upon activities supported by the National Science Foundation under Agreement No. DMR-0412074.

 

References

 

Calculating polarized neutron reflectometry
C.F. Majrkzak, K.V. O'Donovan, N.F. Berk (2006); Polarized neutron reflectometry. In Neutron Scattering from Magnetic Materials, T. Chatterji, editor. Elsevier.
Polarization corrections
C.F. Majkrzak (1996); Neutron scattering studies of magnetic thin films and multilayers, Physica B 221, 342-356.
Modelling interfaces with slabs
J.F. Ankner, C.F. Majkrzak (1992); Subsurface profile refinement for neutron specular reflectivity. In S.P.I.E. Conference Proceedings, Vol. 1738. C.F. Majkrzak and J.L. Wood, editors. S.P.I.E., Bellingham, WA.
Created April 14, 2017, Updated December 7, 2020