User Reference:Operator Module

From BCI2000 Wiki
Jump to: navigation, search

The operator module is the user interface seen by the experimentator. It allows to view and edit system parameters, save and load parameter files, and start and stop system operation.

Starting Up BCI2000

In addition to the operator module, BCI2000 consists of a number of core modules which must be started up together with the operator module. For a given experiment, data acquisition, signal processing, and application must be selected by combining appropriate modules at startup time. This can be done two ways:

  1. Using the batch scripts in the BCI2000/batch folder -- choose one of the available scripts, or modify one to fit your needs.
    Script files provide an easy way to customize BCI2000 behavior. They are written in the Operator Scripting language.
  2. Using BCI2000Launcher. This tool provides a GUI for module selection, and allows for automated loading of parameter files at startup.

Main Window

The Operator Module's Main Window

Operation Buttons

The main window contains four large buttons. These buttons correspond to the tasks that need to be performed during an experiment:

  • Config
opens the configuration window,
  • SetConfig
applies the current set of parameters to the system,
  • Start
starts system operation,
  • Quit
exits the system once the experiment has finished.

Not all buttons are functional all the time; availability of a function depends on system state, and is indicated by the button's state.

Function Buttons

There are four function buttons that execute Operator Scripts. Scripts and button captions may be configured freely from the preferences dialog. When the Operator module is the frontmost application, button scripts may be executed using the F1-F4 keys on the keyboard.

Status Area

The status area, at the bottom of the main window, contains four fields. System status is displayed on the left, and module status is displayed in the three rightmost fields, in the natural order of core modules (Data Acquisition, Signal Processing, Application).

Main Menu Bar

File Menu

  • Preferences...
opens the Preferences Dialog.
  • Exit...
terminates BCI2000 after displaying a confirmation message. This menu entry is always available, even if the Quit button is dimmed.

View Menu

  • States...
displays a window that lists the state variables currently available in the system.
  • Operator Log
toggles visibility of the log window. The log window becomes automatically visible when there are error or warning messages; for informative messages, and debugging output, it is necessary to make it visible using this menu entry.
  • Connection Info
toggles visibility of the connection information window. This window displays information whether connections between operator and core modules are established, network addresses, and the number of messages that have been transferred so far.

Help Menu

  • About...
displays extensive information about the operator module's version number, the source code revision it was built from, and the time of the build. This information is also kept inside the OperatorVersion parameter on the system tab, and written into data files along with all system parameters.

Preferences Dialog

The Preferences Dialog

On the left side, the preferences dialog allows you to associate operator scripts with events, and on the top right, you may configure the main window's function buttons using operator script commands. Please see the User Reference:Operator Module Scripting page for scripting details.

Scripts may be specified from the command line at startup.

On the bottom right, you may specify the global User Level to be one of beginner, intermediate, or advanced. When the user level is set to advanced, a similar ruler control is displayed for each individual parameter in the Parameter Configuration Dialog. For each parameter, its user level is compared to the global user level setting, and the parameter is displayed only if its user level is equal to or below the global setting. Thus, it is possible to simplify the configuration dialog for less experienced users, or for your own convenience, in sitations where full access to configuration options is not necessary. As a typical example, once you have set up a stimulation experiment, you will only change the SubjectName and SubjectRun parameters. Setting these two parameter's user levels to beginner, and leaving the other's at advanced, you may now switch the global user level to beginner, and will only see the two selected parameters displayed in the configuration dialog.

Parameter Configuration Window

The Parameter Configuration Window

On the left side, this window displays a number of register tabs that correspond to parameter sections. Clicking on a tab will display the parameters from the corresponding section.

Within a section, parameters are grouped according to subsections. In most cases, subsections correspond to individual filters; however, filters with a large number of parameters might choose to group them into subsections to make configuration easier. Within subsections, the order of parameter display depends on the order in which parameters are declared in a filter's constructor.

For single-valued parameters, an edit field is displayed that holds the parameter's value. This is also true for list parameters; there, list entries must be separated by white space. Within entries, space characters may be encoded as '%20'. For some parameters, drop-down menus, checkboxes, or chooser buttons are displayed to make it more convenient for the user to enter parameter values. (For programmers, this feature is explained on the Technical Reference:Parameter Definition page.) Matrix-valued parameters display a button to load or save a matrix in ASCII format, and an Edit button that opens up a Matrix Editor Window.

On the right side, there is a pair of Save/Load Parameters buttons that allows saving and retrieving the current configuration to/from parameter files. Behavior of the load/save operation may be fine-tuned using the Configure Load and Configure Save buttons. These buttons both display a list of parameter names, allowing to select parameters to be ignored during load/save operations. This is especially useful to save only a subset of parameters, and thus factor out partial configurations depending on, e.g., the data acquisition module used rather than the experiment itself.

Below these buttons, there is another button labeled "Help". Clicking this button will change the mouse cursor into a question mark. Then, a click on a parameter name or edit field will open the appropriate help page when available. This help button is available only when a recent version of the BCI2000 doc directory is present along with the prog directory where the operator module resides.

Matrix Editor Window

The Matrix Editor Window

The matrix editor allows you to

  • modify the values in matrix-valued parameters
-- click an entry to edit it;
  • change the size of the matrix
-- change the "number of rows" or "number of columns" fields, and click the "Set new matrix size" button;
  • edit row and column titles (labels)
-- double-click a row or column title to edit it;
  • convert matrix entries into sub-matrices and back into single entries
-- use the context menu's "Convert to sub-matrix"/"Replace by single cell" items;
  • open another matrix editor to edit the contents of a sub-matrix
-- use the context menu's "Edit sub-matrix" item.

Visualization Windows

A Visualization Window

Visualization windows may be moved and resized, and remember their positions across sessions.


In a context menu, the following options are available:

  • adjusting signal amplitude,
  • adjusting the time interval displayed in the window,
  • choosing signal colors,
  • choosing the number of signals displayed,
  • applying highpass, lowpass, and notch filter combination to the displayed signal,
  • switching between signal display as lines, and colored blocks ("display mode"),
  • switching signal baselines, and unit display on and off.

For signal visualizations, the arrow keys and page up/page down keys may be used to scroll through channels. The full set of keyboard shortcuts is:

up/down back/forward one channel,
page-up/page-down back/forward one screenful of channels,
'b'/space same as page-up/page-down ('less'-like shortcuts),
-/+ reduce/enlarge the signal,
,/. fewer/more channels,
left/right slow down/speed up the time sweep,
home/end jump to the first/last screenful of channels,
typing a number and pressing return (or 'g') jump to the specified channel number.

Unit Display

When the signal's physical unit is displayed, it is represented as a white bar:

SignalUnitDisplay.PNG

In the example, there are white markers above and below the bar, indicating the range corresponding to the value written in the bar. These markers may be missing; then the range corresponds to the height of the bar itself.

Finally, the physical unit may be displayed with a white marker attached to the bar:

SignalUnitDisplay2.PNG

This display is used for nonnegative signals. Here, the physical unit corresponds to the distance of the white marker to the signal's baseline.

Choosing Signal Colors

Clicking Choose Signal Colors... from the context menu will open up a color chooser dialog. This dialog provides fields for "User defined colors" to the left, defining a list of channel colors, terminated with a black entry.

Signal colors are taken from these fields in the order in which they appear; when there are more signals displayed than colors defined, colors will be re-used in order.

See also

Technical Reference:System Design, User Reference:Operator Module Scripting, User Reference:Module Command Line Options, User Reference:Timing