eeglib: A Python module for EEG feature extraction

Abstract Electroencephalography (EEG) signals analysis is non-trivial, thus tools for helping in this task are crucial. One typical step in many studies is feature extraction, however, there are not many tools focused on that aspect. In this paper, eeglib: a Python library for EEG feature extraction is presented. It includes the most popular algorithms when working with EEG and can be easily combined with popular Python libraries. This paper also presents a simple workflow for creating features dataset which allows a high degree of customization and that is suitable for both experts and newcomers.

[1]  F. H. Lopes da Silva,et al.  Chaos or noise in EEG signals , 1995 .

[2]  B. Hjorth EEG analysis based on time domain properties. , 1970, Electroencephalography and clinical neurophysiology.

[3]  Arthur Petrosian,et al.  Kolmogorov complexity of finite sequences and recognition of different preictal EEG patterns , 1995, Proceedings Eighth IEEE Symposium on Computer-Based Medical Systems.

[4]  J. Devries About z-scores , 2007 .

[5]  Jing Hu,et al.  Analysis of Biomedical Signals by the Lempel-Ziv Complexity: the Effect of Finite Data Size , 2006, IEEE Transactions on Biomedical Engineering.

[6]  T. Higuchi Approach to an irregular time series on the basis of the fractal theory , 1988 .

[7]  Luis Rodriguez-Benitez,et al.  eeglib: computational analysis of cognitive performance during the use of video games , 2019, Journal of Ambient Intelligence and Humanized Computing.

[8]  Saeid Nahavandi,et al.  A comprehensive comparison of handcrafted features and convolutional autoencoders for epileptic seizures detection in EEG signals , 2021, Expert Syst. Appl..

[9]  C. Stam,et al.  Synchronization likelihood: an unbiased measure of generalized synchronization in multivariate data sets , 2002 .

[10]  K. Jarrod Millman,et al.  Array programming with NumPy , 2020, Nat..

[11]  Meinard Müller,et al.  Dynamic Time Warping , 2008 .

[12]  Jesús Fontecha,et al.  Analysis of Cognitive Load Using EEG when Interacting with Mobile Devices , 2019, UCAmI.

[13]  Xin Liu,et al.  PyEEG: An Open Source Python Module for EEG/MEG Feature Extraction , 2011, Comput. Intell. Neurosci..

[14]  Gerhard Nahler,et al.  Pearson Correlation Coefficient , 2020, Definitions.

[15]  Pierre Comon,et al.  Independent component analysis, A new concept? , 1994, Signal Process..

[16]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

[17]  Alexandros T. Tzallas,et al.  Machine Learning Algorithms and Statistical Approaches for Alzheimer's Disease Analysis Based on Resting-State EEG Recordings: A Systematic Review , 2021, Int. J. Neural Syst..

[18]  F. H. Lopes da Silva,et al.  Chaos or noise in EEG signals; dependence on state and brain site. , 1991, Electroencephalography and clinical neurophysiology.

[19]  Stéphane Mallat,et al.  A Theory for Multiresolution Signal Decomposition: The Wavelet Representation , 1989, IEEE Trans. Pattern Anal. Mach. Intell..

[20]  Alan Bundy,et al.  Dynamic Time Warping , 1984 .

[21]  J. Richman,et al.  Physiological time-series analysis using approximate entropy and sample entropy. , 2000, American journal of physiology. Heart and circulatory physiology.

[22]  C. Peng,et al.  Mosaic organization of DNA nucleotides. , 1994, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[23]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[24]  Richard N. Youngworth,et al.  An overview of power spectral density (PSD) calculations , 2005, SPIE Optics + Photonics.

[25]  Iván González,et al.  Characterisation of mobile-device tasks by their associated cognitive load through EEG data processing , 2020, Future Gener. Comput. Syst..

[26]  Arnaud Delorme,et al.  EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis , 2004, Journal of Neuroscience Methods.