mlgidGUI - an annotation program for 2D scattering data

mlgidGUI - an annotation program for 2D scattering data - Published in JOSS (2025)

https://github.com/mlgid-project/mlgidgui

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 13 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 3 months ago · JSON representation

Repository

mlgidGUI - an annotation program for 2D scattering data

Basic Info
  • Host: GitHub
  • Owner: mlgid-project
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 29.5 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 9
Created 12 months ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

mlgidGUI

Logo of mlgidGUI

Project summary

mlgidGUI is a graphical tool for the analysis and annotation of 2D scattering data e.g. Grazing-Incidence Wide-Angle X-ray Scattering (GIWAXS). The resulting datasets can be used for training and testing ML models or further manual analysis. mlgidGUI is well suited for the annotation of 2D diffraction images with radial symmetry. In particular, it focuses on grazing-incidence wide-angle scattering data analysis and its specific needs.

Installation

Recommended: Precompiled AppImage or EXE

Readily compiled packages for the x64 architecture with Windows and Unix are available at the releases page: https://github.com/mlgid-project/mlgidGUI/releases

To run the program on Windows simply double click on the file and ignore the security warnings.

Follow these instructions to run the AppImage: https://docs.appimage.org/introduction/quickstart.html

Alternative: Installation with conda

Clone with git:

git clone https://github.com/mlgid-project/mlgidGUI.git

cd ./mlgidGUI

pip install ./

python3 main.py

Alternative: Installation from PyPI

pip install mlgidGUI * Apply a Patch to pyqtgraph

pip install git+https://github.com/pyqtgraph/pyqtgraph.git@6eb0bf1a928c3e8fef332bbebe8a9da3be0ab19a

Usage

Import images or HDF5 files into the program, select an image in the Project Manager and begin labeling. To add annotations, hold Ctrl + Alt, then click, hold, and drag the mouse over the image, similar to using a shape-drawing tool. The key combination Ctrl + H can be used to hide the annotations. The annotated data can be exported as PASCAL-VOC dataset or as an HDF5 file.

  • We added a CIF file, a GIWAXS image, and an HDF5 file in the docs\example_files folder to provide the user with examples.
  • For a short demonstration of the program usage, please refer to the Workflow section.
  • For a detailed guidance, please refer to the Documentation section

Papers

This project is part of our broader efforts to improve and automate GIWAXS analysis. Below is a list of related papers.

ML-based peak detection and structure refinement

Tracking perovskite crystallization via deep learning-based feature detection on 2D X-ray scattering data

V. Starostin, V. Munteanu, A. Greco, E. Kneschaurek, A. Pleli, F. Bertram, A. Gerlach, A. Hinderhofer, and F. Schreiber. npj Comput Mater 8, 101 (2022) https://doi.org/10.1038/s41524-022-00778-8

Deployment at synchrotron facilities for real-time analysis

End-to-end deep learning pipeline for real-time processing of surface scattering data at synchrotron facilities

V. Starostin, L. Pithan, A. Greco, V. Munteanu, A. Gerlach, A. Hinderhofer, and F. Schreiber. Synchrotron Radiation News, 35:4, 21-27 (2022) https://doi.org/10.1080/08940886.2022.2112499

Benchmarking peak detection

Benchmarking deep learning for automated peak detection on GIWAXS data

C. Vlter, V. Starostin, D. Lapkin, V. Munteanu, M. Romodin, M. Hylinski, A. Gerlach, A. Hinderhofer, F. Schreiber. Journal of Applied Crystallography (2025) accepted https://doi.org/10.1107/S1600576725000974

Owner

  • Name: mlgid
  • Login: mlgid-project
  • Kind: organization

JOSS Publication

mlgidGUI - an annotation program for 2D scattering data
Published
November 09, 2025
Volume 10, Issue 115, Page 8499
Authors
Constantin Völter ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Vladimir Starostin ORCID
Cluster of Excellence "Machine Learning for Science", University of Tübingen, Maria-von-Linden-Str. 6, 72076 Tübingen, Germany
Mikhail Romodin ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Ekaterina Kneschaurek ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Dmitry Lapkin ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Alexander Hinderhofer ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Frank Schreiber ORCID
Institute of Applied Physics – University of Tübingen, Auf der Morgenstelle 10, 72076 Tübingen, Germany
Editor
Lucy Whalley ORCID
Tags
GIWAXS machine learning scattering data

GitHub Events

Total
  • Create event: 2
  • Issues event: 7
  • Release event: 11
  • Watch event: 1
  • Issue comment event: 3
  • Member event: 5
  • Push event: 10
Last Year
  • Create event: 2
  • Issues event: 7
  • Release event: 11
  • Watch event: 1
  • Issue comment event: 3
  • Member event: 5
  • Push event: 10

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: 14 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 14 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kstenio (3)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 12 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 3
pypi.org: mlgidgui

A GUI program for GIWAXS images analysis and annotation

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12 Last month
Rankings
Dependent packages count: 8.7%
Forks count: 30.8%
Average: 32.3%
Stargazers count: 40.8%
Dependent repos count: 48.9%
Maintainers (3)
Last synced: 4 months ago

Dependencies

.github/workflows/build_releases.yml actions
  • actions/checkout v3 composite
  • actions/create-release latest composite
  • actions/setup-python v2 composite
  • actions/upload-release-asset v1 composite
  • dev-drprasad/delete-older-releases v0.2.1 composite
  • docker://pandoc/extra * composite
setup.py pypi
  • Pillow ==10.3.0
  • PyQt5 ==5.14.1
  • appdirs ==1.4.4
  • h5py ==3.9.0
  • networkx ==3.1
  • numpy ==1.24.4
  • opencv-python-headless ==4.8.0.76
  • pathvalidate ==3.2.0
  • periodictable ==1.6.1
  • pyqtgraph ==0.12.4
  • qdarkgraystyle ==1.0.2
  • qdarkstyle ==3.1
  • requests ==2.31.0
  • scipy ==1.10.1
  • tifffile ==2023.7.10
  • transliterate *
  • typing_extensions *
  • xmlobj *
  • xrayutilities ==1.7.7