OpenEEG

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
(Projects being discussed)
(adding Neuro Category)
 
(13 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
We're not currently meeting at any regular time.  We do have a [https://www.noisebridge.net/mailman/listinfo/eeg/ mailing list], though. Ping us there to meet up.
 +
 +
 
=What is EEG?=
 
=What is EEG?=
 
[http://en.wikipedia.org/wiki/Eeg EEG] is a method of reading brain activity using electrodes on the scalp.  We're currently trying to get a working setup that will enable us to measure [http://en.wikipedia.org/wiki/Alpha_wave alpha]and [http://en.wikipedia.org/wiki/Beta_wave beta waves], as well as providing a good enough resolution to collect some [http://en.wikipedia.org/wiki/Event-related_potential ERP] data.
 
[http://en.wikipedia.org/wiki/Eeg EEG] is a method of reading brain activity using electrodes on the scalp.  We're currently trying to get a working setup that will enable us to measure [http://en.wikipedia.org/wiki/Alpha_wave alpha]and [http://en.wikipedia.org/wiki/Beta_wave beta waves], as well as providing a good enough resolution to collect some [http://en.wikipedia.org/wiki/Event-related_potential ERP] data.
Line 7: Line 10:
 
OpenEEG is an open-source EEG hardware design.  [http://openeeg.sourceforge.net/doc/ The OpenEEG homepage] has more information.
 
OpenEEG is an open-source EEG hardware design.  [http://openeeg.sourceforge.net/doc/ The OpenEEG homepage] has more information.
 
[http://www.olimex.com/gadgets/openeeg.html Olimex has the boards available for purchase]; it seems like a good reference design to use.
 
[http://www.olimex.com/gadgets/openeeg.html Olimex has the boards available for purchase]; it seems like a good reference design to use.
 +
We also have [http://www.electrodesales.com/cap100c.html this EEG cap] at the space, and we're currently working on amplifying it.
  
 
=Projects being discussed=
 
=Projects being discussed=
  
===Custom EEG software: signal processing and pattern analysis===
+
==Custom EEG software: signal processing and pattern analysis==
 +
*Write code in Python using convenient libraries...
 +
*[http://www.scipy.org/SciPy 'SciPy - Scientific Tools for Python']
 +
*[http://numpy.scipy.org/ 'NumPy - Numerical Python']
 +
*I think it might be possible to write a gnuradio (software) signal processing block for EEG purposes - [http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html 'how to write a block']
 +
*Machine Learning libraries that might be useful
 +
**[http://mloss.org/software/view/76/ 'PyMVPA Multivariate Pattern Analysis in Python']
 +
**[http://mloss.org/software/view/69/ 'Logistic regression with dual spectral regularization']
 +
* Don't forget Gnu Octave http://www.gnu.org/software/octave/ -- a open-source Matlab workalike
  
Write code in Python using convenient libraries...
+
==Brain Computer Interface for music==
 +
==Sleep cycle monitoring==
 +
*[http://en.wikipedia.org/wiki/Sleep_stages#Stages_of_sleep Sleep stages] can be easily monitored using EEG.
 +
*Requires developing a minimal, rugged electrode setup.
 +
==Acoustic biofeedback for meditation==
 +
*Need to research sympathetic frequencies
 +
==Fire art using brainwave changes==
 +
*[http://en.wikipedia.org/wiki/Beta_wave Beta waves] make fire, [http://en.wikipedia.org/wiki/Alpha_wave alpha waves] put it out?
 +
==Kinetic art using brain data==
 +
*Might use facial/muscular data?
 +
==Passthought==
 +
*''[http://www.wordspy.com/words/passthought.asp Needs researching...]''
 +
*use ERP to select off of screen?
 +
*individual reaction to image?
 +
*How to integrate different response for under duress?
  
* [http://www.scipy.org/SciPy 'SciPy - Scientific Tools for Python']
+
==Nerofeedback training for meditation and conscious mental state control==
* [http://numpy.scipy.org/ 'NumPy - Numerical Python']
+
Hardware-Setup:
 +
*silver electrodes with attached pieces of cotton-cloth, and a few drops of saline solution are used as first-contact with skin. <br>
 +
*short high-quality shielded audio cables lead to the head-box at the back of the head, which contains OpenEEG-smd-hardware <br>
 +
*USB connection to small linux-based WiFi-smartphone (N800) with bluetooth and WLAN
 +
*TCP-Neuroserver forwards EEG-data as TCP-packets
 +
*TCP-stream can be written to file, or sent to custom software
 +
In the system described on [http://www.meta-mind.de www.meta-mind.de] the brainwave-data is then mainly processed and visualized with a custom BrainBay-Preset.
  
I think it might be possible to write a
+
Applications can be:
'''''gnuradio (software) signal processing block for EEG purposes'''''
+
*innovative intuitive computer-input-device
*[http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html 'how to write a block']
+
*meditation (brainwave hemisphere-synchronization and conscious mental state control)
 +
*[http://en.wikipedia.org/wiki/Neurofeedback Neurofeedback]
 +
*mental multi-player games: train relaxation, concentration, ability to shift mind-state consciously
  
====Machine Learning libraries that might be useful====
+
There will be more documentation coming, and it would be fun to work on it together, create more working neuroheadset setups, and play multiplayer-mindcontrol-games at a workshop at Noisebridge later this year. --[[User:Rain|Rain]] 15:45, 28 July 2009 (PDT)
  
*[http://mloss.org/software/view/76/ 'PyMVPA Multivariate Pattern Analysis in Python']
 
*[http://mloss.org/software/view/69/ 'Logistic regression with dual spectral regularization']
 
 
 
*Brain Computer Interface for music
 
*Fire art using brainwave changes
 
**[http://en.wikipedia.org/wiki/Beta_wave Beta waves] make fire, [http://en.wikipedia.org/wiki/Alpha_wave alpha waves] put it out?
 
*Kinetic art using brain data
 
**Might use facial/muscular data?
 
*Passthought ''[http://www.wordspy.com/words/passthought.asp Needs researching...]''
 
**use ERP to select off of screen?
 
**individual reaction to image?
 
**How to integrate different response for under duress?
 
  
 
=Meetup Notes=
 
=Meetup Notes=
 +
 +
==Meetings 4/16 & 4/19==
 +
*On Thursday we had a brief, disorganized meeting that mostly consisted of being really excited about our new cap!  It came this week.
 +
*Also, had a new member on Thursday who's interested in using EEG for sleep study.  This would be a useful direction to pursue, because it requires minimal, tough hardware, and data analysis wouldn't be too complex.
 +
*On Sunday, almost no one showed up--we assume people will be vocal about it if Sunday meetups don't work for them?  But we did talk about another new project that sounds fun: ambient acoustical biofeedback for meditation.
 +
*A couple of our members have actually played with data at this point (see list archives, wherever those are--link anyone?) so that's progress!
  
 
==Meetup the Second==
 
==Meetup the Second==
Line 87: Line 114:
 
# When you have some data, call in the geeks. I am personally expert at Fourier analysis, and have some experience with LDA (linear discriminant analysis) using SVD (singular value decomposition). I'd be happy to share what I know (including open-source tools like Octave and SciPy) and chew on the data for an evening.
 
# When you have some data, call in the geeks. I am personally expert at Fourier analysis, and have some experience with LDA (linear discriminant analysis) using SVD (singular value decomposition). I'd be happy to share what I know (including open-source tools like Octave and SciPy) and chew on the data for an evening.
 
# Bootstrap from there, as this may not work at all.
 
# Bootstrap from there, as this may not work at all.
 +
 +
[[Category:Neuro]]

Latest revision as of 13:57, 7 May 2012

We're not currently meeting at any regular time. We do have a mailing list, though. Ping us there to meet up.


Contents

[edit] What is EEG?

EEG is a method of reading brain activity using electrodes on the scalp. We're currently trying to get a working setup that will enable us to measure alphaand beta waves, as well as providing a good enough resolution to collect some ERP data.

[edit] What is OpenEEG?

OpenEEG is an open-source EEG hardware design. The OpenEEG homepage has more information. Olimex has the boards available for purchase; it seems like a good reference design to use. We also have this EEG cap at the space, and we're currently working on amplifying it.

[edit] Projects being discussed

[edit] Custom EEG software: signal processing and pattern analysis

[edit] Brain Computer Interface for music

[edit] Sleep cycle monitoring

  • Sleep stages can be easily monitored using EEG.
  • Requires developing a minimal, rugged electrode setup.

[edit] Acoustic biofeedback for meditation

  • Need to research sympathetic frequencies

[edit] Fire art using brainwave changes

[edit] Kinetic art using brain data

  • Might use facial/muscular data?

[edit] Passthought

  • Needs researching...
  • use ERP to select off of screen?
  • individual reaction to image?
  • How to integrate different response for under duress?

[edit] Nerofeedback training for meditation and conscious mental state control

Hardware-Setup:

  • silver electrodes with attached pieces of cotton-cloth, and a few drops of saline solution are used as first-contact with skin.
  • short high-quality shielded audio cables lead to the head-box at the back of the head, which contains OpenEEG-smd-hardware
  • USB connection to small linux-based WiFi-smartphone (N800) with bluetooth and WLAN
  • TCP-Neuroserver forwards EEG-data as TCP-packets
  • TCP-stream can be written to file, or sent to custom software

In the system described on www.meta-mind.de the brainwave-data is then mainly processed and visualized with a custom BrainBay-Preset.

Applications can be:

  • innovative intuitive computer-input-device
  • meditation (brainwave hemisphere-synchronization and conscious mental state control)
  • Neurofeedback
  • mental multi-player games: train relaxation, concentration, ability to shift mind-state consciously

There will be more documentation coming, and it would be fun to work on it together, create more working neuroheadset setups, and play multiplayer-mindcontrol-games at a workshop at Noisebridge later this year. --Rain 15:45, 28 July 2009 (PDT)


[edit] Meetup Notes

[edit] Meetings 4/16 & 4/19

  • On Thursday we had a brief, disorganized meeting that mostly consisted of being really excited about our new cap! It came this week.
  • Also, had a new member on Thursday who's interested in using EEG for sleep study. This would be a useful direction to pursue, because it requires minimal, tough hardware, and data analysis wouldn't be too complex.
  • On Sunday, almost no one showed up--we assume people will be vocal about it if Sunday meetups don't work for them? But we did talk about another new project that sounds fun: ambient acoustical biofeedback for meditation.
  • A couple of our members have actually played with data at this point (see list archives, wherever those are--link anyone?) so that's progress!

[edit] Meetup the Second

  • Boards - We talked about boards and amplifiers.
    • The OpenEEG system has one processor board and can support up to three amplifier boards (we have one now). Each amplifier board supports two differential input channels. Jonathan doesn't think this is the critical path yet, but it might be later.
    • Apparently Mitch also has a set of boards (Tracy will check?), and Jonathan may have a lead on another (pun sadly intentional).
    • Jonathan volunteered to look at the serial interface from the OpenEEG processor board.
  • The Cap - Rachel is going to buy the CAP100C EEG Cap Kit. Please give her your money. (Rachel, will you accept PayPal?)
    • What connectors does this have?
  • Facial & reference electrodes - We need to figure out how reference electrodes work with the headset.
    • Our amp boards have differential input channels. We need to understand how these connect to single-ended and reference electrodes.
    • Discussed facial data in Emotiv headset and adding some facial & reference electrodes to the our headset setup.
    • Research implementations of the cap & sort out amplification and reference electrode setup.
    • Kelly vaguely remembers something about localization using dipoles and wonders if this would be useful. Needs research.
  • Enclosure - We need to set up a case of some sort and mount the boards in it with connectors. Tracy will take a lead on this. Jonathan will advise: very straightforward, just drill a few holes & solder a few leads once connectors are specified.
    • We need a design decision on connectors. One-channel BNC or differential-channel mini-XLRs?
    • Tracy brought a very pretty metal box. In Jonathan's opinion it's a little tight for several boards plus panel-mount connectors. Jonathan suggests a 1-U rack mount enclosed chassis if we can find an affordable one.
    • Sanity check our grounding and filtering setup with EKG data since we don't have a clean electrode setup for EEG yet. Will be first step with enclosure.

[edit] First meetup: 2009-03-26 20h00 at 83c

Agenda:

  • Who's here, and what are they interested in?
  • What do we have available, and what do we need?
  • How do we get what we need?
  • Who's going to make that happen for the next meeting?

[edit] First steps

It sounds like our steps are the following:

  • Assemble a set of OpenEEG boards
  • Get together a set of electrodes
  • Get the data into a computer

Once we've done that, let's look at heartbeats. They're big and easy to see. This is also a good first step towards bootstrapping the data analysis part.

After we've gotten good signal, we can move on to strapping the thing to people's heads and looking for brainwaves. This is where things get interesting. We can export the data and throw it over to the wacky Machine Learning meetup, we can tie it into crazy Cyborg group stuff, make, and we can use it as an input to other systems (be they security, music, or teledildonics).


Here's Jonathan's sketch of a plan, which sounds reasonable to me:

  1. Get a pool of OpenEEG cards. I would suggest starting with 8. Maybe several people want to "adopt" one by buying a kit and we can have a solder party. I will adopt one myself.
  2. Put them all in a metal box with a solid ground.
  3. Find someone with a 8-channel USB-audio interface for signal acquisition. These are pretty common with the musician crowd. (Sample rate is overkill, but that's OK). Anybody have one we could borrow? (Update: These may not have sufficient low-frequency response so may start with OpenEEG ADC).
  4. Find some good electrodes. Sanity check each channel by detecting heartbeats. (If we can't get those loud and clear, no point looking at the brain's much weaker signals.)
  5. Now are we ready to do EEGs. I would suggest -- nay, insist -- on a double-blind protocol, otherwise we will see results that aren't there. It's simply human nature. So get subject(s), over several trials, to say, attempt achieving an alpha state, and for a control, I don't know, read BoingBoing or something. Get a third party to randomize the order and keep track of data labels. (Might experiment with event response potentials too as long as we're all set up.)
  6. When you have some data, call in the geeks. I am personally expert at Fourier analysis, and have some experience with LDA (linear discriminant analysis) using SVD (singular value decomposition). I'd be happy to share what I know (including open-source tools like Octave and SciPy) and chew on the data for an evening.
  7. Bootstrap from there, as this may not work at all.
Personal tools