LabOne Node Tree¶
All communication with an instrument occurs via the Data Server program the instrument is connected to (see LabOne Software Architecture for an overview of LabOne’s software components). Although the instrument’s settings are stored locally on the device, it is the Data Server’s task to ensure it maintains the values of the current settings and makes these settings (and any subscribed data) available to all its current clients. A client may be the LabOne User Interface or a user’s own program implemented using one of the LabOne Application Programming Interfaces, e.g., Python.
Device Node Tree Structure¶
The instrument’s settings and data are organized by the Data Server in a file-system-like hierarchical structure called the node tree. When an instrument is connected to a Data Server, its device ID becomes a top-level branch in the Data Server’s node tree. The features of the instrument are organized as branches underneath the top-level device branch and the individual instrument settings are leaves of these branches.
For example, the auxiliary outputs of the instrument with device ID "dev2345" are located in the tree in the branch:
In turn, each individual auxiliary output channel has its own branch underneath the "AUXOUTS" branch.
/DEV2345/AUXOUTS/0/ /DEV2345/AUXOUTS/1/ /DEV2345/AUXOUTS/2/ /DEV2345/AUXOUTS/3/
Whilst the auxiliary outputs and other channels are labelled on the instrument’s panels and the User Interface using 1-based indexing, the Data Server’s node tree uses 0-based indexing. Individual settings (and data) of an auxiliary output are available as leaves underneath the corresponding channel’s branch:
/DEV2345/AUXOUTS/0/DEMODSELECT /DEV2345/AUXOUTS/0/LIMITLOWER /DEV2345/AUXOUTS/0/LIMITUPPER /DEV2345/AUXOUTS/0/OFFSET /DEV2345/AUXOUTS/0/OUTPUTSELECT /DEV2345/AUXOUTS/0/PREOFFSET /DEV2345/AUXOUTS/0/SCALE /DEV2345/AUXOUTS/0/VALUE
These are all individual node paths in the node tree; the leaf nodes which represent a single instrument setting or data stream. Whether the node is an instrument setting or data-stream and which type of data it contains or provides is well-defined and documented on a per-node basis in the Reference Node Documentation section in the relevant instrument-specific user manual. The different properties and types are explained in Node Properties and Data Types.
Module Node Tree Structure¶
LabOne Core Modules, such as the Sweeper, also use a similar tree-like structure to organize their parameters. Since the LabOne Modules are individual Software components within the LabOne client the are not visible in the Data Server and are not synchronized between clients.