For a complete BCI-experiment to work, more is needed than the BrainStream? toolbox alone. Obviously some data is required and most often a solution for stimulus presentation too.

Data acquisition


Support for hardware devices is handled by fieldtrips realtime buffer solution. BrainStream? always connects to a fieldtrip buffer and consequently any hardware device supported by fieldtrip can be used as data input source to BrainStream. Currently, the following devices should connect:
- Biosemi's Active2 EEG amplifier
- TMSi
- Neurosky ThinkGear
- Emotiv Epoc
- BrainVision RDA
- CTF/VSM MedTech
Consult fieldtrips website for the most recent update: http://fieldtrip.fcdonders.nl/development/realtime

You might also consider writing your own interfacing solution, please read the instructions: http://fieldtrip.fcdonders.nl/development/realtime/buffer


BrainStreams? design around incoming markers implies a solution to get these markers integrated in the data stream is required. A common approach is to use a PCs parallel or serial port, or some specific device input port to get marker information included in the data processing pipe-line. This highly depends on the particular hardware setup in use. Via Dictionary tables should marker information then be translatable to marker names, which can be read by BrainStream.

Incoming markers should be translated into fieldtrip events. BrainStream? then translates the type and value fields of fieldtrip events into marker names based on the dictionary information specified for that data source. For example, the BioSemi Active2 amplifiers input trigger channel is represented as the 'STATUS' channel in the list of acquired channels. The biosemi2ft software responsible for streaming data from the biosemi amp to the fieldtrip buffer will translate the 'STATUS' channel information into events with type = 'STATUS' and value = ## (##: any number < 2^16, from the 16bits trigger channel input). In your table definitions, the dictionary maps incoming markers onto the marker names (processing pipelines) by specifying:

marker type value datasource
my_marker STATUS ## eeg

Since in this example, only fieldtrip events with type equal to 'STATUS' should be interpreted as markers, BrainStream? can be instructed to only process these events by specifying the TypeMarkers key for corresponding harware devices topic:

BrainStream.TypeMarkers = {'STATUS'}  
BrainStream.SendMarkerFnc = 'sndBufferMarker'
Also, specify the SendMarkerFnc to inform BrainStream? which function it should use to send out markers to the hardware. The default is always 'sndBufferMarker', which sends markers directly to the buffer (passing by the hardware). Read how to write your own custom function to sent out markers here.

Stimulus presentation

Stimulus presentation should handle any feedback to the subject. This can either be instructions about the experiment, experiment tasks, or information about the classifier. This is not part of the BrainStream? toolbox. Future releases of BrainStream? will include plug-ins that demonstrate how stimulus presentation can be implemented using PsychToolBox (www.psychtoolbox.org).

Topic revision: r1 - 09 Nov 2009 - 17:43:00 - MarianneSeverens
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback