0

There are some machines available which hook onto someone's head, and they can record brain activity and show this on a screen.

I'm wondering if there are any known components with an API or another method, which can be purchased and can be linked with custom software to transmit the brain activity to the software, which can then process/interpret them, or if there's another way to programmatically receive and interpret the brain activity?

Jee Mok
  • 6,157
  • 8
  • 47
  • 80
Ali
  • 261,656
  • 265
  • 575
  • 769
  • Interesting question! Please specify what you mean by 'brain waves', so people can orient their answers towards true EEG technology or devices using composite brain activity input, such as the Neural Impulse Actuator from OCZ. – mjv Sep 08 '09 at 06:23
  • I meant any sort of brain activity which can be detected. If there's another term for this, feel free to edit, or let me know and I'll fix it :) – Ali Sep 08 '09 at 06:32

5 Answers5

4

Well, that's quite a specialized field you're asking about. And, because of that, I doubt there's any equipment you could pick up fro WalMart or Best Buy to help you out. No doubt there are medical equipment manufacturers that would make that sort of stuff but it wouldn't be readily available to your average Joe (at least not without buying some hideously expensive kit from them).

That sort of equipment is generally based on the electrical signals from the brain that can be detected on the skin surface (Electroencephalographs or EEGs do this). Picking up signals from deeper within the brain is going to require some specialized equipment to be inserted inside the skull, not something I'd look at for a weekend project :-)

There is an Open EEG project on the web if you're interested. It's got hardware links mostly but seems to indicate that several members have software available as well.

There's also a site for a homemade EEG device, but I seriously love the warning:

WARNING: USE AT YOUR OWN RISK. If you download the following schematics and attempt to build this device, you must assume all responsibility for any misuse, injury or death that may ensue. This device is neither guaranteed to work nor certified to be safe. A general suggestion is to never ever power this device with AC (i.e. from the wall), only with DC (batteries). In addition, do not connect this device to anything that is connected to AC power. Consider yourself warned.

paxdiablo
  • 854,327
  • 234
  • 1,573
  • 1,953
  • A complicating factor taking this even further outside the realm of weekend projects is the safety issues associated with electrical equipment which is connected directly to the body. Such equipment should be approved by the FDA (or your local regulator). The costs of compliance with regulations would be enormous. This is not to say you couldn't make your own equipment and ignore those requirements (mad scientists have always done it that way) but it can't be recommended. – pavium Sep 08 '09 at 06:24
  • What I'm actually wondering is this. Lets say we have a car racing game, If the game can receive the brain activity, it can record the signals/waves you send when you think about a particular action such as 'move car to left'. then when you think about moving to left again, it will compare the waves and, on finding them the same/similar as the signals you created earlier, it would auto. move your character to the left. – Ali Sep 08 '09 at 06:46
  • @ClickUpvote, I have a hard enough time co-ordinating my arms and legs when I walk (especially Friday nights). If you throw in my brain's electrical activity while I'm playing a complicated video game, I'm likely to launch the entire vehicle into space :-) – paxdiablo Sep 08 '09 at 06:51
  • 1
    Anyway, I once saw research in which it was shown that the activity in the brain lagged most physical actions by milliseconds. That makes the brain less of a control device and more of a means for trying to make sense of what just happened :-) – paxdiablo Sep 08 '09 at 06:53
  • yes, but if your brain always sent the same pattern of signals when you gave the command 'move left', and the software was analyzing all the signals in real time, perhaps it could detect when a signal identical to the 'move left' signal was received and move the car? – Ali Sep 08 '09 at 07:07
  • If it did, then yes, I agree. I gather part of your quest is to find out *if* it does. I'm just saying I wouldn't trust it for a while. I already have an efficient mechanism which has been perfected over a hundred years for one part (appendages to car controls) and several billion years for the other part (brain to appendages) so I'm unlikely to be a beta tester. By all means, give it a try - I'm always interested in the results of interesting experiments, and this one at least has the virtue of possibly offering hope to less-abled people. – paxdiablo Sep 08 '09 at 07:20
  • What I'm trying to say is: I'm not trying to discourage you. I'd actually be interested in the outcomes. – paxdiablo Sep 08 '09 at 07:21
1

An interesting device in this area is the OCZ Neural Input Actuator (NIA). This device is a headband incorporating an electro-myogram, electro-encephalogram, and electro-oculogram which connect to a USB port by way of small black box (said to run hardware FFT ?).

The contraption is originally aimed at translating eye movements, facial muscle movements, and brain waves into computer/game input, but has since attracted the attention of a few hackers who've broaden the scope and either on their own or with OCZ are working on developping drivers and APIs, some in Open Source project.

See this link for pointers on some of these initiatives.

Also, I believe some folks are also tinkering with the hardware for example by cutting the headband cable and connecting true (medical-type) EEG sensors instead.

mjv
  • 73,152
  • 14
  • 113
  • 156
1

You could look at some available software for brain-computer interfaces (BCI). BCIs allow paralysed patients to control a computer using only electrical activity of their brain (electroencephalogram, EEG).

Check the following website:

http://www.bci2000.org/BCI2000/Home.html

Note that all of the available systems are still research systems. To this date, there are only few commercial applications.

Wai Ha Lee
  • 8,598
  • 83
  • 57
  • 92
btel
  • 5,563
  • 6
  • 37
  • 47
1

You can use libraries like MNE for Python or EEGLAB for MatLab to program software for brain activity interpretation. They are useful tools for processing and studying EEG signal. Although, it is enough only for the beginning. If you’d like to understand the brain activity deeply, you can try to participate in different contests aiming to develop a sustainable base for creating a brain-computer interface. For example, recently my colleagues and I have participated in "Grasp-and-Lift EEG Detection" competition organized by Kaggle. According to competition rules, participants had to identify with the lowest error rate and classify various movements of the right hand using EEG - http://rnd.azoft.com/classification-eeg-signals-brain-computer-interface/. So, I suppose this topic is still under investigation and don’t have a universal solution.

ice.cube
  • 505
  • 4
  • 7
0

For realtime capture and processing there's the Lab Streaming Layer (LSL) protocol, which has a long list of physiological devices which can have their data ported to the LSL enabling timestamp synchronisation to a given stimulus with recorded data from single or multiple devices, that's a good start for data preparation.

If Python is a preferred choice for creating a BCI I've attempted to create a live BCI software PyBCI. So far i've made examples for sklearn, pytorch or tensorflow models to be used as the classifiers. When training the model an LSL marker stream is used to receive strings indicating training markers. When a training marker is received data can be stored so many sample before and after the marker and optionally sliced up (so one marker can be turned in to multiple training epochs). The epochs are then passed to either a user defined custom feature extraction class or a default feature extractor is given taking generic time/frequency EEG/EMG features. (Feel free to discuss or make recommendations for desired features on the git!)

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Liam
  • 390
  • 5
  • 11