3.3.3.102. NXtextlog

Status:

base class (contribution), extends NXobject

Description:

Textual Information recorded as a function of time. ...

Textual Information recorded as a function of time.

This is very similar to an NXlog but aimed at character rather than numeric data. It is to cover use cases when character data is to be recorded but using a large number of e.g. NXnote classes is undesirable.

It would be used for cases like:

  • Status or error messages from hardware or software

  • Character based metadata e.g. labels that may vary during data collection

Data is stored with 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.

In order to make random access to timestamped data faster there is an optional array pair of cue_timestamp_zero and cue_index. The cue_timestamp_zero will contain coarser timestamps than in the time array, say every five minutes. The cue_index will then contain the index into the time,value pair of arrays for that coarser cue_timestamp_zero.

Symbols:

Symbols used below to illustrate the rank and sizes of datasets

n: Number of logged values

Groups cited:

none

Structure:

time: (optional) NX_NUMBER (Rank: 1, Dimensions: [n]) {units=NX_TIME}

Time of logged entry. The times are relative to the "start" attribute ...

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-01T00:00:00.0Z.

The “scaling_factor” attribute, when present, has to be applied to the time values in order to arrive at the units specified in the units attribute. The “scaling_factor” allows for arbitrary time units such as ticks of some hardware clock.

@start: (optional) NX_DATE_TIME

@scaling_factor: (optional) NX_NUMBER

value: (optional) NX_CHAR (Rank: 1, Dimensions: [n])

String array of logged values, same length and dimensionality ...

String array of logged values, same length and dimensionality as time array field. If you have stored multiple items here and wish each to be interpreted separately by the reader then you can specify a “separator” attribute to indicate how to split them up. However you should consider whether it is clearer to write multiple value elements with the same time, or separate NXtextlog instances, instead.

@separator: (optional) NX_CHAR

Optional character string that can be used to specify how to split a ...

Optional character string that can be used to specify how to split a text value into multiple items.

description: (optional) NX_CHAR

Description of logged value

duration: (optional) NX_FLOAT {units=NX_ANY}

Total time log was taken

cue_timestamp_zero: (optional) NX_NUMBER {units=NX_TIME}

Timestamps matching the corresponding cue_index into the ...

Timestamps matching the corresponding cue_index into the time, value pair.

@start: (optional) NX_DATE_TIME

If missing start is assumed to be the same as for “time”.

@scaling_factor: (optional) NX_NUMBER

If missing start is assumed to be the same as for “time”.

cue_index: (optional) NX_INT

Index into the time, value pair matching the corresponding ...

Index into the time, value pair matching the corresponding cue_timestamp_zero.

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/nexusformat/definitions/blob/main/contributed_definitions/NXtextlog.nxdl.xml