Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2021 Aug 26;21(17):5740.
doi: 10.3390/s21175740.

BioPyC, an Open-Source Python Toolbox for Offline Electroencephalographic and Physiological Signals Classification

Affiliations

BioPyC, an Open-Source Python Toolbox for Offline Electroencephalographic and Physiological Signals Classification

Aurélien Appriou et al. Sensors (Basel). .

Abstract

Research on brain-computer interfaces (BCIs) has become more democratic in recent decades, and experiments using electroencephalography (EEG)-based BCIs has dramatically increased. The variety of protocol designs and the growing interest in physiological computing require parallel improvements in processing and classification of both EEG signals and bio signals, such as electrodermal activity (EDA), heart rate (HR) or breathing. If some EEG-based analysis tools are already available for online BCIs with a number of online BCI platforms (e.g., BCI2000 or OpenViBE), it remains crucial to perform offline analyses in order to design, select, tune, validate and test algorithms before using them online. Moreover, studying and comparing those algorithms usually requires expertise in programming, signal processing and machine learning, whereas numerous BCI researchers come from other backgrounds with limited or no training in such skills. Finally, existing BCI toolboxes are focused on EEG and other brain signals but usually do not include processing tools for other bio signals. Therefore, in this paper, we describe BioPyC, a free, open-source and easy-to-use Python platform for offline EEG and biosignal processing and classification. Based on an intuitive and well-guided graphical interface, four main modules allow the user to follow the standard steps of the BCI process without any programming skills: (1) reading different neurophysiological signal data formats, (2) filtering and representing EEG and bio signals, (3) classifying them, and (4) visualizing and performing statistical tests on the results. We illustrate BioPyC use on four studies, namely classifying mental tasks, the cognitive workload, emotions and attention states from EEG signals.

Keywords: Python platform; brain–computer interfaces (BCI); electroencephalography (EEG); machine learning; physiological signals; signal processing.

PubMed Disclaimer

Conflict of interest statement

The authors declare no conflict of interest.

Figures

Figure 1
Figure 1
BioPyC data flow: the 4 main modules allow users to follow the standard BCI process for offline EEG and biosignal processing and classification.
Figure 2
Figure 2
Comparison of main features of existing toolboxes having modules for EEG signals processing and classification. BioPyC values for each feature are written in black; values of features that are similar to those of BioPyC are written in green; and finally, values of features that differ from those of BioPyC are written in grey. “opt” stands for “optional” in the figure.
Figure 3
Figure 3
Screenshot of BioPyC’s widgets, i.e., “select multiples” and buttons at the step of selecting the type of data/signals to work on. In BioPyC, a blue button stands for the action to make, when the disabled orange ones stand for future actions to make: orange buttons turn blue when the previous action is done.
Figure 4
Figure 4
Screenshot of BioPyC’s choice of both calibration and evaluation types.
Figure 5
Figure 5
Classification accuracy of each algorithm, for each subject, on the “BCI competition IV data set 2a”, in both subject-specific and subject-independent calibrations.
Figure 6
Figure 6
Classification accuracy of each algorithm on the “BCI competition IV data set 2a”, in both subject-specific and subject-independent calibrations.
Figure 7
Figure 7
Average confusion matrices over all subjects for classification of attention in theta (4–8 Hz) and alpha (8–12 Hz) frequency bands of 5 attentional states, i.e., alertness (tonic), alertness (phasic), sustained, selective, and divided.
Figure 8
Figure 8
Classification accuracy of each algorithm on the workload data, in both subject-specific and subject-independent calibrations.
Figure 9
Figure 9
Classification accuracy of each algorithm on the valence data, in both subject-specific and subject-independent calibrations.
Figure 10
Figure 10
Classification accuracy of each algorithm on the arousal data, in both subject-specific and subject-independent calibrations.

Similar articles

Cited by

References

    1. Vidal J.J. Toward direct brain-computer communication. Annu. Rev. Biophys. Bioeng. 1973;2:157–180. doi: 10.1146/annurev.bb.02.060173.001105. - DOI - PubMed
    1. Clerc M., Bougrain L., Lotte F. Brain-Computer Interfaces 1. Wiley-ISTE; London, UK: 2016.
    1. Millán J.R., Rupp R., Müller-Putz G., Murray-Smith R., Giugliemma C., Tangermann M., Vidaurre C., Cincotti F., Kübler A., Leeb R., et al. Combining Brain-Computer Interfaces and Assistive Technologies: State-of-the-Art and Challenges. Front. Neurosci. 2010;4:161. doi: 10.3389/fnins.2010.00161. - DOI - PMC - PubMed
    1. Zander T., Kothe C. Towards passive brain-computer interfaces: Applying brain-computer interface technology to human-machine systems in general. J. Neural Eng. 2011;8:025005. doi: 10.1088/1741-2560/8/2/025005. - DOI - PubMed
    1. Pfurtscheller G. The hybrid BCI. Front. Neurosci. 2010;4:1–11. doi: 10.3389/fnpro.2010.00003. - DOI - PMC - PubMed

LinkOut - more resources