Venthur Bastian, Dähne Sven, Höhne Johannes, Heller Hendrik, Blankertz Benjamin
Department of Neurotechnology, Technische Universität Berlin, Sekr. MAR 4-3 Marchstraße 23, 10587, Berlin, Germany.
Department of Machine Learning, Technische Universität, Berlin, Germany.
Neuroinformatics. 2015 Oct;13(4):471-86. doi: 10.1007/s12021-015-9271-8.
In the last years Python has gained more and more traction in the scientific community. Projects like NumPy, SciPy, and Matplotlib have created a strong foundation for scientific computing in Python and machine learning packages like scikit-learn or packages for data analysis like Pandas are building on top of it. In this paper we present Wyrm ( https://github.com/bbci/wyrm ), an open source BCI toolbox in Python. Wyrm is applicable to a broad range of neuroscientific problems. It can be used as a toolbox for analysis and visualization of neurophysiological data and in real-time settings, like an online BCI application. In order to prevent software defects, Wyrm makes extensive use of unit testing. We will explain the key aspects of Wyrm's software architecture and design decisions for its data structure, and demonstrate and validate the use of our toolbox by presenting our approach to the classification tasks of two different data sets from the BCI Competition III. Furthermore, we will give a brief analysis of the data sets using our toolbox, and demonstrate how we implemented an online experiment using Wyrm. With Wyrm we add the final piece to our ongoing effort to provide a complete, free and open source BCI system in Python.
在过去几年中,Python在科学界越来越受到关注。像NumPy、SciPy和Matplotlib这样的项目为Python中的科学计算奠定了坚实基础,而像scikit-learn这样的机器学习包或像Pandas这样的数据分析包则在此基础上进一步发展。在本文中,我们介绍Wyrm(https://github.com/bbci/wyrm),一个Python中的开源脑机接口(BCI)工具箱。Wyrm适用于广泛的神经科学问题。它可以用作神经生理数据的分析和可视化工具箱,也可用于实时场景,如在线BCI应用程序。为了防止软件缺陷,Wyrm大量使用单元测试。我们将解释Wyrm软件架构的关键方面及其数据结构的设计决策,并通过展示我们对BCI竞赛III中两个不同数据集分类任务的方法来演示和验证我们工具箱的使用。此外,我们将使用我们的工具箱对数据集进行简要分析,并演示我们如何使用Wyrm实现一个在线实验。通过Wyrm,我们为正在进行的在Python中提供一个完整、免费且开源的BCI系统的努力增添了最后一块拼图。