Technical Reference:Parameter Definition
This page describes the concept of BCI2000 parameters, in conjunction with their textual representation as a "parameter line".
For information about how to access parameters from code, please refer to Programming Reference:Parameters. For information about individual parameters, please refer to User Reference:Parameters.
Parameter Concept
Parameters are variables that primarily represent user configuration choices. Typical entities encoded by parameters are
- size and location of the feedback window,
- subject ID,
- sampling rate,
- spatial filtering matrix.
Typically, parameters are constant throughout a run, often throughout a session or an entire experiment. In a [BCI2000 data file], a full set of parameters is stored along with the data, allowing for reconstruction of the system configuration off-line.
As parameters represent user choices, the direction of information flow generally is Parameter Value->BCI2000 Module, i.e. parameter information is used to set BCI2000 modules to a defined state at initialization time. There are, however, some important exceptions to that rule.
- Source Modules may not be able to control all aspects of data acquisition. Control is limited by the design of the vendor-provided software interface to data acquisition hardware. As a typcial example, consider an EEG amplifier connected through a TCP-based socket interface. Generally, the amplifier will be configured in a separate user interface, and BCI2000 source module parameters such as SourceCh (number of channels) or SamplingRate must be chosen in accordance to that external UI's settings.
- System-internal Configuration is represented as parameters, and of potential interest to the user, but not user configurable. These parameters are placed in the configuration editor's System tab. Important examples comprise versioning information (e.g., the EEGSourceVersion parameter), others govern the connection between modules (e.g., the EEGSourceIP parameter).
- Automatic Adaptation to the subject's brain signals may be reflected by automatically updated parameters. For such parameters, the user specifies initial parameter values that may be overwritten at the end of a run. Unless changed by the user, these modified values will be the next run's initial values, and documented as such in that run's data file. As typical examples, consider the Normalizer filter's NormalizerOffsets and NormalizerGains parameters.
Parameter Lines
Parameter lines are a human-readable format used to represent individual parameters in
- BCI2000 parameter files,
- BCI2000 data files,
- BCI2000 messages sent between modules.