research papers
Online dynamic flat-field correction for MHz microscopy data at European XFEL
aEuropean XFEL GmbH, Schenefeld, Germany, bSynchrotron Radiation Research and NanoLund, Lund University, Lund, Sweden, cCenter for Free-Electron Laser Science (CFEL), DESY, Hamburg, Germany, dUniversity of Hamburg, Hamburg, Germany, eDiamond Light Source Ltd, Harwell Science and Innovation Campus, Didcot OX11 0DE, United Kingdom, and fDepartment of Chemistry and Physics, La Trobe Institute for Molecular Science, La Trobe University, Melbourne, Victoria, Australia
*Correspondence e-mail: sarlota.birnsteinova@xfel.eu
The high pulse intensity and repetition rate of the European X-ray Free-Electron Laser (EuXFEL) provide superior temporal resolution compared with other X-ray sources. In combination with MHz X-ray microscopy techniques, it offers a unique opportunity to achieve superior contrast and spatial resolution in applications demanding high temporal resolution. In both live visualization and offline data analysis for microscopy experiments, baseline normalization is essential for further processing steps such as phase retrieval and modal decomposition. In addition, access to normalized projections during data acquisition can play an important role in decision-making and improve the quality of the data. However, the stochastic nature of X-ray free-electron laser sources hinders the use of standard flat-field normalization methods during MHz X-ray microscopy experiments. Here, an online (i.e. near real-time) dynamic flat-field correction method based on principal component analysis of dynamically evolving flat-field images is presented. The method is used for the normalization of individual X-ray projections and has been implemented as a near real-time analysis tool at the Single Particles, Clusters, and Biomolecules and Serial Femtosecond Crystallography (SPB/SFX) instrument of EuXFEL.
Keywords: MHz X-ray microscopy; flat-field correction; online data processing; X-ray free-electron laser.
1. Introduction
Over the past few decades, X-ray microscopy has been established as an important tool in a broad range of scientific applications. In addition to spatial resolutions reaching the nanometre scale (Sakdinawat & Attwood, 2010), there have been significant advances in temporal resolution at third- and fourth-generation X-ray synchrotron sources (Fezzaa & Wang, 2008; Olbinado et al., 2017; Parab et al., 2018). Fast megahertz (MHz)-rate X-ray microscopy synchronized to individual X-ray pulses has been pioneered at the Advanced Photon Source, USA (Fezzaa & Wang, 2008), and at the European Synchrotron Radiation Facility, France (Olbinado et al., 2017), which made it possible to image fast stochastic phenomena. Recently, MHz X-ray microscopy with frame acquisition synchronized to individual X-ray pulses has been demonstrated at the European X-ray Free-Electron Laser (EuXFEL), Germany (Vagovič et al., 2019). This development was enabled by the unique properties of X-ray free-electron lasers (XFELs) and the availability of fast MHz detectors. In particular, EuXFEL is currently the only XFEL source providing intense pulses arriving at MHz rates (Decking et al., 2020), which opens up the potential for development of novel methods and applications, such as MHz X-ray multi-projection X-ray imaging (Villanueva-Perez et al., 2023).
EuXFEL provides three orders of magnitude more photons per pulse (∼1012–1013) than the most brilliant synchrotron source, i.e. ESRF. EuXFEL also provides high spatial coherence, with a source distance of 1 km and a maximum divergence of 4 µrad, with photon energy up to 24 keV (Sinn et al., 2011). The unique properties of EuXFEL come with unique issues, which complicate the acquisition of high-quality MHz microscopic data. An XFEL's X-ray pulses are generated through the self-amplified (SASE) process (Milton et al., 2001), which leads to strongly stochastic spatial and temporal fluctuations.
The noise appearing in microscopy data is often referred to as fixed-pattern noise. This noise originates from the different responses of the detector's pixels and imperfections in the optic systems, such as scintillator screens, lenses, etc. Ideally, image aberrations should be corrected, so that only the signal variations originating from the X-rays' interaction with a sample are observed. Methods aiming to achieve this goal are often referred to as `flat-field correction' methods.
Flat-field correction methods rely on using reference images averaged over many realizations of acquired images. Reference images acquired with beam illumination are referred to as `flat-field images', while images acquired without beam illumination are referred to as `dark-field images'. However, as a stationary method, traditional flat-field correction, which assumes a flat-field that is stable in time, is unable to sufficiently normalize data produced by an XFEL probe which is stochastic and varies in a pulse-to-pulse manner.
There are several methods used for correcting both these effects (Nieuwenhove et al., 2015; Hagemann et al., 2021; Buakor et al., 2022; Hodge et al., 2022). The issue of normalization of a dynamically changing flat-field has been tackled by a method (Nieuwenhove et al., 2015) in which the reference flat-fields are represented in a latent lower-dimensional and an `effective' flat-field is chosen per input image in the latent space. A latent space is a resulting from an injective transformation of the original data representation, in which similar samples are positioned closer to one another, as measured by a certain criterium. In this paper, the latent space is built in such a way that strongly correlated data variations are agglomerated in the same dimension. This method, called dynamic flat-field correction, was introduced by Nieuwenhove et al. (2015) for synchrotron data. The application of a similar method was demonstrated on EuXFEL's full-field imaging data (Hagemann et al., 2021) of high magnification and in combination with deep-learning approaches (Buakor et al., 2022).
In this work, we present an online method used at EuXFEL to perform dynamic flat-field normalization for MHz microscopy data. By `online method' we mean a method used during data acquisition with near real-time output. EuXFEL users often require fast feedback when performing an experiment, such that they may adapt their configurations to improve the quality of the data taken. In such conditions, obtaining normalized images during the experiment may be the deciding factor between a successful experiment and failure to obtain reliable data. The online flat-field correction method described in this paper is optimized to provide output to the user as data arrive, minimizing the delay between data acquisition and analysis. The method proposed here also provides an indication of whether the flat-field images collected as references are sufficient, or whether a new dataset must be collected due to changes in the experimental conditions. This helps to enhance the method's performance, as a dataset of flat-fields that sufficiently describe the illumination at a given moment of measurement has a crucial impact on the resulting quality of the normalization when affected by the fluctuations of SASE illumination. Moreover, the normalized data provided during experiments can be further re-used as input to other processing tools, for which pre-processed data are essential. Our main objective is to ensure high-quality image data at high speeds. We are using a software tool provided by EuXFEL, enabling us to use online data and follow with the normalization procedure in near real-time. The resulting online normalization tool for MHz microscopy was developed and implemented at the Single Particles, Clusters, and Biomolecules and Serial Femtosecond Crystallography (SPB/SFX) instrument of EuXFEL. Our online implementation based on the dynamic method led to a major improvement in the quality of corrected images compared with results using the conventional flat-field-correction approach.
The manuscript is organized as follows. In Section 2, we describe flat-field correction methods. The normalization algorithm and implementation are described in Section 3. We discuss the results and the performance of implementation using test data in Section 4, followed by conclusion and discussion given in Section 5.
2. Flat-field correction
In this section we briefly review the conventional flat-field correction method. We then expand on the dynamic flat-field correction method, which is implemented in this work. While we closely follow Nieuwenhove et al. (2015) and Buakor et al. (2022), differences in the methods are pointed out as needed.
A stationary, conventional flat-field correction removes the effects of spatially uneven illumination functions. Such effects may be caused by variations in the detector response in different pixels or modules, or effects arising from the scintillator and optics configurations. One assumes that there has been a previous data acquisition of Nf flat-field images fj and Nd dark-fields dk, where j ∈ [1, Nf] and k ∈ [1, Nd] refer to the reference images' index. In a stationary flat-field correction, one takes advantage only of the average flat-field and dark-field images, = and = .
A simple procedure to correct the uneven detector response would be to correct each raw input image pi by calculating
As mentioned previously, due to the character of SASE processes, noise is shot-to-shot-dependent, introducing a change in the intensity profile on the scintillator screen between shots. This behavior cannot be captured solely by the average flat-field image, causing the conventional method to fail for such conditions. To correct for the stochastic effects observed in SASE sources such as EuXFEL, a dynamic flat-field correction substitutes the average flat-field with an effective flat-field , that depends on the collected sample image pi itself. With this alternative procedure, the corrected image is
In principle, the true illumination function may be any image. However, some simplifying assumptions allow for an approximate estimate of . Firstly, it is natural to assume that such a flat-field could be expressed as a function of the previously collected flat-fields fj. While such a function may be extremely complex, a simple first-order approximation would be that is a linear combination of the collected flat-fields. For the purposes of an online flat-field correction, this initial assumption leads to a fast and reliable implementation, which may be supplemented by further corrections offline.
While one may approach the issue of the approximation of an effective flat-field with as many weights as there are collected flat-fields, one may further simplify such a description by assuming that only a few collected flat-fields are the main contributors to the sum. A data-reduction technique could, therefore, be of use to reduce the number of coefficients required. We assume that the flat-fields, viewed as a multidimensional random variable with each dimension represented by the pixel content, are samples of a multivariate normal distribution. Note that the assumption is not that the pixels are independent samples of a Gaussian random variable but that the entire image is sampled from a normal distribution, allowing us to consider the correlation between pixel values as appropriate. Under such conditions one may use principal components analysis (PCA) (Pearson, 1901; Hotelling, 1936) to rewrite the linear flat-field combination as a linear combination of the principal components and keep only the components with the largest variance. Discarded components would then contribute little to the linear combination. In general, it is feasible to use M components, where M << Nf. In such a setting, we expand the effective flat-field as
where um is the mth principal component of the mean-subtracted flat-fields, , and wim are free parameters to be identified online.
While a functional form is available to parameterize the effective flat-field , one must determine a procedure to select the weights wim such that the effective flat-field is uniquely chosen for a given sample image pi. A constraint must be imposed on the corrected image for a meaningful choice of weights.
A key constraint is to preserve details originating from the interaction of X-rays with the sample. Such details appear through sharp transitions or edges in the image, separating the signal from the background content. The free parameter wim must, therefore, preserve such edge effects, while removing spurious variations in the images caused by the uneven detector response. Additionally, one would like to remove spurious variations in the images added by an uneven flat-field. The regularization technique of total variation (TV) denoising is often used in image processing to achieve exactly those goals, by minimizing the TV of the corrected image, while aiming to obtain an image as similar as possible to the uncorrected one (Chambolle, 2004). Details concerning the calculation of weights wi can be found in the literature (Nieuwenhove et al., 2015; Chambolle, 2004).
The method described here consists of two separate steps. Initially, reference flat-fields and dark-fields are acquired and PCA is used to obtain the most relevant principal components of the flat-field dataset. During data acquisition with a sample, for each individual frame, weights appropriate for the effective flat-field are found. After such calculation, the final corrected frame is obtained by applying the weights in the linear combination in equation (2).
Such a procedure must be implemented in a way that it can be run online at adequately fast rates to keep up with the data-acquisition rate of EuXFEL. We expand on the technical implementation in the next section.
3. Implementation
This section provides a schematic overview of the two steps of the main online normalization algorithm outlined in the previous section. Selected details of the implementation of the algorithm and specific features for visualization applied at EuXFEL are detailed here.
A schematic overview of the first part of the algorithm, employing PCA, can be found in Fig. 1(a), whereas Fig. 1(b) summarizes the second part which estimates an individual flat-field for every sample image and visualizes the resulting normalized data.
Next, we list some of the specific functions and details used in the implementation of the algorithm. For the total variation minimization of the objective function a quasi-Newton algorithm is applied (Byrd et al., 1995). Python implementation of the minimization algorithm (Byrd et al., 1995) contains the `factr' parameter, which controls the accuracy and is referred to as the precision parameter here. In this work, the precision parameter was tuned to maximize the processing rates of the correction algorithm. Adjustments have been made to preserve the quality of the corrected images while increasing the processing speed.
The speed of the algorithm is further increased by down-sampling all the images entering the minimization procedure (Nieuwenhove et al., 2015; Buakor et al., 2022), causing also reduction of noise in the corrected images. Here, in order not to introduce more time-consuming steps, we omitted any additional algorithms aiming exclusively for noise reduction, which may be included at later stages for offline processing.
This work demonstrates a novel implementation of the dynamic flat-field correction algorithm to be used in EuXFEL's infrastructure, which can be used as a normalization technique during experiments. Moreover, considering the goal of user-friendliness of the online normalization tool, EuXFEL's software framework Karabo (Heisen et al., 2013) is used here for online visualization. One of the two implementations uses the metropc framework and the extra-metro package (Fangohr et al., 2018), which is integrated within the Karabo framework and its graphical user interface (GUI). The metropc framework allows for flexible adjusting of a script during an experiment. It allows visualization of the corrected incoming data, in addition to raw sample images. The second implementation of the online dynamic flat-field correction algorithm is done using Karabo bridge (Fangohr et al., 2018) to access online data in the Karabo pipeline and perform parallelized analysis and further visualization using the Qt toolkit (PyQT, 2012).
4. Results
We have described here the results obtained by our dynamic flat-field correction implementation at EuXFEL. We demonstrated our algorithm on a Venturi tube dataset (Soyama & Hoshino, 2016). Data were acquired in March 2021 at the SPB/SFX instrument (Mancuso et al., 2019) of EuXFEL with a photon energy of 9.3 keV. A fast-frame-rate Shimadzu HPV-X2 camera, coupled to a 8 µm-thick LYSO:Ce scintillator, was used as an imaging system with a 10× magnification (Vagovič et al., 2019). Datasets consisting of 68 dark-field and 67 flat-field trains were taken to test our method. Each train consisted of 128 images with a size of 250 × 400 pixels. The effective pixel size was 3.2 µm. The exposure time of each image was given by the X-ray approximately 25 fs (Sinn et al., 2011), translated into the latent image at the scintillator. The duration of the signal emitted by the scintillator was given by the scintillator emission time τ (LYSO:Ce, τ ≃ 40 ns). The frequency of acquired frames within a train was 1.128 MHz and trains were collected at frequencies from 0.08 to 0.1 Hz, limited by the camera idle time. The performance of the dynamic flat-field correction algorithm on the aforementioned dataset is demonstrated in this section.
The first step toward the normalization of online data is the processing of flat-field and dark-field data. Our aim was to acquire hundreds to thousands of flat-field images, which, at the current acquisition speed, requires up to 10 min of measurements. After the first step of the algorithm, as described in Fig. 1(a), a preview of the cumulative sum of explained variance ratio of principal components can be viewed. This sum reflects how much variance in the data is captured, i.e. explained, by a different number of principal components. A full set of principal components, whose size equals the number of flat-field images, leads to a value of one for the cumulative sum of explained variance ratio, thus capturing 100% of the variance in the flat-field dataset. This allows monitoring of the rate at which the selected number of principal components explain variance in the flat-field dataset. In addition, it enables the increase or decrease of the number of components before proceeding with the normalization of sample images.
The flat-field dataset consists of approximately 10000 flat-field images with a few instances shown in Fig. 2(a). Figure 2(b) shows the mean flat-field image calculated over the whole dataset. In Fig. 3, selected principal components are depicted for the index of principal component m = {1, 2, 3, 16}. The first principal component, labeled m = 1, is similar to the mean flat-field image in Fig. 2(b) and explains the largest fraction of the variance in the dataset. The two components m ∈ {2, 3} capture the intensity variation in the horizontal and vertical directions. Components m ≤ 4 show mostly horizontal changes in intensity with pronounced stripe features, as depicted on the component m = 16. The cumulative sum of explained variance ratio of the flat-field dataset is shown in Fig. 3 for the first 25 principal components.
Figure 3(b) shows that the first three components explain approximately 83% of the variance. Adding more components does not increase it significantly, and after component 3 the increases in cumulative sum of explained variance are minor. As discussed in more detail later in this section, in order to correct for the majority of vertical features in sample images one needs to include also those components with seemingly low values of explained variance, as they obtain variations needed for a high-quality correction.
After identifying the most important components describing flat-field illumination, one can continue with the normalization procedure of sample images described in Section 3. To better visualize the performance of the dynamic flat-field correction on the test data, in Fig. 4 we plot the sample image (a), and its counterparts corrected by both conventional (b) and dynamic (c) methods. The default value for the number of principal components taken into consideration here is 20.
Figure 4 illustrates that the dynamic method (c) more successfully removes vertical features than the conventional correction method (b). We can notice vertical features along the whole width of an image changing position from frame to frame, which is captured in the examples shown in Fig. 2(a). Moreover, the lack of vertical features on the average flat-field image, Fig. 2(b), leads to the inability of conventional methods to successfully remove such artifacts from the acquired images. Even fine stripes, appearing on an average flat-field, left side in Fig. 2(b), are not removed using the conventional normalization method, shown in Fig. 4(b), due to the slight change of their position during measurement. Another challenging detail to eliminate is the circular spot from the middle of the sample image (a). Similar to the fine stripes from the previous example, better, however not perfect, reduction of the spot is reached only with the dynamic method, Fig. 4(c).
The quality of the flat-field-corrected images was mostly assessed visually. To estimate the method's performance quantitatively, we calculated the pixel value spread (pvs) as a deviation of an image from its average pixel value,
where index l iterates over pixels of image p. We were using only `flat' parts of images, without any sample, in order to estimate the amount of noise present in an image. Higher pvs values are expected for uncorrected images with uneven intensity profile, and lower values for images corrected in a way that reduces most of the uneven structures and noisy pixels.
In order to assess the quality of correction of images of the same position within a train we calculated TV and pvs for each of 128 images acquired in one train and averaged over 15 trains. Average values for both variables and their standard deviations are shown in Fig. 5. While the pvs and TV values vary for each frame, one may see in Fig. 5 that the dynamic flat-field-corrected images have a consistently lower TV (a) and spread (b), suggesting a lowering of noise level in the chosen sample-free part of the images. In contrast, the conventional flat-field correction shows very little benefit, in comparison with no correction at all, as for TV and pvs values no statistically significant difference was found for uncorrected images and images corrected using the conventional method. This result was expected based on the visual comparison in Fig. 4, in which no visible removal of vertical features was observed. The standard deviation expressed as a colored area for uncorrected images and both normalization methods in Fig. 5 describes train-to-train changes in TV and pvs values for a given frame in the dataset. On average, the pvs value for a dynamically corrected image was found to be 0.069, while the spread for conventionally corrected images was 0.098. Uncorrected images have a pvs of 0.102.
Additionally, we studied the quality of normalized images estimated by TV values as a function of a varying number of principal components. Resulting corrected images were also assessed visually. Figure 6 describes changes in the TV value due to a varying number of principal components used in the normalization procedure. One can notice a decrease in the average value of TV for numbers of principal components 15 and 20, followed by an increase starting after the 20 components mark. For a visual comparison, Fig. 7 provides examples of flat-field-corrected images using a varying number of principal components in the normalization algorithm. Figure 7 shows that including two to ten principal components in the normalization procedure leads to non-optimal flat-field correction results. Fine line structures are still visible on the left part of the images for the two- and four-component cases. Vertical features along the whole width are not fully eliminated using ten principal components. Increasing the number of principal components up to ten results in decreased visibility of vertical features, which also supports the observation of decreasing TV values in Fig. 6. The circular spot in the middle is becoming less noticeable with a higher number of principal components, although can be detected on all corrected images up to the case using 100 components. Including around 20 principal components seems to remove the majority of the unwanted features and results for 40 and 100 components in Fig. 6 are not leading to visibly better results. TV values in Fig. 6 are growing after 20 components, which may be caused by overfitting. The results listed in Figs. 6 and 7 indicate that the optimal number of principal components is around 20, where most of the features appearing on flat fields are removed.
Considering the idle time of the camera, our goal was to reach a correction before the next acquired train arrives. The idle time of the camera is around 15 s, meaning that the camera is able to acquire one in 150 of EuXFEL's trains. This consideration does not take into account the setup time spent for the analysis of flat- and dark-field datasets, as this process usually takes a few minutes and needs to be repeated on an hourly basis, whenever new flat- and dark-fields are taken. The proposed algorithm and both its implementations mentioned in Section 3 were able to be faster and keep up with the volume of incoming data. A parallelized version reached a correction time of approximately 1 s for a dataset consisting of one train with 128 images. Tests were performed at online cluster INTEL, Gold-6140 CPU @ 2.30 GHz, 768 GB. Moreover, the processing speeds should be able to sustain the load with anticipated updates, which aim to shorten the idle time of the camera. The current performance of the algorithm is shown to be suitable for use during experiments as a near real-time analysis tool.
5. Conclusion and discussion
We have demonstrated a method for dynamic flat-field correction on MHz-repetition-rate EuXFEL data. It has been shown that, for X-ray MHz microscopy data (Buakor et al., 2022), the dynamic method results in an improved correction compared with the conventional flat-field correction method, taking into account temporal variations in the flat-field dataset, which is characteristic of XFEL facilities. To compare the performance of conventional and dynamic methods applied to test data, we have calculated total variation and the pixel value spread for the area of images without any sample. Both quantitative comparison and visual assessment have shown improved results with the dynamic normalization method compared with the conventional method. The normalization algorithm has been implemented online to visualize data and flat-field-corrected data during experiments at the SPB/SFX instrument of EuXFEL. The implementation was able to correct and visualize incoming data in near real-time before the next data from the MHz-frame-rate camera arrived. In future, we plan to extend the use by implementing new data analysis tools such as data decomposition methods and adding more features to the GUI.
Acknowledgements
Open access funding enabled and organized by Projekt DEAL.
Funding information
This work was performed within the R&D project `MHz microscopy at EuXFEL: From demonstration to method', 2020–2022, and received funding by HORIZON-EIC-2021-PATHFINDEROPEN-01-01, MHz-TOMOSCOPY project, Grant agreement: 101046448.
References
Buakor, K., Zhang, Y., Birnšteinová, S., Bellucci, V., Sato, T., Kirkwood, H., Mancuso, A. P., Vagovic, P. & Villanueva-Perez, P. (2022). Opt. Express, 30, 10633–10644. Web of Science CrossRef PubMed Google Scholar
Byrd, R., Lu, P., Nocedal, J. & Zhu, C. (1995). SIAM J. Sci. Comput. 16, 1190–1208. CrossRef Web of Science Google Scholar
Chambolle, A. (2004). J. Math. Imaging Vis. 20, 89–97. CrossRef Google Scholar
Decking, W., Abeghyan, S., Abramian, P., Abramsky, A., Aguirre, A., Albrecht, C., Alou, P., Altarelli, M., Altmann, P., Amyan, K., Anashin, V., Apostolov, E., Appel, K., Auguste, D., Ayvazyan, V., Baark, S., Babies, F., Baboi, N., Bak, P., Balandin, V., Baldinger, R., Baranasic, B., Barbanotti, S., Belikov, O., Belokurov, V., Belova, L., Belyakov, V., Berry, S., Bertucci, M., Beutner, B., Block, A., Blöcher, M., Böckmann, T., Bohm, C., Böhnert, M., Bondar, V., Bondarchuk, E., Bonezzi, M., Borowiec, P., Bösch, C., Bösenberg, U., Bosotti, A., Böspflug, R., Bousonville, M., Boyd, E., Bozhko, Y., Brand, A., Branlard, J., Briechle, S., Brinker, F., Brinker, S., Brinkmann, R., Brockhauser, S., Brovko, O., Brück, H., Brüdgam, A., Butkowski, L., Büttner, T., Calero, J., Castro-Carballo, E., Cattalanotto, G., Charrier, J., Chen, J., Cherepenko, A., Cheskidov, V., Chiodini, M., Chong, A., Choroba, S., Chorowski, M., Churanov, D., Cichalewski, W., Clausen, M., Clement, W., Cloué, C., Cobos, J. A., Coppola, N., Cunis, S., Czuba, K., Czwalinna, M., D'Almagne, B., Dammann, J., Danared, H., de Zubiaurre Wagner, A., Delfs, A., Delfs, T., Dietrich, F., Dietrich, T., Dohlus, M., Dommach, M., Donat, A., Dong, X., Doynikov, N., Dressel, M., Duda, M., Duda, P., Eckoldt, H., Ehsan, W., Eidam, J., Eints, F., Engling, C., Englisch, U., Ermakov, A., Escherich, K., Eschke, J., Saldin, E., Faesing, M., Fallou, A., Felber, M., Fenner, M., Fernandes, B., Fernández, J. M., Feuker, S., Filippakopoulos, K., Floettmann, K., Fogel, V., Fontaine, M., Francés, A., Martin, I. F., Freund, W., Freyermuth, T., Friedland, M., Fröhlich, L., Fusetti, M., Fydrych, J., Gallas, A., García, O., Garcia-Tabares, L., Geloni, G., Gerasimova, N., Gerth, C., Geßler, P., Gharibyan, V., Gloor, M., Głowinkowski, J., Goessel, A., Gołębiewski, Z., Golubeva, N., Grabowski, W., Graeff, W., Grebentsov, A., Grecki, M., Grevsmuehl, T., Gross, M., Grosse-Wortmann, U., Grünert, J., Grunewald, S., Grzegory, P., Feng, G., Guler, H., Gusev, G., Gutierrez, J. L., Hagge, L., Hamberg, M., Hanneken, R., Harms, E., Hartl, I., Hauberg, A., Hauf, S., Hauschildt, J., Hauser, J., Havlicek, J., Hedqvist, A., Heidbrook, N., Hellberg, F., Henning, D., Hensler, O., Hermann, T., Hidvégi, A., Hierholzer, M., Hintz, H., Hoffmann, F., Hoffmann, M., Hoffmann, M., Holler, Y., Hüning, M., Ignatenko, A., Ilchen, M., Iluk, A., Iversen, J., Iversen, J., Izquierdo, M., Jachmann, L., Jardon, N., Jastrow, U., Jensch, K., Jensen, J., Jeżabek, M., Jidda, M., Jin, H., Johansson, N., Jonas, R., Kaabi, W., Kaefer, D., Kammering, R., Kapitza, H., Karabekyan, S., Karstensen, S., Kasprzak, K., Katalev, V., Keese, D., Keil, B., Kholopov, M., Killenberger, M., Kitaev, B., Klimchenko, Y., Klos, R., Knebel, L., Koch, A., Koepke, M., Köhler, S., Köhler, W., Kohlstrunk, N., Konopkova, Z., Konstantinov, A., Kook, W., Koprek, W., Körfer, M., Korth, O., Kosarev, A., Kosiński, K., Kostin, D., Kot, Y., Kotarba, A., Kozak, T., Kozak, V., Kramert, R., Krasilnikov, M., Krasnov, A., Krause, B., Kravchuk, L., Krebs, O., Kretschmer, R., Kreutzkamp, J., Kröplin, O., Krzysik, K., Kube, G., Kuehn, H., Kujala, N., Kulikov, V., Kuzminych, V., La Civita, D., Lacroix, M., Lamb, T., Lancetov, A., Larsson, M., Le Pinvidic, D., Lederer, S., Lensch, T., Lenz, D., Leuschner, A., Levenhagen, F., Li, Y., Liebing, J., Lilje, L., Limberg, T., Lipka, D., List, B., Liu, J., Liu, S., Lorbeer, B., Lorkiewicz, J., Lu, H. H., Ludwig, F., Machau, K., Maciocha, W., Madec, C., Magueur, C., Maiano, C., Maksimova, I., Malcher, K., Maltezopoulos, T., Mamoshkina, E., Manschwetus, B., Marcellini, F., Marinkovic, G., Martinez, T., Martirosyan, H., Maschmann, W., Maslov, M., Matheisen, A., Mavric, U., Meißner, J., Meissner, K., Messerschmidt, M., Meyners, N., Michalski, G., Michelato, P., Mildner, N., Moe, M., Moglia, F., Mohr, C., Mohr, S., Möller, W., Mommerz, M., Monaco, L., Montiel, C., Moretti, M., Morozov, I., Morozov, P., Mross, D., Mueller, J., Müller, C., Müller, J., Müller, K., Munilla, J., Münnich, A., Muratov, V., Napoly, O., Näser, B., Nefedov, N., Neumann, R., Neumann, R., Ngada, N., Noelle, D., Obier, F., Okunev, I., Oliver, J. A., Omet, M., Oppelt, A., Ottmar, A., Oublaid, M., Pagani, C., Paparella, R., Paramonov, V., Peitzmann, C., Penning, J., Perus, A., Peters, F., Petersen, B., Petrov, A., Petrov, I., Pfeiffer, S., Pflüger, J., Philipp, S., Pienaud, Y., Pierini, P., Pivovarov, S., Planas, M., Pławski, E., Pohl, M., Polinski, J., Popov, V., Prat, S., Prenting, J., Priebe, G., Pryschelski, H., Przygoda, K., Pyata, E., Racky, B., Rathjen, A., Ratuschni, W., Regnaud-Campderros, S., Rehlich, K., Reschke, D., Robson, C., Roever, J., Roggli, M., Rothenburg, J., Rusiński, E., Rybaniec, R., Sahling, H., Salmani, M., Samoylova, L., Sanzone, D., Saretzki, F., Sawlanski, O., Schaffran, J., Schlarb, H., Schlösser, M., Schlott, V., Schmidt, C., Schmidt-Foehre, F., Schmitz, M., Schmökel, M., Schnautz, T., Schneidmiller, E., Scholz, M., Schöneburg, B., Schultze, J., Schulz, C., Schwarz, A., Sekutowicz, J., Sellmann, D., Semenov, E., Serkez, S., Sertore, D., Shehzad, N., Shemarykin, P., Shi, L., Sienkiewicz, M., Sikora, D., Sikorski, M., Silenzi, A., Simon, C., Singer, W., Singer, X., Sinn, H., Sinram, K., Skvorodnev, N., Smirnow, P., Sommer, T., Sorokin, A., Stadler, M., Steckel, M., Steffen, B., Steinhau-Kühl, N., Stephan, F., Stodulski, M., Stolper, M., Sulimov, A., Susen, R., Świerblewski, J., Sydlo, C., Syresin, E., Sytchev, V., Szuba, J., Tesch, N., Thie, J., Thiebault, A., Tiedtke, K., Tischhauser, D., Tolkiehn, J., Tomin, S., Tonisch, F., Toral, F., Torbin, I., Trapp, A., Treyer, D., Trowitzsch, G., Trublet, T., Tschentscher, T., Ullrich, F., Vannoni, M., Varela, P., Varghese, G., Vashchenko, G., Vasic, M., Vazquez-Velez, C., Verguet, A., Vilcins-Czvitkovits, S., Villanueva, R., Visentin, B., Viti, M., Vogel, E., Volobuev, E., Wagner, R., Walker, N., Wamsat, T., Weddig, H., Weichert, G., Weise, H., Wenndorf, R., Werner, M., Wichmann, R., Wiebers, C., Wiencek, M., Wilksen, T., Will, I., Winkelmann, L., Winkowski, M., Wittenburg, K., Witzig, A., Wlk, P., Wohlenberg, T., Wojciechowski, M., Wolff-Fabris, F., Wrochna, G., Wrona, K., Yakopov, M., Yang, B., Yang, F., Yurkov, M., Zagorodnov, I., Zalden, P., Zavadtsev, A., Zavadtsev, D., Zhirnov, A., Zhukov, A., Ziemann, V., Zolotov, A., Zolotukhina, N., Zummack, F. & Zybin, D. (2020). Nat. Photon. 14, 391–397. Web of Science CrossRef CAS Google Scholar
Fangohr, H., Beg, M., Bondar, V., Boukhelef, D., Brockhauser, S., Danilevski, C., Ehsan, W., Esenov, S. G., Flucke, G., Giovanetti, G., Goeries, D., Hauf, S., Heisen, B., Hickin, D. G., Khakhulin, D., Klimovskaia, A., Kuster, M., Lang, P. M., Maia, L., Mekinda, T., Michelat, A., Parenti, G., Previtali, H., Santos, A., Silenzi, J., Sztuk-Dambietz, J., Szuba, M., Teichmann, K., Weger, J., Wiggins, K., Wrona, L., Xu, C., Aplin, S., Barty, A., Kuhn, M., Mariani, V. & Kluyver, T. (2018). Proceedings of the 16th International Conference on Accelerator and Large Experimental Control Systems (ICALEPCS2017), 8–13 October 2017, Barcelona, Spain, pp. 245–252. TUCPA01. Google Scholar
Fezzaa, K. & Wang, Y. (2008). Phys. Rev. Lett. 100, 104501. Web of Science CrossRef PubMed Google Scholar
Hagemann, J., Vassholz, M., Hoeppe, H., Osterhoff, M., Rosselló, J. M., Mettin, R., Seiboth, F., Schropp, A., Möller, J., Hallmann, J., Kim, C., Scholz, M., Boesenberg, U., Schaffer, R., Zozulya, A., Lu, W., Shayduk, R., Madsen, A., Schroer, C. G. & Salditt, T. (2021). J. Synchrotron Rad. 28, 52–63. Web of Science CrossRef IUCr Journals Google Scholar
Heisen, B., Boukhelef, D., Esenov, S., Hauf, S., Kozlova, I., Maia, L., Parenti, A., Szuba, J., Weger, K., Wrona, K. & Youngman, C. (2013). In Proceedings of the 14th International Conference on Accelerator and Large Experimental Physics Control Systems (ICALEPCS 2013), 6–11 October 2013, San Francisco, CA, USA, pp. 1465–1468. FRCOAAB02. Google Scholar
Hodge, D. S., Leong, A. F. T., Pandolfi, S., Kurzer-Ogul, K., Montgomery, D. S., Aluie, H., Bolme, C., Carver, T., Cunningham, E., Curry, C. B., Dayton, M., Decker, F.-J., Galtier, E., Hart, P., Khaghani, D., Ja Lee, H., Li, K., Liu, Y., Ramos, K., Shang, J., Vetter, S., Nagler, B., Sandberg, R. L. & Gleason, A. E. (2022). Opt. Express, 30, 38405–38422. Web of Science CrossRef PubMed Google Scholar
Hotelling, H. (1936). Biometrika, 28, 321–377. CrossRef Google Scholar
Mancuso, A. P., Aquila, A., Batchelor, L., Bean, R. J., Bielecki, J., Borchers, G., Doerner, K., Giewekemeyer, K., Graceffa, R., Kelsey, O. D., Kim, Y., Kirkwood, H. J., Legrand, A., Letrun, R., Manning, B., Lopez Morillo, L., Messerschmidt, M., Mills, G., Raabe, S., Reimers, N., Round, A., Sato, T., Schulz, J., Signe Takem, C., Sikorski, M., Stern, S., Thute, P., Vagovič, P., Weinhausen, B. & Tschentscher, T. (2019). J. Synchrotron Rad. 26, 660–676. Web of Science CrossRef CAS IUCr Journals Google Scholar
Milton, S. V., Gluskin, E., Arnold, N. D., Benson, C., Berg, W., Biedron, S. G., Borland, M., Chae, Y.-C., Dejus, R. J., Den Hartog, P. K., Deriy, B., Erdmann, M., Eidelman, Y. I., Hahne, M. W., Huang, Z., Kim, K.-J., Lewellen, J. W., Li, Y., Lumpkin, A. H., Makarov, O., Moog, E. R., Nassiri, A., Sajaev, V., Soliday, R., Tieman, B. J., Trakhtenberg, E. M., Travish, G., Vasserman, I. B., Vinokurov, N. A., Wang, X. J., Wiemerslage, G. & Yang, B. X. (2001). Science, 292, 2037–2041. Web of Science CrossRef PubMed Google Scholar
Olbinado, M. P., Just, X., Gelet, J.-L., Lhuissier, P., Scheel, M., Vagovic, P., Sato, T., Graceffa, R., Schulz, J., Mancuso, A., Morse, J. & Rack, A. (2017). Opt. Express, 25, 13857–13871. Web of Science CrossRef CAS PubMed Google Scholar
Parab, N. D., Zhao, C., Cunningham, R., Escano, L. I., Fezzaa, K., Everhart, W., Rollett, A. D., Chen, L. & Sun, T. (2018). J. Synchrotron Rad. 25, 1467–1477. Web of Science CrossRef IUCr Journals Google Scholar
Pearson, K. (1901). London Edinb. Dubl. Philos. Mag. J. Sci. 2, 559–572. CrossRef Google Scholar
PyQT (2012). PyQt4, https://www.riverbankcomputing.com/static/Docs/PyQt4/index.html. Google Scholar
Sakdinawat, A. & Attwood, D. (2010). Nat. Photon. 4, 840–848. Web of Science CrossRef CAS Google Scholar
Sinn, H., Gaudin, J., Samoylova, L., Trapp, A. & Galasso, G. (2011). Technical Report XFEL.EU TR-2011-002. DESY, Hamburg, Germany (https://bib-pubdb1.desy.de/record/91184). Google Scholar
Soyama, H. & Hoshino, J. (2016). AIP Adv. 6, 045113. Google Scholar
Vagovič, P., Sato, T., Mikeš, L., Mills, G., Graceffa, R., Mattsson, F., Villanueva-Perez, P., Ershov, A., Faragó, T., Uličný, J., Kirkwood, H., Letrun, R., Mokso, R., Zdora, M.-C., Olbinado, M. P., Rack, A., Baumbach, T., Schulz, J., Meents, A., Chapman, H. N. & Mancuso, A. P. (2019). Optica, 6, 1106–1109. Google Scholar
Van Nieuwenhove, V., De Beenhouwer, J., De Carlo, F., Mancini, L., Marone, F. & Sijbers, J. (2015). Opt. Express, 23, 27975–27989. Web of Science CrossRef CAS PubMed Google Scholar
Villanueva-Perez, P., Bellucci, V., Zhang, Y., Birnšteinová, Š., Graceffa, R., Adriano, L., Asimakopoulu, E. M., Petrov, I., Yao, Z., Romagnoni, M., Mazzolari, A., Letrun, R., Kim, C., Koliyadu, J., Deiter, C., Bean, R., Giovanetti, G., Gellisio, L., Ritschel, T., Mancuso, A., Chapman, H., Meents, A., Sato, T. & Vagovic, P. (2023). Research Square, https://doi.org/10.21203/rs.3.rs-2978487/v1. Google Scholar
This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.