Skip to content
A Neurofeedback Software for Programmers
Branch: master
Clone or download
Latest commit 0239d5a Jan 10, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
NeuroWidgets start of waterfall widget Sep 4, 2015
archive
blocks
flow Fix Exception in Expression Nov 13, 2015
protocols
recordings Adjustet README and commit some test data Jul 29, 2015
scripts
tools
.gitignore
INSTALL.md
LICENSE
README.md waterfall made working Jan 10, 2016
TODO.md move lua launcher to new file Sep 15, 2015
acquisition.py fixed some nasty bugs Sep 30, 2015
bdf.py
brainduino_server.py
gnuradio-design.md Throw more stuff of gr port in Nov 14, 2015
gnuradio_protocol.py waterfall made working Jan 10, 2016
launcher.py fixed some nasty bugs Sep 30, 2015
lua_protocol.py
open_bci_v3.py initial commit Jun 9, 2015
openbci_server.py
qml.py
record_wav.py hack enough to run a test-session with InnerTube Oct 12, 2015
replay_server.py waterfall made working Jan 10, 2016
rt_thread.py
test_spectrogram.py waterfall made working Jan 10, 2016

README.md

OpenNFB

A Neurofeedback software approach based on Python and Qt5/pyqtgraph It is ment for programmers, because it does not try to provide a visual programming language, like BrainBay/BioEra/BioExplorer, so it is only sutable for those who do not fear source code and the command line.

Dependencies:

  • Python 2.7 or later
  • Numpy 1.7 or later
  • SciPy
  • GnuRadio
  • PyQtGraph

Hardware:

I currently work with the OpenBCI (http://www.openbci.com), in particular the 8 Bit version with 8 Channels. While the software should ideally be modular enough to support other devices, i do not think about a hardware abstraction layer at this point.

At this point it should be noted that the file open_bci_v3.py comes from the original OpenBCI_Python project: https://github.com/OpenBCI/OpenBCI_Python

There is experimental support for the other "Open-BCI", also called Brain-Duino (http://www.psychiclab.net/IBVA/kit1.html). Note that the samplerate is samplerate is still hard-coded everywhere, and some of the math will be wrong for the default rate of 512 Hz.

Functionality

Servers

The data acquisition sources are called 'server'. There is replay_server.py for playing back a BDF recording, and brainduino_server.py and openbci_server.py to do live hardware feedback. Replays are very useful for development without attaching electrodes each time.

Recording

WAV Files

Feedback

Live Visualization

TBD

OSX Workaround

If you want to test this on OSX, mind the FTDI Driver fix: https://github.com/OpenBCI/Docs/blob/master/tutorials/09_Mac_FTDI_Driver_Fix.md But beware, it sometimes freezes my Mac (or only the input devices), which can lead to data loss.

You can’t perform that action at this time.