Using iris: typical workflow

Before you start

You might want to download test datasets before you start to play around. Test reduced datasets are made available by the Siwick research group. The data can be accessed on the public data repository


To start the GUI from the command line:

> python -m iris

Note that the command-line interface has some useful options:

> python -m iris --help
usage: iris [-h] [-v] {open,docs} ...

Iris is both a library for interacting with ultrafast electron diffraction
data, as well as a GUI frontend for interactively exploring this data. Below
are some helpful commands.

optional arguments:
-h, --help        show this help message and exit
-v, --version     show program's version number and exit

{open,docs}  Available sub-commands
    open            Dataset to open with iris start-up.
    docs            Open online documentation in your default web browser.

Running this command without any parameters will launch the graphical user
interface. Documentation is available here:

Most importantly, you can programatically start the GUI with opening a dataset:

> python -m iris open --reduced ~/dataset.hdf5

The path can lead to a reduced HDF5 file (flag –reduced) or a raw dataset (flag –raw). In case of a raw dataset, the dataset format will be guessed with the same rules as iris.open_raw().

The first blank screen is shown below.


Loading raw data

The file menu can be used to load raw data. Depending on the installed plugins, options will be available. To install a new plug-in, use the following option:


You’ll be able to select a plug-in file which will be copied to the plug-in directory. The plugin can be used immediately. Once a plug-in is installed, a new raw data format will appear.


Here is an example of loaded raw data: Raw data controls are available to the right.


Data reduction

Once raw data is loaded, the following option becomes available:


This opens the data reduction dialog.


Parts of the data can be masked. To add a mask, use the controls on the top of the dialog. Masks can be moved and resized. Note that all images will be masked, so this is best for beam blocks, known hot pixels, etc.


A preview of the mask can be generated:


Once you are satisfied with the processing parameters, the ‘Launch processing’ button will open a file dialog so that you can choose where to save the reduced HDF5 file. Processing might take a few minutes.

Data exploration

Once processing is complete, the resulting diffraction dataset will be loaded. New controls will be available.


The ‘Show/hide peak dynamics’ button can be toggled. Doing so allows for the exploration of the time-evolution of the data.


When a diffraction dataset is loaded, new options become available.


One of these options, ‘Compute angular averages’, is best suited for polycrystalline diffraction. It opens the following dialog:


Drag and resize the red circle so it coincides with a diffraction ring. This will allow for the determination of the diffraction center. The averaging will happen after clicking ‘Promote’. This might take a few minutes.

Polycrystalline data exploration

After the azimuthal averages have been computed, a new section of the GUI will be made available, with additional controls.


The top screen shows the superposition of all radial profiles. Dragging the yellow lines allows for exploration of time-evolution on the bottom screen. Note that the trace colors on the top are associated with the time-points and colors of the bottom image.


The baseline can be removed using the controls on the right. You can play with the baseline parameters and compute a baseline many times without any problems.


Polycrystalline scattering vector calibration

On the above images, the scattering vector range might not be right. To calibrate the scattering vector range based on a known structure, select the ‘Calibrate scattering vector’ option from the ‘Dataset’ menu.


This opens the calibration dialog.


You must either select a structure file (CIF) or one of the built-in structures. Once a structure is selected, it’s description will be printed on the screen. Make sure this is the crystal structure you expect.

Then, drag the left and right yellow bars on two diffraction peaks with known Miller indices. Click ‘Calibrate’ to calibrate the scattering vector range.