Keywords: Machine learning, Neutron, X-ray reflectivity, Python, Open source, Photon and neutron science
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.
Publications
Neural network analysis of neutron and X-ray reflectivity data incorporating prior knowledge
Munteanu V, Starostin V, Greco A, Pithan L, Gerlach A, Hinderhofer A, Kowarik S, Schreiber F - Journal of Applied Crystallography - 2024