reflectorch


Namereflectorch JSON
Version 1.2.1 PyPI version JSON
download
home_pageNone
SummaryA Pytorch-based package for the analysis of reflectometry data
upload_time2024-08-08 12:25:36
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords reflectometry machine learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Reflectorch

[![PyTorch](https://img.shields.io/badge/PyTorch-%23EE4C2C.svg?style=for-the-badge&logo=PyTorch&logoColor=white)](https://pytorch.org/)
[![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge&logo=numpy&logoColor=white)](https://numpy.org/)
[![SciPy](https://img.shields.io/badge/SciPy-%230C55A5.svg?style=for-the-badge&logo=scipy&logoColor=%white)](https://scipy.org/)
[![Matplotlib](https://img.shields.io/badge/Matplotlib-%23ffffff.svg?style=for-the-badge&logo=Matplotlib&logoColor=black)](https://matplotlib.org/)
[![YAML](https://img.shields.io/badge/yaml-%23ffffff.svg?style=for-the-badge&logo=yaml&logoColor=151515)](https://yaml.org/)
[![Hugging Face](https://img.shields.io/badge/Hugging%20Face-%23FFD700.svg?style=for-the-badge&logo=huggingface&logoColor=black)](https://huggingface.co/valentinsingularity/reflectivity)

[![Python version](https://img.shields.io/badge/python-3.7%7C3.8%7C3.9%7C3.10%7C3.11%7C3.12-blue.svg)](https://www.python.org/)
![CI workflow status](https://github.com/schreiber-lab/reflectorch/actions/workflows/ci.yml/badge.svg)
![Repos size](https://img.shields.io/github/repo-size/schreiber-lab/reflectorch)
[![CodeFactor](https://www.codefactor.io/repository/github/schreiber-lab/reflectorch/badge)](https://www.codefactor.io/repository/github/schreiber-lab/reflectorch)
[![Jupyter Book Documentation](https://jupyterbook.org/badge.svg)](https://jupyterbook.org/)
[![Documentation Page](https://img.shields.io/badge/Documentation%20Page-%23FFDD33.svg?style=flat&logo=read-the-docs&logoColor=black)](https://schreiber-lab.github.io/reflectorch/)
<!-- [![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) -->


**Reflectorch** is a machine learning Python package for the analysis of X-ray and neutron reflectometry data, written by [Vladimir Starostin](https://github.com/StarostinV/) & [Valentin Munteanu](https://github.com/valentinsingularity) 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](https://doi.org/10.1107/S1600576724002115).

## Installation

**Reflectorch** can be installed from [![PyPi](https://img.shields.io/badge/PyPi-3776AB.svg?style=flat&logo=pypi&logoColor=white)](https://pypi.org/project/reflectorch/) via ``pip``:

<!-- or from [![conda-forge](https://img.shields.io/badge/conda--forge-44A833.svg?style=flat&logo=conda-forge&logoColor=white)](https://anaconda.org/conda-forge/reflectorch/) via ``conda``: -->

```bash
pip install reflectorch
```

<!-- or

```bash
conda install -c conda-forge reflectorch
``` -->

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

```bash
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:

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

Users with Nvidia **GPU**s need to additionally install **Pytorch with CUDA support** corresponding to their hardware and operating system according to the instructions from the [Pytorch website](https://pytorch.org/get-started/locally/)

## Get started

[![Documentation Page](https://img.shields.io/badge/Documentation%20Page-%23FFDD33.svg?style=flat&logo=read-the-docs&logoColor=black)](https://schreiber-lab.github.io/reflectorch/)
 The full documentation of the package, containing tutorials and the API reference, was built with [Jupyter Book](https://jupyterbook.org/) and [Sphinx](https://www.sphinx-doc.org) and it is hosted at the address: [https://schreiber-lab.github.io/reflectorch/](https://schreiber-lab.github.io/reflectorch/).

[![Interactive Notebook](https://img.shields.io/badge/Interactive%20Notebook-%23F9AB00.svg?style=flat&logo=google-colab&logoColor=black)](https://colab.research.google.com/drive/1rf_M8S_5kYvUoK0-9-AYal_fO3oFl7ck?usp=sharing)
We provide an interactive Google Colab notebook for exploring the basic functionality of the package: [![Explore reflectorch in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1rf_M8S_5kYvUoK0-9-AYal_fO3oFl7ck?usp=sharing)<br>

[![Hugging Face](https://img.shields.io/badge/Hugging%20Face-%23FFD700.svg?style=flat&logo=huggingface&logoColor=black)](https://huggingface.co/valentinsingularity/reflectivity)
Configuration files and the corresponding pretrained model weights are hosted on Huggingface: [https://huggingface.co/valentinsingularity/reflectivity](https://huggingface.co/valentinsingularity/reflectivity).

[![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=docker&logoColor=white)](https://hub.docker.com/)
Docker images for reflectorch *will* be hosted on Dockerhub.


## Citation
If you find our work useful in your research, please cite as follows:
```
@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)},
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "reflectorch",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>, Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Alexander Hinderhofer <alexander.hinderhofer@uni-tuebingen.de>",
    "keywords": "reflectometry, machine learning",
    "author": null,
    "author_email": "Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>",
    "download_url": "https://files.pythonhosted.org/packages/0b/93/226c95d405a0e2f5f917d007379984a5f10152b8ec08cb069fb1cb644edb/reflectorch-1.2.1.tar.gz",
    "platform": null,
    "description": "# Reflectorch\r\n\r\n[![PyTorch](https://img.shields.io/badge/PyTorch-%23EE4C2C.svg?style=for-the-badge&logo=PyTorch&logoColor=white)](https://pytorch.org/)\r\n[![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge&logo=numpy&logoColor=white)](https://numpy.org/)\r\n[![SciPy](https://img.shields.io/badge/SciPy-%230C55A5.svg?style=for-the-badge&logo=scipy&logoColor=%white)](https://scipy.org/)\r\n[![Matplotlib](https://img.shields.io/badge/Matplotlib-%23ffffff.svg?style=for-the-badge&logo=Matplotlib&logoColor=black)](https://matplotlib.org/)\r\n[![YAML](https://img.shields.io/badge/yaml-%23ffffff.svg?style=for-the-badge&logo=yaml&logoColor=151515)](https://yaml.org/)\r\n[![Hugging Face](https://img.shields.io/badge/Hugging%20Face-%23FFD700.svg?style=for-the-badge&logo=huggingface&logoColor=black)](https://huggingface.co/valentinsingularity/reflectivity)\r\n\r\n[![Python version](https://img.shields.io/badge/python-3.7%7C3.8%7C3.9%7C3.10%7C3.11%7C3.12-blue.svg)](https://www.python.org/)\r\n![CI workflow status](https://github.com/schreiber-lab/reflectorch/actions/workflows/ci.yml/badge.svg)\r\n![Repos size](https://img.shields.io/github/repo-size/schreiber-lab/reflectorch)\r\n[![CodeFactor](https://www.codefactor.io/repository/github/schreiber-lab/reflectorch/badge)](https://www.codefactor.io/repository/github/schreiber-lab/reflectorch)\r\n[![Jupyter Book Documentation](https://jupyterbook.org/badge.svg)](https://jupyterbook.org/)\r\n[![Documentation Page](https://img.shields.io/badge/Documentation%20Page-%23FFDD33.svg?style=flat&logo=read-the-docs&logoColor=black)](https://schreiber-lab.github.io/reflectorch/)\r\n<!-- [![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) -->\r\n\r\n\r\n**Reflectorch** is a machine learning Python package for the analysis of X-ray and neutron reflectometry data, written by [Vladimir Starostin](https://github.com/StarostinV/) & [Valentin Munteanu](https://github.com/valentinsingularity) at the University of T\u00fcbingen. 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](https://doi.org/10.1107/S1600576724002115).\r\n\r\n## Installation\r\n\r\n**Reflectorch** can be installed from [![PyPi](https://img.shields.io/badge/PyPi-3776AB.svg?style=flat&logo=pypi&logoColor=white)](https://pypi.org/project/reflectorch/) via ``pip``:\r\n\r\n<!-- or from [![conda-forge](https://img.shields.io/badge/conda--forge-44A833.svg?style=flat&logo=conda-forge&logoColor=white)](https://anaconda.org/conda-forge/reflectorch/) via ``conda``: -->\r\n\r\n```bash\r\npip install reflectorch\r\n```\r\n\r\n<!-- or\r\n\r\n```bash\r\nconda install -c conda-forge reflectorch\r\n``` -->\r\n\r\nAlternatively, one can clone the entire Github repository and install the package in editable mode:\r\n\r\n```bash\r\ngit clone https://github.com/schreiber-lab/reflectorch.git\r\npip install -e .\r\n```\r\n\r\nFor development purposes, the package can be installed together with the optional dependencies for building the distribution, testing and documentation:\r\n\r\n```bash\r\ngit clone https://github.com/schreiber-lab/reflectorch.git\r\npip install -e .[tests,docs,build]\r\n```\r\n\r\nUsers with Nvidia **GPU**s need to additionally install **Pytorch with CUDA support** corresponding to their hardware and operating system according to the instructions from the [Pytorch website](https://pytorch.org/get-started/locally/)\r\n\r\n## Get started\r\n\r\n[![Documentation Page](https://img.shields.io/badge/Documentation%20Page-%23FFDD33.svg?style=flat&logo=read-the-docs&logoColor=black)](https://schreiber-lab.github.io/reflectorch/)\r\n The full documentation of the package, containing tutorials and the API reference, was built with [Jupyter Book](https://jupyterbook.org/) and [Sphinx](https://www.sphinx-doc.org) and it is hosted at the address: [https://schreiber-lab.github.io/reflectorch/](https://schreiber-lab.github.io/reflectorch/).\r\n\r\n[![Interactive Notebook](https://img.shields.io/badge/Interactive%20Notebook-%23F9AB00.svg?style=flat&logo=google-colab&logoColor=black)](https://colab.research.google.com/drive/1rf_M8S_5kYvUoK0-9-AYal_fO3oFl7ck?usp=sharing)\r\nWe provide an interactive Google Colab notebook for exploring the basic functionality of the package: [![Explore reflectorch in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1rf_M8S_5kYvUoK0-9-AYal_fO3oFl7ck?usp=sharing)<br>\r\n\r\n[![Hugging Face](https://img.shields.io/badge/Hugging%20Face-%23FFD700.svg?style=flat&logo=huggingface&logoColor=black)](https://huggingface.co/valentinsingularity/reflectivity)\r\nConfiguration files and the corresponding pretrained model weights are hosted on Huggingface: [https://huggingface.co/valentinsingularity/reflectivity](https://huggingface.co/valentinsingularity/reflectivity).\r\n\r\n[![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=docker&logoColor=white)](https://hub.docker.com/)\r\nDocker images for reflectorch *will* be hosted on Dockerhub.\r\n\r\n\r\n## Citation\r\nIf you find our work useful in your research, please cite as follows:\r\n```\r\n@Article{Munteanu2024,\r\n  author    = {Munteanu, Valentin and Starostin, Vladimir and Greco, Alessandro and Pithan, Linus and Gerlach, Alexander and Hinderhofer, Alexander and Kowarik, Stefan and Schreiber, Frank},\r\n  journal   = {Journal of Applied Crystallography},\r\n  title     = {Neural network analysis of neutron and X-ray reflectivity data incorporating prior knowledge},\r\n  year      = {2024},\r\n  issn      = {1600-5767},\r\n  month     = mar,\r\n  number    = {2},\r\n  volume    = {57},\r\n  doi       = {10.1107/s1600576724002115},\r\n  publisher = {International Union of Crystallography (IUCr)},\r\n}\r\n```\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Pytorch-based package for the analysis of reflectometry data",
    "version": "1.2.1",
    "project_urls": {
        "Documentation": "https://schreiber-lab.github.io/reflectorch/",
        "Issues": "https://github.com/schreiber-lab/reflectorch/issues",
        "Source": "https://github.com/schreiber-lab/reflectorch/"
    },
    "split_keywords": [
        "reflectometry",
        " machine learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b42573e660b8a1031cda97f42b470cb4bf71a9908c1e5b173d9588165f2a13d",
                "md5": "059d57ee96db9f7161315fc0dee50115",
                "sha256": "7bb7cae7a1564dc0b3b13da0e5924f899a1c7344dd14a3444ff25532c6396c7f"
            },
            "downloads": -1,
            "filename": "reflectorch-1.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "059d57ee96db9f7161315fc0dee50115",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 105990,
            "upload_time": "2024-08-08T12:25:33",
            "upload_time_iso_8601": "2024-08-08T12:25:33.548553Z",
            "url": "https://files.pythonhosted.org/packages/4b/42/573e660b8a1031cda97f42b470cb4bf71a9908c1e5b173d9588165f2a13d/reflectorch-1.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b93226c95d405a0e2f5f917d007379984a5f10152b8ec08cb069fb1cb644edb",
                "md5": "aa1e5de46897ac2a542aef14971a97ca",
                "sha256": "7d6520a80f91df7428a9929a45f67dec038a5ba72e541820881d9ec9f07d4830"
            },
            "downloads": -1,
            "filename": "reflectorch-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "aa1e5de46897ac2a542aef14971a97ca",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 239166,
            "upload_time": "2024-08-08T12:25:36",
            "upload_time_iso_8601": "2024-08-08T12:25:36.413810Z",
            "url": "https://files.pythonhosted.org/packages/0b/93/226c95d405a0e2f5f917d007379984a5f10152b8ec08cb069fb1cb644edb/reflectorch-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-08 12:25:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "schreiber-lab",
    "github_project": "reflectorch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "reflectorch"
}
        
Elapsed time: 3.67357s