How can software be programmed to receive and interpret brain activity?

550 Views Asked by At

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?

5

There are 5 best solutions below

0
On BEST ANSWER

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.

0
On

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.

0
On

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 samples before and after the marker and optionally sliced up (so one marker can be turned in to multiple training events). The events 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!)

7
On

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.

0
On

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.