Skip to main content

A Pytorch-based package for the analysis of reflectometry data

Project description

Reflectorch

PyTorch NumPy SciPy Matplotlib YAML Hugging Face

Python version CI workflow status Repos size DOI

Documentation Page

Reflectorch is a machine learning Python package for the analysis of X-ray and neutron reflectometry data, written by Vladimir Starostin & Valentin Munteanu at the University of Tübingen. It provides functionality for the fast simulation of reflectometry curves on the GPU, customizable setup of the physical parameterization model and neural network architecture via YAML configuration files, and prior-aware training of neural networks as described in our paper Neural network analysis of neutron and X-ray reflectivity data incorporating prior knowledge.

Installation

Reflectorch can be installed from PyPi via pip:

pip install reflectorch

Alternatively, one can clone the entire Github repository and install the package in editable mode:

git clone https://github.com/schreiber-lab/reflectorch.git
pip install -e .

For development purposes, the package can be installed together with the optional dependencies for building the distribution, testing and documentation:

git clone https://github.com/schreiber-lab/reflectorch.git
pip install -e .[tests,docs,build]

Users with Nvidia GPUs need to additionally install Pytorch with CUDA support corresponding to their hardware and operating system according to the instructions from the Pytorch website

Get started

Documentation Page The full documentation of the package, containing tutorials and the API reference, was built with Jupyter Book and Sphinx and it is hosted at the address: https://schreiber-lab.github.io/reflectorch/.

Interactive Notebook We provide an interactive Google Colab notebook for exploring the basic functionality of the package: Explore reflectorch in Colab

Hugging Face Pretrained models (network weights and their corresponding configuration files) are hosted on Hugging Face. Two repositories are currently available:

Repository Description
valentinsingularity/reflectivity Research repository containing a large variety of XRR and NR models.
reflectorch-ILL Curated repository of selected, validated NR models.

Contributing

If you'd like to contribute to the package, please see our Contributing Guidelines for details.

Citation

If you find our work useful in your research, please cite as follows:

@Article{Munteanu2025, 
doi = {10.21105/joss.08169}, 
url = {https://doi.org/10.21105/joss.08169}, 
year = {2025}, 
publisher = {The Open Journal}, 
volume = {10}, 
number = {115}, 
pages = {8169}, 
author = {Munteanu, Valentin and Starostin, Vladimir and Hinderhofer, Alexander and Gerlach, Alexander and Lapkin, Dmitry and Schreiber, Frank}, 
title = {reflectorch: a deep learning package for X-ray and neutron reflectometry}, 
journal = {Journal of Open Source Software} }
@Article{Munteanu2024,
  author    = {Munteanu, Valentin and Starostin, Vladimir and Greco, Alessandro and Pithan, Linus and Gerlach, Alexander and Hinderhofer, Alexander and Kowarik, Stefan and Schreiber, Frank},
  journal   = {Journal of Applied Crystallography},
  title     = {Neural network analysis of neutron and X-ray reflectivity data incorporating prior knowledge},
  year      = {2024},
  issn      = {1600-5767},
  month     = mar,
  number    = {2},
  volume    = {57},
  doi       = {10.1107/s1600576724002115},
  publisher = {International Union of Crystallography (IUCr)},
}

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

reflectorch-1.5.1.tar.gz (350.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reflectorch-1.5.1-py3-none-any.whl (159.4 kB view details)

Uploaded Python 3

File details

Details for the file reflectorch-1.5.1.tar.gz.

File metadata

  • Download URL: reflectorch-1.5.1.tar.gz
  • Upload date:
  • Size: 350.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reflectorch-1.5.1.tar.gz
Algorithm Hash digest
SHA256 b059844fc8fd2585227d82aef0e241af648e7af1964e3669690ed8f5a0c94fc6
MD5 237a96ac2f5f703d982fe3157feb0450
BLAKE2b-256 0a6becb0dfc3d7489c13ad428d22834157ced1009ec26320a7c4e7a3ca7ea6b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for reflectorch-1.5.1.tar.gz:

Publisher: publish.yml on schreiber-lab/reflectorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reflectorch-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: reflectorch-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 159.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reflectorch-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c6ff9e6f05121354eab9e6465be692e47231969ef779fc322b724696cc0b530
MD5 233a68c7cf9d29e2eb722ba1d9d7b207
BLAKE2b-256 dde734ad7466e76e8e93675d56e2a43fa8439344cd511512986b1e8a4861644b

See more details on using hashes here.

Provenance

The following attestation bundles were made for reflectorch-1.5.1-py3-none-any.whl:

Publisher: publish.yml on schreiber-lab/reflectorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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