User Reference:BCI2000FileWriter

From BCI2000 Wiki
Jump to navigation Jump to search

Function

The BCI2000FileWriter component writes out data in the native BCI2000 File Format.

Parameters

Common Data Storage Parameters

These are storage parameters common to all Data File Formats.

DataDirectory

Path to an existing directory. Recorded data will be stored below that directory. The path may be absolute, or relative to the source module's working directory at startup. Usually, the working directory at startup matches the source module's executable location in the prog directory.

DataFile

The path to the data file relative to the directory, including the file name.

The DataFile parameter is a string that may contain references to other parameters in the form ${Parameter}. By default, it contains a session directory, named according to the ${SubjectSession} parameter, and a file name containing the ${SubjectRun} parameter along with the session number, and a date.

Date variables: The user can introduce date and/or time into the file name. One may enter ${DateTime:<format string>} to add date and/or time in an arbitrary format. <format string> must be a date-time format string as defined for the POSIX strftime() function. For example, ${DateTime:%F} will produce the date in the standard format YYYY-MM-DD. Be careful with time formats which will typically contain the : character, which is illegal in Windows file names. To produce both date and time, use ${DateTime:%F-%H-%M-%S}.

NOTE: When the file name contains both a run number, and a date/time string, auto-incrementing the run number will not work properly. Auto-incrementing the run number depends on all other components of the file name being constant, which is not the case for date and time.

SubjectName

A textual ID for the subject. This text may appear in session directories, and data file names.

SubjectSession

A textual ID for the current session. Sessions correspond to data directories. By default, the path of a session directory is constructed according to

${DataDirectory}/${SubjectName}${SubjectSession}

SubjectRun

A number indicating the current run. Runs correspond to data files. To avoid accidental loss of data, run numbers are auto-incremented to the largest unused value. Within a session directory, data file names are by default constructed according to

${SubjectName}S${SubjectSession}R${SubjectRun}.${FileFormat}

By default, a data file's extension depends on its File Format.

ID_System, ID_Amp, ID_Montage

These parameters are provided for documentation purposes and may contain arbitrary text.

FileSplittingCondition

While recording, recorded files may be split into multiple files with part2, part3, ... partN appended to the file name (before the extension). The first file will not be renamed to part1, though. When a condition is entered into the FileSplittingCondition parameter, it will be evaluated after each block of data has been written. Each time the condition is fulfilled, the old file will be closed, and a new one will be opened. Each partial file will be a valid file in the chosen FileWriter's format in its own right; only file names will carry information about how files should be combined to result in the full run file.

Conditions are simple strings representing either

  • a temporal duration, e.g. 00:00:30 for a duration of 30 seconds, or
  • a file size, e.g. 1.5MB for a size of 1.5 megabytes. Units of kB, MB, GB, TB and kiB, MiB, GiB, and TiB are supported. Prefixes without the i will refer to powers of 1000, whereas prefixes with an i refer to powers of 1024.

By default, the FileSplittingCondition parameter is empty, i.e. no file splitting occurs.

BCI2000FileWriter Specific Parameters

SavePrmFile

Specifies whether parameters are to be stored in a parameter file separate from the data file. The additional parameter file will be redundant, as native BCI2000 data files always contain the complete set of parameters. This parameter is optional, and will not appear in the parameter configuration dialog by default. To use it, specify --SavePrmFile=1 on the command line when starting up the source module.

StorageTime

At the beginning of the recording, this parameter's content is overwritten with a string describing the current date and time. Any user-specified value is ignored.

States

None.

See also

User Reference:DataIOFilter, User Reference:Data File Formats, Programming Reference:GenericFileWriter Class