Hummingbird: monitoring and analyzing flash X-ray imaging experiments in real time.
Advances in X-ray detectors and increases in the brightness of X-ray sources combined with more efficient sample delivery techniques have brought about tremendous increases in the speed of data collection in diffraction experiments. Using X-ray free-electron lasers such as the Linac Coherent Light Source (LCLS), more than 100 diffraction patterns can be collected in a second. These high data rates are invaluable for flash X-ray imaging (FXI), where aerosolized samples are exposed to the X-ray beam and the resulting diffraction patterns are used to reconstruct a three-dimensional image of the sample. Such experiments require immediate feedback on the quality of the data collected to adjust or validate experimental parameters, such as aerosol injector settings, beamline geometry or sample composition. The scarcity of available beamtime at the laser facilities makes any delay extremely costly. This paper presentsHummingbird, an open-source scalable Python-based software tool for real-time analysis of diffraction data with the purpose of giving users immediate feedback during their experiments.Hummingbirdprovides a fast, flexible and easy-to-use framework. It has already proven to be of great value in numerous FXI experiments at the LCLS.
Laboratory of Molecular Biophysics, Department of Cell and Molecular Biology, Uppsala University, Sweden.
Benedikt J
BJ
Daurer
Laboratory of Molecular Biophysics, Department of Cell and Molecular Biology, Uppsala University, Sweden.
Max F
MF
Hantke
Laboratory of Molecular Biophysics, Department of Cell and Molecular Biology, Uppsala University, Sweden; Division of Scientific Computing, Department of Information Technology, Science for Life Laboratory, Uppsala University, Sweden.
Carl
C
Nettelblad
Laboratory of Molecular Biophysics, Department of Cell and Molecular Biology, Uppsala University, Sweden.
Filipe R N C
FR
Maia
X-ray free-electron lasers; XFELs; computer programs; flash X-ray imaging; real-time data analysis