Pylatus: beamline control software

What is Pylatus

Pylatus is beamline control software for diffractometers based on Dectris Pilatus detectors and ICEPAP motor controls originally developed for the BM01 beamline at SNBL@ESRF.


Pylatus beamlines

Currently, Pylatus is working at the following ESRF beamlines:

Why Pylatus?

Pylatus is trying to combine a simple and easy-to-learn interface together with complexity required for modern synchrotron experiments. User can collect individual or multiple datasets for single crystals or powders using GUI but more advanced options for complicated data collection are also available (see scripting in Python).

Pylatus gives total control over beamline starting up from the optics (mirrors and monochromators) down to the sample environment. It includes a lot of batteries, such as:

  • Kappa or chi goniometer for single crystal and powder experiments. Infinite spinner is also available.
  • All motor views and controls, moving motors relatively and absolutely.
  • Pseudo-motors (such as energy, wavelength or grouped motions).
  • Continuous scans (1D or meshes) for all motors using as counters:
    • any SPEC counters;
    • Silicon diodes connected to nano-ammeters (currently, only Keithley 6485 is supported);
    • Pilatus detector itself (summing up all pixels on the frame using AVX512, AVX or SSE4 intrinsics if available);
  • Beamline auto-alignment (using routine scenarios, like scanning a motor and positioning it to the intensity maximum value);
  • Automatic beamstop search on the measured frames (using AVX512, AVX or SSE4 intrinsics if available; calibration required).
  • Automatic storing experimental values (temperature, pressure, voltage, etc.) into the headers of the output CBF files.
  • Powerful scripting in Python for complex experimental scenarios and sequences.
  • Native control of the sample environment devices, such as:
  • Implementation of the ESRF data policy.
  • Possibility to connect to SPEC sessions and run everything available from SPEC.

Pylatus source code

Pylatus is free and open source software (under GPLv3 license), the source code can be found in the Pylatus git repository.

Pylatus is mainly written in C++ but it has some modules written in pure C and Rust. Pylatus depends on Qt5 (min version 5.12). Pylatus contains additional daemons, such as:

  • dcubroker - a daemon running on the Dectris DCU. It collects cbf files from the camserver and sends them to Pylatus (written in Rust).
  • icepapd - a daemon running the ESRF ICEPAP crates (written in Rust).

Cite Pylatus

If you use Pylatus or its parts, please cite this paper: A new multipurpose diffractometer PILATUS@SNBL, J. Synchrotron Rad. (2016). 23, 825-829 .