pySPACE
Signal Processing and Classification Environment written in Python
Website: | http://pyspace.github.io/pyspace/ |
Keywords: | machine learning, signal processing, parallelisation |
Status: | active |
Operating system: | Linux, Mac OS X, Windows |
Programming languages: | Python |
Licence: | GPL3 |
Ownership: | This software was originally developed by the DFKI as well as by the Robotics Research Group and the University of Bremen. Now this software is also being developed by third parties. For questions and suggestions, please refer to the contact persons. |
Software description
Algorithms (Nodes) for Processing Chains
The modular node chain always begins with data loading (Source) and ends with data storing or sending (Sink). A normal EEG signal processing chain consists of several preprocessing algorithms like detrending, decimation, and temporal filtering, a spatial filter like ICA or xDAWN which combines sensors, a feature generator and a feature normalization, and finally a classification with optional modification of the classification score. Additionally, in between data and algorithms can be visualized or data is split into training and testing data, e.g., cross-validation. Some algorithms can internally call one or several other nodes to combine them, change their behavior, or optimize their parameters. The optimization can be again done in parallel.
Usability
- easy to install & setup (central configuration center; required dependencies: Python, YAML, NumPy, SciPy; optional dependencies: matplotlib, scikit-learn, PyQt4, mpi4py, LIBSVM, LIBLINEAR, MDP, ...)
- easy to use and extend
- online available documentation
- wrapper to external libraries (scikit-learn, Maja Machine Learning Framework, Weka)
- GUIs for evaluation and creating and running signal processing chains