lyse is a data analysis framework for experiments controlled by the labscript suite. Analysis routines are Python scripts that can be run on a labscript shot file. We break analysis into two distinct groups:

  1. single-shot analysis routines analyse a single hdf5 file corresponding to one realisation of an experimental sequence, or shot; and
  2. multi-shot analysis routines perform higher-order analysis on data from many shots.

A set of Python scripts can be loaded for each analysis category, which will run (when appropriate) on new shot files as they are sent to lyse from blacs. Acquired data, global variables from runmanager and analysis results generated in lyse, for all loaded shots, are stored in a table (a pandas DataFrame). This is a powerful analysis schema that takes advantage of the self-documenting nature of labscript experiment shot files.

The DataFrame is displayed in the lyse GUI and can also be accessed remotely from another PC as follows:

import lyse
df ='', port=42519)

Moreover, the lyse DataFrame can be serialised so that an analysis session can be restored in lyse or in a headless environment.


The lyse interface, comprising:

  • Single- and multi-shot analysis routines (Python scripts);
  • A graphical representation of the Pandas DataFrame;
  • Figures generated by the analysis scripts.†
  • The output log from lyse and the analysis routines.

† In this example, these are publication quality figures generated for the manuscript Science 364, pp. 1267 (2019) doi:10.1126/science.aat5793.