Online Data Processing at ID26 ============================== RIXS plotter ------------ ``RixsPlotter`` displays the currently acquiring RIXS plane in a Flint widget. It is best to instantiate the object in the Bliss session setup script but you can also do it from the command line: .. code-block:: python from blissoda.id26.rixs_plotter import RixsPlotter rixs_plotter = RixsPlotter() Several instances may coexist (e.g. for different types of RIXS planes). The current configuration can be displayed like this: .. code-block:: python OPTICS [11]: rixs_plotter Methods ^^^^^^^ ``enable()`` Enables the workflow and sets ``rixs_plotter.filename`` to the current ``SCAN_SAVING.filename``. To plot a different dataset, change the attribute directly: .. code-block:: python rixs_plotter.filename = '/data/id26/inhouse/.../sample_0002.h5' ``disable()`` Disables the workflow. ``reset()`` Resets ``start_scan_id`` and ``stop_scan_id``, allowing a new map to be plotted automatically. Call ``enable()`` after the reset. The workflow can also be triggered manually: .. code-block:: python rixs_plotter(2, 25) # Create a RIXS plot from scans 2 to 25. Y-axis Options ^^^^^^^^^^^^^^ The Y-axis can be configured to plot either the emission energy (default) or the energy transfer (incident energy - emission energy). .. code-block:: python rixs_plotter.y_axis = "energy transfer" # or rixs_plotter.y_axis = "emission energy" Data mappings ^^^^^^^^^^^^^ Before running or enabling the plotter, make sure the data mappings match your measurement variables (motors/counters). You can change them by simple assignment: .. code-block:: python rixs_plotter.data_mappings['x'] = ".1/measurement/elapsed_time" rixs_plotter.data_mappings['y'] = ".1/instrument/positioners/xes_en" rixs_plotter.data_mappings['signal'] = ".1/measurement/sim_gaussian_1"