lyse is a data analysis framework for experiments controlled by the labscript suite. It coordinates online analysis of live experiment data, by automatically running Python analysis scripts.
Analysis routines are Python scripts that can be run on a labscript experiment (HDF5) file. We break analysis into two distinct groups:
- single-shot analysis routines analyze a single HDF5 file corresponding to one realization of an experimental sequence, or shot; and
- 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 = lyse.data(host='127.0.0.1', port=42519)
Moreover, the lyse DataFrame can be serialized 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.
lyse is distributed as a Python package on PyPI and Anaconda Cloud, and should be installed with other components of the labscript suite. Please see the installation guide for details.