Getting Started
Contents
Physiology Background
Wikipedia
Standard 10-20 Electrode Map
Background Literature
- Wolpaw 2002 BCI Review
- Leuthardt 2006 Neuroprosthetics Review
- Hoffmann 2010 EEG Signal Processing and Emotiv Headset
- Schalk 2004 BCI2000 Overview
- Schalk 2004 BCI2000 Implementation
Software Requirements
You'll need at least 3 pieces of software in order to run the Wustl-BCI project:
In order to develop your own signal processing, you'll need the ability to program BCI2000 in C++, Matlab, or Labview.
Dropbox
The Wustl-BCI team operates using the Dropbox web application. Dropbox is a cloud storage program. You can access it from a browser or like any other folder on your local computer. To run BCI2000 from Dropbox, you’ll need to have Dropbox installed on your computer.
- go to http://www.dropbox.com
Once you have an account, contact a group officer to be invited to the shared folder. You must have dropbox before you can access much of the software
Emotiv
The Emotiv EPOC headset requires software drivers in order to communicate with your computer. The drivers are bundled into a package of Emotiv software. On the group dropbox, the installer filepath is:
\Emotiv\Emotiv Education Edition SDK v1.0.0.4-PREMIUM-Installer.exe
To install, you'll need the serial key and order ID, found in
\Emotiv\Emotiv Info.txt
The Emotiv software package includes:
- Control Panel - for viewing electrode contact quality & interfacing with other Emotiv software
- TestBench - for viewing the EEG signal in time or frequency domains. Also show's gyroscope data
- EmoKey - for mapping Emotiv outputs to keyboard inputs (i.e. control your keyboard with your mind)
You'll best appreciate the functionality of Emotiv by exploring these applications. Note that other Emotiv applications are available on http://www.emotiv.com . For starters, try Spirit Mountain Demo.
BCI2000
BCI2000 is an open source framework for BCIs. BCI2000 is a collection of executables, so there is no need to install anything in order to run it. To start you can find the executables on the dropbox under the \BCI2000\ folder.
This would be a good time to go through some of the BCI2000 tutorials. While tutorialing, you should also familiarize yourself with the 2004 Schalk paper introducing BCI2000 (the paper is also at the top of the page).
Summary In short, BCI2000 consists of 4 modules (i.e. executables):
- Signal Acquisition
- This is the method used to obtain brain signals from the subject. We use the Emotiv headset (an specific EEG approach), but research labs can also use more invasive approaches like ECoG and single unit recordings to obtain brain signals.
- Signal Processing
- In general, brain signals are dirty. Real dirty. In the signal processing stage, spatial and frequency filtering is applied to pick out the brain signals that correlate well with whatever movement we’re focusing on (closing the hand in the case of Ipsihand). This is the stage where we stand to gain the most ground (see 8/8 journal club and Fieldtrip buffer).
- Application
- The application module is what the subject sees on the computer screen. There are a number of different tests and experiments that BCI2000 can run, so the person setting up BCI2000 chooses the user interface that will be affected by the brain signals.
- Operator
- The operator module coordinates between the other modules. It is simply the mothership.
To get a copy of BCI2000 executables (also known as binaries) on your own computer, download them from the BCI2000 wiki site. This requires creating an account with the BCI2000 wiki.
BCI2000 Development
In order to edit the BCI2000 modules for signal processing or programming, you'll need to have the ability to work with C++.
- BCI2000 source code is here.
- Note that you can download it through SVN or a compressed tgz file. SVN (tortoise) is recommended.
- For editing the C++ source code, the team uses Visual Studio, available from Dreamspark
- You'll also need CMake from here. I don't know why. If you figure out why, edit this and tell why.
Matlab
Matlab is available from the CEC, through a VPN (virtual private network).
- Set up a VPN http://eit.engineering.wustl.edu/help/vpn.asp
- Download Matlab from the CEC (must be running VPN) http://eit.engineering.wustl.edu/software/
We know 32-bit Matlab works, you can try 64-bit Matlab but we suspect there are some missing libraries BCI2000 for the 64-bit version. If you find otherwise, please update this paragraph.
LabVIEW
LabVIEW is also available, at a price, from http://eit.engineering.wustl.edu/software/ . Note that currently, the vast majority of our signal processing is done in Matlab.