Skip to main content

A GUI program for GIWAXS images analysis and annotation

Project description

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. Völter, 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mlgidgui-0.6.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file mlgidgui-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: mlgidgui-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mlgidgui-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd6d04ede9658695d38bef6b3d9c4ae98e09847bafc593873d61a34ed74dc610
MD5 848a1adc6c8b47fe52266137da2f77ef
BLAKE2b-256 23c725b36ef0f5ffb13f599450b34703fea8b150c606de5bbe362dc0793923ab

See more details on using hashes here.

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