This article is part of the Research Topic Python in Neuroscience II


Front. Neuroinform., 24 December 2013 | doi: 10.3389/fninf.2013.00040

pySPACE—a signal processing and classification environment in Python

  • 1Robotics Group, Faculty 3 - Mathematics and Computer Science, University of Bremen, Bremen, Germany
  • 2Robotics Innovation Center, DFKI GmbH, Bremen, Germany

In neuroscience large amounts of data are recorded to provide insights into cerebral information processing and function. The successful extraction of the relevant signals becomes more and more challenging due to increasing complexities in acquisition techniques and questions addressed. Here, automated signal processing and machine learning tools can help to process the data, e.g., to separate signal and noise. With the presented software pySPACE (, signal processing algorithms can be compared and applied automatically on time series data, either with the aim of finding a suitable preprocessing, or of training supervised algorithms to classify the data. pySPACE originally has been built to process multi-sensor windowed time series data, like event-related potentials from the electroencephalogram (EEG). The software provides automated data handling, distributed processing, modular build-up of signal processing chains and tools for visualization and performance evaluation. Included in the software are various algorithms like temporal and spatial filters, feature generation and selection, classification algorithms, and evaluation schemes. Further, interfaces to other signal processing tools are provided and, since pySPACE is a modular framework, it can be extended with new algorithms according to individual needs. In the presented work, the structural hierarchies are described. It is illustrated how users and developers can interface the software and execute offline and online modes. Configuration of pySPACE is realized with the YAML format, so that programming skills are not mandatory for usage. The concept of pySPACE is to have one comprehensive tool that can be used to perform complete signal processing and classification tasks. It further allows to define own algorithms, or to integrate and use already existing libraries.

Keywords: Python, neuroscience, EEG, YAML, benchmarking, signal processing, machine learning, visualization

Citation: Krell MM, Straube S, Seeland A, Wöhrle H, Teiwes J, Metzen JH, Kirchner EA and Kirchner F (2013) pySPACE—a signal processing and classification environment in Python. Front. Neuroinform. 7:40. doi: 10.3389/fninf.2013.00040

Received: 08 August 2013; Accepted: 09 December 2013;
Published online: 24 December 2013.

Edited by:

Fernando Pérez, University of California, Berkeley, USA

Reviewed by:

Ariel Rokem, Stanford University, USA
Christopher Holdgraf, University of California, Berkeley, USA

Copyright © 2013 Krell, Straube, Seeland, Wöhrle, Teiwes, Metzen, Kirchner and Kirchner. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.

*Correspondence: Mario M. Krell, Robotics Group Faculty 3 - Mathematics and Computer Science, University of Bremen, Robert-Hooke-Str. 1, Bremen D-28359, Germany e-mail:

Back to top