3.3.1.28. NXlog¶
Status:
base class, extends NXobject, version 1.1
Description:
Information recorded as a function of time.
Description of information that is recorded against time. There are two common use cases for this:
- When logging data such as temperature during a run
- When data is taken in streaming mode data acquisition, i.e. just timestamp, value pairs are stored and correlated later in data reduction with other data,
It both cases NXlog contains the logged or streamed values and the times at which they were measured as elapsed time since a starting time recorded in ISO8601 format. The time units are specified in the units attribute. An optional scaling attribute can be used to accomodate non standard clocks.
This method of storing logged data helps to distinguish instances in which a variable is a dimension scale of the data, in which case it is stored in an NXdata group, and instances in which it is logged during the run, when it should be stored in an NXlog group.
In order to make random access to timestamped data faster there is an optional array pair of
cue_timestamp_zeroandcue_index. Thecue_timestamp_zerowill contain coarser timestamps than in the time array, say every five minutes. Thecue_indexwill then contain the index into the time,value pair of arrays for that coarsercue_timestamp_zero.
Symbols:
No symbol table
- Groups cited:
- none
Structure:
time: (optional) NX_FLOAT {units=NX_TIME}
Time of logged entry. The times are relative to the “start” attribute and in the units specified in the “units” attribute. Please note that absolute timestamps under unix are relative to
1970-01-01T:00:00.@start: (optional) NX_DATE_TIME
@scaling: (optional) NX_NUMBER
value: (optional) NX_NUMBER {units=NX_ANY}
Array of logged value, such as temperature. If this is a single value the dimensionality is nEntries. However, NXlog can also be used to store multi dimensional time stamped data such as images. In this example the dimensionality of values would be value[nEntries,xdim,ydim].raw_value: (optional) NX_NUMBER {units=NX_ANY}
Array of raw information, such as thermocouple voltagedescription: (optional) NX_CHAR
Description of logged valueaverage_value: (optional) NX_FLOAT {units=NX_ANY}
average_value_error: (optional) NX_FLOAT {units=NX_ANY}
estimated uncertainty (often used: standard deviation) of average_valueminimum_value: (optional) NX_FLOAT {units=NX_ANY}
maximum_value: (optional) NX_FLOAT {units=NX_ANY}
duration: (optional) NX_FLOAT {units=NX_ANY}
Total time log was takencue_timestamp_zero: (optional) NX_DATE_TIME {units=NX_TIME}
Timestamps matching the corresponding cue_index into the time, value pair.
@start: (optional) NX_DATE_TIME
cue_index: (optional) NX_INT
Index into the time, value pair matching the corresponding cue_timestamp.