LoadLiveData v1

../_images/LoadLiveData-v1_dlg.png

LoadLiveData dialog.

Summary

Load a chunk of live data. You should call StartLiveData, and not this algorithm directly.

Properties

Name Direction Type Default Description
Instrument Input string Mandatory Name of the instrument to monitor. Allowed values: [‘ALF’, ‘CRISP’, ‘ENGIN-X’, ‘ENGIN-X_EVENT’, ‘GEM’, ‘HET’, ‘HRPD’, ‘IMAT’, ‘INES’, ‘INTER’, ‘IRIS’, ‘LARMOR’, ‘LOQ’, ‘MAPS’, ‘MARI’, ‘MERLIN’, ‘MERLIN_EVENT’, ‘OSIRIS’, ‘PEARL’, ‘POLARIS’, ‘SANDALS’, ‘SURF’, ‘SXD’, ‘TOSCA’, ‘VESUVIO’, ‘LET’, ‘LET_EVENT’, ‘NIMROD’, ‘OFFSPEC’, ‘OFFSPEC_EVENT’, ‘POLREF’, ‘SANS2D’, ‘SANS2D_EVENT’, ‘WISH’, ‘HIFI’, ‘MUSR’, ‘EMU’, ‘ARGUS’, ‘CHRONUS’]
StartTime Input string   Absolute start time, if you selected FromTime. Specify the date/time in UTC time, in ISO8601 format, e.g. 2010-09-14T04:20:12.95
ProcessingAlgorithm Input string   Name of the algorithm that will be run to process each chunk of data. Optional. If blank, no processing will occur.
ProcessingProperties Input string   The properties to pass to the ProcessingAlgorithm, as a single string. The format is propName=value;propName=value
ProcessingScript Input string   A Python script that will be run to process each chunk of data. Only for command line usage, does not appear on the user interface.
AccumulationMethod Input string Add Method to use for accumulating each chunk of live data. - Add: the processed chunk will be summed to the previous outpu (default). - Replace: the processed chunk will replace the previous output. - Append: the spectra of the chunk will be appended to the output workspace, increasing its size. Allowed values: [‘Add’, ‘Replace’, ‘Append’]
PreserveEvents Input boolean False Preserve events after performing the Processing step. Default False. This only applies if the ProcessingAlgorithm produces an EventWorkspace. It is strongly recommended to keep this unchecked, because preserving events may cause significant slowdowns when the run becomes large!
PostProcessingAlgorithm Input string   Name of the algorithm that will be run to process the accumulated data. Optional. If blank, no post-processing will occur.
PostProcessingProperties Input string   The properties to pass to the PostProcessingAlgorithm, as a single string. The format is propName=value;propName=value
PostProcessingScript Input string   A Python script that will be run to process the accumulated data.
RunTransitionBehavior Input string Restart What to do at run start/end boundaries? - Restart: the previously accumulated data is discarded. - Stop: live data monitoring ends. - Rename: the previous workspaces are renamed, and monitoring continues with cleared ones. Allowed values: [‘Restart’, ‘Stop’, ‘Rename’]
AccumulationWorkspace Output Workspace   Optional, unless performing PostProcessing: Give the name of the intermediate, accumulation workspace. This is the workspace after accumulation but before post-processing steps.
OutputWorkspace Output Workspace Mandatory Name of the processed output workspace.
LastTimeStamp Output string   The time stamp of the last event, frame or pulse recorded. Date/time is in UTC time, in ISO8601 format, e.g. 2010-09-14T04:20:12.95

Description

This algorithm is called on a regular interval by the MonitorLiveData v1 algorithm. and the whole process is started by the StartLiveData v1 algorithm. It should not be necessary to call LoadLiveData directly.

LoadLiveData_flow.png

LoadLiveData_flow.png

Data Processing

  • Each time LoadLiveData is called, a chunk of data is loaded from the live listener.
    • This consists of all the data collected since the previous call.
    • The data is saved in a temporary workspace.
  • You have two options on how to process this workspace:

Processing with an Algorithm

  • Specify the name of the algorithm in the ProcessingAlgorithm property.
    • This could be, e.g. a Python Algorithm written for this purpose.
    • The algorithm must have at least 2 properties: InputWorkspace and OutputWorkspace.
    • Any other properties are set from the string in ProcessingProperties.
    • The algorithm is then run, and its OutputWorkspace is saved.

Processing with a Python Script

  • Specify a python script in the ProcessingScript property.
    • This can have several lines.
    • Two variables have special meaning:
      • input is the input workspace.
      • output is the name of the processed, output workspace.
    • Otherwise, your script can contain any legal python code including calls to other Mantid algorithms.
    • If you create temporary workspaces, you should delete them in the script.

Data Accumulation

  • The AccumulationMethod property specifies what to do with each chunk.
    • If you select ‘Add’, the chunks of processed data will be added using Plus v1 or PlusMD v1.
    • If you select ‘Replace’, then the output workspace will always be equal to the latest processed chunk.
    • If you select ‘Append’, then the spectra from each chunk will be appended to the output workspace.

A Warning About Events

Beware! If you select PreserveEvents and your processing keeps the data as EventWorkspaces, you may end up creating very large EventWorkspaces in long runs. Most plots require re-sorting the events, which is an operation that gets much slower as the list gets bigger (Order of N*log(N)). This could cause Mantid to run very slowly or to crash due to lack of memory.

Post-Processing Step

  • Optionally, you can specify some processing to perform after accumulation.
    • You then need to specify the AccumulationWorkspace property.
  • Using either the PostProcessingAlgorithm or the PostProcessingScript (same way as above), the AccumulationWorkspace is processed into the OutputWorkspace

Usage

LoadLiveData is not intended for usage directly, it is part of he process that is started using StartLiveData v1.

Categories: Algorithms | DataHandling | LiveData | Support

Source

C++ source: LoadLiveData.cpp

C++ header: LoadLiveData.h