Difference between revisions of "Getting Started"

From ESE497 Wiki
Jump to navigationJump to search
Line 56: Line 56:
 
Summary
 
Summary
 
In short, BCI2000 consists of 4 modules (i.e. executables):
 
In short, BCI2000 consists of 4 modules (i.e. executables):
# Signal Acquisition
+
#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.
+
#: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
 
# Signal Processing

Revision as of 23:18, 10 August 2011

Physiology Background

Wikipedia


Standard 10-20 Electrode Map


Background Literature



Software Requirements

You'll need at least 3 pieces of software in order to run the Wustl-BCI project:

  1. Dropbox
  2. Emotiv drivers
  3. BCI2000

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.

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):

  1. 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.
  1. Signal Processing
  2. 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).
  1. 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.

  1. 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).

  1. Set up a VPN http://eit.engineering.wustl.edu/help/vpn.asp
  2. 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.