Online Data Processing at ID24 ============================== Temperature scans ----------------- XAS scans can include temperature measurement. To plot the XAS signal together with the temperature and diagnostic plots in Flint, you need an `Id24TemperaturePlotter` object. It is best to instantiate this object in the Bliss session setup script but you could also do it in the terminal .. code-block:: python DEMO_SESSION [1]: from blissoda.id24.temperature_plotter import Id24TemperaturePlotter DEMO_SESSION [2]: temperature_plotter = Id24TemperaturePlotter() The persistent parametrization saved in Redis can be shown like this .. code-block:: python DEMO_SESSION [3]: temperature_plotter Out [3]: Workflows: workflow '.../blissoda/resources/id24/id24_planck_plot.json' workflow_with_fit '.../blissoda/resources/id24/id24_planck_fitplot.json' xas_workflow '.../blissoda/resources/id24/id24_xas_planck_plot.json' xas_workflow_with_fit '.../blissoda/resources/id24/id24_xas_planck_fitplot.json' Xas: energy_name 'energy_enc' mu_name 'mu_trans' Plot: extend_plotrange_left -15 (nm) extend_plotrange_right 50 (nm) two_color_difference 42 (nm) dpi 150 Fit: refit False wavelength_min None (nm) wavelength_max None (nm) Status: Enabled False Fitting False Plotting tasks 0 Currently the only parameter is the Ewoks workflow that will generate the plots. For example: enable automatic plotting for XAS temperature scans, do an XAS scan and disable it again .. code-block:: python DEMO_SESSION [4]: temperature_plotter.enable() DEMO_SESSION [5]: scan = ascan(...) # are whatever the scan command is DEMO_SESSION [6]: temperature_plotter.disable() To trigger the Ewoks workflow manually .. code-block:: python DEMO_SESSION [7]: temperature_plotter.trigger_workflow_for_scan(scan) Or if you do not have the scan object .. code-block:: python DEMO_SESSION [8]: temperature_plotter.trigger_workflow(39, filename="LTC13_Fe_g1_LTC13_LH1.h5") The filename can be an absolute path as well. If the filename is not provided it is the currently active Bliss dataset file by default. To trigger the workflow outside Bliss .. code-block:: bash conda activate ewoks ewoks execute .../blissoda/resources/id24/temperature.json \ -p filename=/.../RAW_DATA/LTC13_Fe_g1/LTC13_Fe_g1_LTC13_LH1/LTC13_Fe_g1_LTC13_LH1.h5 \ -p scan_number=39 \ -p output_directory=/tmp/results The `output_directory` will contain *.png* images with the XAS and temperature plots.