Neuropipes

Alexander Nedergaard <[email protected]> Fri, 3 Nov 2017 13:50:43 +0100
Newsgroups gmane.comp.science.openeeg.general
Message-ID <CAGJ19PtWa-fSNvic+=GnYx7RqZfHts3e6HU4tTxfWdHeqS4OYA@mail.gmail.com>
I have recently developed an open-source framework for real-time EEG signal
processing with emphasis on efficiency and extensibility, which I would
like to share with you. The framework is named Neuropipes and is available
on GItHub: https://github.com/axnedergaard/neuropipes.

The development of the framework began in connection with an EEG
neurofeedback project together with some friends, where we had identified
the need for a general, high-efficiency (for minimal latency) real-time EEG
signal processing framework that could interface with external programs,
allow customised signal processing setups and easily be extended for
additional signal processing capabilities and EEG device support. To the
best of my knowledge, no such open-source software existed in the community.

The framework is not intended as complete out-of-the-box software with a
GUI, but rather as back-end machinery to do the signal processing "heavy
lifting" in real-time EEG applications.

Conceptually, the framework allows you to construct, initialise and run a
"pipeline" (similar to a computational graph), where each "pipe" represents
an input, computation or output operation. Pipes can be linked together
arbitrarily to support any signal processing setup. Code for new pipes can
be easily written and integrated to support new operations (e.g. additional
EEG devices, noise reduction techniques, BMI controllers, etc).

At present, the framework supports the following operations in addition to
general functionality: EMOTIV Epoc EEG device input, Fourier transforms,
bandpass filters, calculating power spectrum, reading from and writing to
EDF+ formatted files and writing to System V shared memory.

In the near future, I hope to develop the framework further to improve
efficiency, support more general signals and provide basic noise reduction
and BMI controller operations.

I have deliberately designed the framework with multi-contributor,
open-source development in mind, so I hope that anyone interested will not
hesitate to get on board or contact me with any questions. I do not know
who manages the SourceForge page, but it would be cool to have Neuropipes
included in the software list.

All the best and happy hacking,
Alexander Nedergaard

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot