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