Difference between revisions of "Getting Started"

From ESE497 Wiki
Jump to navigationJump to search
 
(35 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
== <div id="Physiology Background">Physiology Background</div> ==
 +
Wikipedia
 +
*[http://en.wikipedia.org/wiki/Electroencephalography Electroencephalography (EEG)]
 +
*[http://en.wikipedia.org/wiki/Electrocorticography Electrocorticography (ECoG)]
 +
<br />
 +
Standard 10-20 Electrode Map
 +
*[http://www.cnsforum.com/imagebank/item/placement_EEG_leads/default.aspx Explanation 1]
 +
*[http://en.wikipedia.org/wiki/10-20_system_%28EEG%29 Explanation 2]
 +
 +
<br />
 +
Background Literature
 +
*[http://www.bci2000.org/wiki/index.php/User_Tutorial:Introduction_to_the_Mu_Rhythm Mu Rythm BCIs (e.g. Ipsihand)]
 +
<br />
 +
*[[media:2002Wolpaw_Review.pdf | Wolpaw 2002 BCI Review]]
 +
*[[media:2006Leuthardt_Review.pdf | Leuthardt 2006 Neuroprosthetics Review]]
 +
*[[media:2010Hoffmann_ThesisEmotivEval.pdf | Hoffmann 2010 EEG Signal Processing and Emotiv Headset]]
 +
*[[media:Schalk_onBCI2000_2004.pdf | Schalk 2004 BCI2000 Overview]]
 +
*[[media:2004Schalk_BCI2000Implementation.pdf | Schalk 2004 BCI2000 Implementation]]
 +
<br />
 +
*[[media:EEG_Overview.pdf | Complete EEG Overview]]
 +
<br />
 +
 +
== <div id="Software Requirements">Software Requirements</div> ==
 +
 
You'll need at least 3 pieces of software in order to run the Wustl-BCI project:
 
You'll need at least 3 pieces of software in order to run the Wustl-BCI project:
 
# [[#Dropbox|Dropbox]]
 
# [[#Dropbox|Dropbox]]
Line 12: Line 36:
 
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.
 
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
 
*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
+
Ask a team officer for a dropbox account invitation, so they get extra space. Once you accept the invitation and create an account, ask to be invited to the team's shared folder. You must have dropbox before you can access much of the software.
 +
 
 
== <div id="Emotiv">Emotiv</div> ==
 
== <div id="Emotiv">Emotiv</div> ==
 
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:
 
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:
Line 29: Line 54:
  
 
This would be a good time to go through some of the BCI2000 [[User_Tutorials|tutorials]].
 
This would be a good time to go through some of the BCI2000 [[User_Tutorials|tutorials]].
While tutorialing, you should also familiarize yourself with the 2004Schalk [http://www.ncbi.nlm.nih.gov/pubmed/15188875 paper] introducing BCI2000.
+
While tutorialing, you should also familiarize yourself with the 2004 Schalk [http://www.ncbi.nlm.nih.gov/pubmed/15188875 paper] introducing BCI2000 (the paper is also at the top of the [http://classes.engineering.wustl.edu/ese497/index.php/Getting_Started#Physiology_Background 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 [http://www.bci2000.org/wiki/index.php/BCI2000_Binaries site]. This requires creating an account with the BCI2000 wiki.
 
To get a copy of BCI2000 executables (also known as binaries) on your own computer, download them from the BCI2000 wiki [http://www.bci2000.org/wiki/index.php/BCI2000_Binaries site]. This requires creating an account with the BCI2000 wiki.
  
=== <div id="BCI2000dev">BCI2000 development </div> ===
+
== <div id="BCI2000dev">BCI2000 Development </div> ==
 
In order to edit the BCI2000 modules for signal processing or programming, you'll need to have the ability to work with C++.
 
In order to edit the BCI2000 modules for signal processing or programming, you'll need to have the ability to work with C++.
  
Line 40: Line 79:
 
*For editing the C++ source code, the team uses Visual Studio, available from [https://www.dreamspark.com/ Dreamspark]
 
*For editing the C++ source code, the team uses Visual Studio, available from [https://www.dreamspark.com/ Dreamspark]
 
*You'll also need CMake from [http://www.cmake.org here].  I don't know why. If you figure out why, edit this and tell why.
 
*You'll also need CMake from [http://www.cmake.org here].  I don't know why. If you figure out why, edit this and tell why.
 
== <div id="Physiology Background">Physiology Background</div> ==
 
[http://en.wikipedia.org/wiki/Electroencephalography Electroencephalography (EEG)]
 
[http://en.wikipedia.org/wiki/Electrocorticography Electrocorticography (ECoG)]
 
<br />
 
Standard 10-20 Electrode Map
 
*[http://www.cnsforum.com/imagebank/item/placement_EEG_leads/default.aspx Explanation 1]
 
*[http://en.wikipedia.org/wiki/10-20_system_%28EEG%29 Explanation 2]
 
 
<br />
 
Background Readings
 
  
 
== <div id="Matlab">Matlab</div> ==
 
== <div id="Matlab">Matlab</div> ==

Latest revision as of 15:14, 4 September 2015

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.

Ask a team officer for a dropbox account invitation, so they get extra space. Once you accept the invitation and create an account, ask to be invited to the team's 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.
  2. 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).
  3. 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.
  4. 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.