Here are some definitions or terms that appear in the tutorial.

General Terms

Experimenter - The program which allows users to graphically create, edit and execute Units (.lre files).

Unit - A basic part of an experiment. Can be executed. Units can contain other units, but any unit is a fully functional experiment on its own.

Component - Any part of a Unit tree. All Scans, for instance, possess a Scan Range, which is not a unit but still a part of the experiment which can be saved, edited, etc. Units and inputs are both considered Components.

input (lowercase) - Any component which has a value attribute is designed to hold python data. Technically it consists of any python object that inherits from the Input class.

Unit Types

Action - Executes a specified python function with specified function arguments.

Sequence - Executes a series of Units in a specific order.

Scan - Executes a Unit (called the Scan Unit) a number of times, each time setting the value attribute of the Scan Input to the next value from the Scan Range.

Repeat - Executes a Unit a specified number of times.

Conditional - Executes one Unit (called the True Unit) if an input's (called the Condition) value returns true, otherwise executing another Unit (called the False Unit).

Null - Does nothing.

Component Types


Input - Holds python data stored in its value attribute.

Map - Executes a function whose return value becomes the Map's value.

Result - Possessed by an Action, it holds the most recent return value of the Action's execution.

Global - Equivalent to an Input, it is used by the Experimenter to allow easy tweaking of experiments by giving user top level access to a small number of variables, encapsulating a potentially complex Unit tree structure.


Parameter - Represents a Unit or Function argument Holds a single input. Possesses a name attribute to distinguish itself from other Parameters on the same branch.

Label - Holds a single Component. Included for clarity when viewing Units in Experimenter tree views.

Argument List - Holds either:
  • A group of inputs whose value attributes comprise the list argument to be passed to the function (POLY mode).
  • A single input whose value attribute, which is a collection of some sort (e.g. list, tuple, array), comprises the list argument (MONO mode).

Scan Range - Represents the collection of value over which a Scan scans. Has four different modes:
  • A sequence that begins at a specified start point, continuing in steps of a specified interval without exceeding a specified end point (DELTA mode).
  • A sequence of a specified number of evenly spaced steps between specified start and end points (STEPS mode).
  • A collection equivalent to the Argument List's POLY mode (COLLECTION mode).
  • A collection equivalent to the Argument List's MONO mode (LIST mode).

Dictionary Argument (not implemented) - Holds keyword arguments.