Reflectorch

Reflectorch is a Python package for the analysis of X-ray and neutron reflectivity data using Pytorch-based neural networks. It provides fast simulation of reflectometry curves by GPU, parameterization via YAML configuration files, and prior-aware training.

4
contributors

What Reflectorch can do for you

Reflectorch is a Python package for the analysis of X-ray and neutron reflectivity data using Pytorch-based neural networks developed by the Schreiber Lab in Tübingen, Germany.

The training pipeline incorporates prior boundaries for the thin film parameters as an additional input to the neural network alongside the reflectivity curves. This allows the neural network to be trained simultaneously on the well-posed subintervals of a larger parameter space on which the inverse problem would otherwise be ill-posed / underdetermined (an issue primarily related to the phase problem).

The main benefits are:

  • Reflectorch allows the input of prior knowledge about the investigated thin film at inference time.
  • Many pre-trained models exist to choose from, which makes it unnecessary to train your own model for standard thin film parameters.
  • Reflectorch scales well for parameter spaces significantly larger than previously tackled by other ML-based reflectomety solutions.
Logo of Reflectorch
Keywords
Programming languages
  • Python 97%
  • TeX 3%
License
</>Source code
Packages
pypi.org

Participating organisations

University of Tübingen

Reference papers

Contributors

AH
Alexander Hinderhofer
Maintainer & Project Lead
University of Tübingen
VS
VM
Valentin Munteanu
Lead developer
University of Tübingen
FS
Frank Schreiber
Project Supervisor
Eberhard Karls Universität Tübingen

Related projects

DAPHNE4NFDI

Software developed or co-developed in the scope of the DAPHNE4NFDI consortium

Updated 2 months ago