Skip to content

About

🖥 Reflectometry data analysis application

Resources

Code of conduct

Contributing

Stars

7 stars

Watchers

3 watching

Forks

Latest commit

 

History

631 Commits

Folders and files

Repository files navigation

EasyReflectometry

EasyReflectometry is scientific software for modelling and analysing reflectometry data from layered structures. It handles single and multiple contrasts, unpolarised and polarised measurements, and both classical fitting and Bayesian sampling.

EasyReflectometry Screenshot

What is EasyReflectometry for?

EasyReflectometry simulates reflectometry profiles of layered structures and refines their structural parameters against measured data. Refinement uses one of several fitting engines (minimizers), or Bayesian sampling when the uncertainty of each parameter is wanted.

EasyReflectometry offers a graphical user interface built on established reflectometry packages, refnx and refl1d, through the easyreflectometry library. This brings their functionality together in a single, intuitive interface. The calculation engines are included in the installer, so nothing else has to be downloaded or compiled.

Main features

EasyReflectometry is open source and cross-platform, with support for Windows, macOS (Apple Silicon) and Linux (Ubuntu).

The tabbed interface guides a clear modelling and analysis workflow: Project, Sample, Experiment, Analysis and Summary.

  • Sample models: materials defined by their scattering length density (SLD), layers, repeating multilayers, and items such as surfactant layers with chemically consistent constraints.
  • Data import: text files and ORSO .ort files. A file with a q-resolution column keeps the resolution of every point, and several files of one contrast (other angles or wavelength bands) can be merged into one experiment.
  • Multiple contrasts: contrasts share one structure, and all of them are refined together.
  • Magnetism and polarisation: a magnetic SLD and in-plane moment angle per layer, refined with refl1d. Polarised data is imported as one file per spin channel, with spin-asymmetry views and simultaneous refinement of all channels against a single model.
  • Fitting: lmfit, bumps and DFO-LS minimizers, with adjustable fit settings, parameter constraints and links between contrasts.
  • Bayesian analysis: Markov chain Monte Carlo (MCMC) sampling with bumps DREAM, with posterior bands on the reflectivity and SLD charts and per-parameter distributions.
  • Reports: interactive HTML and PDF reports of the model, data and fit results.
  • Projects: saving and loading of complete projects.

Planned improvements are listed in the roadmap and the issue tracker.

Documentation

The user documentation has step-by-step tutorials on loading data, defining models, fitting, polarised data, magnetism and Bayesian analysis.

Getting started

Downloading

Download the EasyReflectometry installer for your operating system. See INSTALLATION.md for details and for installation from source.

Installing

Unzip the downloaded archive, run the EasyReflectometry installer and follow the instructions.

macOS: the installer is not notarised by Apple, so macOS may refuse to open it as coming from an unidentified developer. Try to open it once, then open System Settings → Privacy & Security, scroll to the message about the installer and click Open Anyway. On macOS 14 and older, control-click the installer in the Finder, choose Open and confirm with Open.

Uninstalling

Run MaintenanceTool from the EasyReflectometry installation directory, select Remove all components and follow the instructions.

Get in touch

For bug reports and feature requests, please use the issue tracker.

Contributions are welcome; see CONTRIBUTING.md.

About

🖥 Reflectometry data analysis application

Resources

Code of conduct

Contributing

Stars

7 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages