Skip to main content

A GUI program for GIWAXS images analysis

Project description


A graphical tool for GIWAXS data analysis.

giwaxs-gui contains all the basic functionality for the analysis of 2D diffraction images with circular symmetry. In particular, it focuses on grazing-incidence wide-angle scattering data analysis and its specific needs.


  • PyQt5
  • numpy
  • scipy
  • opencv-python
  • pyqtgraph
  • h5py


Pip install

To install the current release via pip, you should have python installed on your computer. The minimum required version is 3.6.0. Install package via pip:

pip install giwaxs-gui

After installation you can launch the program:

>>>from giwaxs_gui import run




The program provides different tools for visualizing, detecting and fitting Bragg reflections with circular or rotational symmetry on diffraction images. The corresponding angular and radial positions and sizes of detected diffraction reflections can be saved for further analysis.

The graphical interface consists of several functional widgets that can be dragged over the window, resized and hidden to optimize the analysis. One can show/hide widgets by clicking on corresponding icons on the top left toolbar. Main widgets are:

  • File manager (left)
  • Image viewer (top center)
  • Radial and angular profiles (bottom right)
  • Control widget (top right)
  • Interpolation widget (not shown)

In the following some of these widgets are described in detail.

File manager


File manager allows to add files and folders to the file tree. Image viewer automatically updates image based on selected file. It also shows Properties item containing info about measurement geometry and added segments. All the changes are held by file widget which allows processing many images simultaneously. The data and found segments can be saved to .h5 file.

Available extensions

Available files extensions to read from:

  • .tif(f)
  • .edf
  • .h5

Please note that the currently used .edf reader is written for specific extension of .edf files used on some x-ray facilities. h5 file reading is powered by h5py library, and .tiff files are read via opencv-python package. Hence, the current list can be easily extended by the number of image extensions supported by opencv library.

Both H5 files parsing and folder parsing are designed in a way that they read only the content of groups/folders which are selected. It may accelerate reading huge h5 files if they are well structured.

Image viewer


Image viewer provides options for setting geometry (beam center, axes scale, image transformations - geometry toolbar on top left) and adopting the view by changing the colormap and its bounds (histogram widget on the right). An added segment immediately appears on the image viewer. Currently this widget does not support moving segments by dragging, but provides its visualization.

Radial profile


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

giwaxs_gui- (12.9 MB view hashes)

Uploaded source

Supported by

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