The in situ GIXS heuristic tool for efficient reduction of grazing-incidence scattering data

INSIGHT (In-Situ GIXS Heuristic Tool) is a python-based data reduction and visualization tool for 2D detector data of in-situ grazing-incidence X-ray small- and wide-angle scattering with powerful batch processing abilities to help investigate the time-evolution of the inner morphology in thin films.


The INSIGHT publication in the Journal of Applied Crystallography is available at
M. A. Reus, L. K. Reb, D. P. Kosbahn, S. V. Roth and P. Müller-Buschbaum, J. Appl. Cryst. 57 (2024); DOI: 10.1107/S1600576723011159.

Access to software

Please write an email to to get the latest version of INSIGHT. Demo scripts and documentation are also available.
The software is open source and available under the GNU General Public License version 3 as published by the Free Software Foundation.

Feature overview

  • transform 2D GIXS data tto reciprocal space
  • perform tube-cuts, cake-cuts, pseudo XRD cuts
  • visualize data s qr-qz plots, chi-q plots
  • 3D detector rotation possible
  • workflow without data loss possible
  • use fixed or dynamic geometry parameters (e.g., SDD or inca changes in in situ experiments)
  • applying masks, flatfield corrections, gap masks
  • intensity corrections: angular pixel sensitivity, air attenuation, polarization
  • subtracting background in GIWAXS tube cuts
  • correcting tilt
  • removing hot pixels
  • investigating count distributions
  • image processing such as smoothing or upsampling
  • easy and advanced plotting features for GIWAXS and GISAXS
  • saving raw or reduced data and plots
  • investigating and fitting isolated q-region
  • tracking the fitting parameters during evolution
  • SDD normalization for each image

Version changelog

0.2.2 (11.11.2023)

  • GIWAXS simulations: extended functionality for GIWAXS simulations (see, add missing wedge simulation, add functionality to plot reflexes inside the missing wedge
  • add the option to do GISAXS cuts in qy or qr space, depending on the user's choice
  • fix unit handling in plotting: INSIGHT always uses inverse angstroms (NOT inverse nm)
  • fix and update demo scripts
  • extend demo scripts for batch processing
  • fix some plotting issues

0.2.1 (28.04.2023)

  • use Qt5Agg as standard matplotlib backend

0.2.0 (26.04.2023)

  • 10x faster
  • GIWAXS simulation and indexing added
  • many new demo files for multiple use cases
  • heavily improved plot_reshaped_image() function
  • functions to import tube/cake cuts for creating 2D-time evolution plots
  • easier fitting of cuts


Efficient reduction of 2D grazing-incidence X-ray scattering (GIXS) data becomes more computational demanding with technical developments that increase the detector time-resolution and pixel number. Thus, we are developing INSIGHT that allows for computationally efficient reduction of GIXS data, giving full access to the raw data while a first reduction can be done directly at the beamline.

Developed by Manuel A. Reus & Lennart K. Reb.