Next Article in Journal
Assessment of Spatial Variations in Pesticide, Heavy Metal, and Selenium Residues in Honey Bee (Apis mellifera L.) Products
Previous Article in Journal
Digital Factory Transformation from a Servitization Perspective: Fields of Action for Developing Internal Smart Services
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

A Survey on EEG Data Analysis Software

Department of Computer Science, Swenson College of Sceince and Engineering, University of Minnesota-Duluth, Duluth, MN 55812, USA
*
Author to whom correspondence should be addressed.
Submission received: 5 January 2023 / Revised: 24 February 2023 / Accepted: 3 April 2023 / Published: 1 June 2023

Abstract

:
Electroencephalography (EEG) is a mechanism to understand the brain’s functioning by analyzing brain electrical signals. More recently, it has been more commonly used in studies that are focused on the causation and effect of dementia. More tools are now available to gather EEG data. This brings about the challenge of understanding brain signals, which involves signal processing. Professionals with an electrical engineering background are very comfortable analyzing EEG data. Still, scientists in computer science and related fields need a source that can identify all the tools available and the process of analyzing the data. This paper deals specifically with the existing EEG data analysis tools and the processes involved in analyzing the EEG data using these tools. Furthermore, the paper goes in-depth into identifying the tools and the mechanisms of data processing techniques. In addition, it lists a set of definitions required for a better understanding of EEG data analysis, which can be challenging. The purpose of this paper is to serve as a reference for not only scientists that are new to EEG data analysis but also seasoned scientists that are looking for a specific data component in EEG and can go straight to the section of the paper that deals with the tool that they are using.

1. Introduction

Electroencephalography (EEG) is a method of measuring the state of mind, as well as the output of the brain in response to a given stimulus, either internal or external. This is typically done by attaching electrodes to the scalp, allowing the stronger electrical signals produced within the brain to be measured as a change in voltage across the electrodes. Because the signals collected this way are very weak, they are very sensitive to noise from the environment and other electrical signals produced by the individual being measured, such as those produced by muscle movements and even the movements of fluid in the head. This sensitivity facilitates the need for effective cleaning methods for the recorded signal, including filtration and algorithmic removal of known noise, also called artifacts. Beyond cleaning the signal, numerous methods of analysis are often required to understand the meaning of the collected signals and their significance. This includes traditional as well as algorithmic analysis of the data.
EEG signals can be used in biomedical research to examine the dynamics of brain activity during different cognitive and behavioral tasks [1], emotion recognition [2] neuromarketing research [3]. The effects of various treatments and interventions on brain function, such as medication, psychotherapy [4], or brain stimulation methods [5], can also be studied using EEG. These signals are used clinically to diagnose and track a variety of neurological disorders [6] in addition to being used for research. EEG can be used, for instance, to diagnose and detect seizures [7], to locate epileptic foci [8] prior to surgical intervention, and to track the development of degenerative brain conditions like Alzheimer’s [9].
In this paper, we examine the various filtration, preprocessing, and available analysis methods, the software that (purportedly) best makes use of these methods for various EEG applications, and the popularity of their use. If the researchers are interested in the hardware used for collecting EEG data, they may also read our previous paper examining that matter [10]. In the first half of this paper, an in-depth overview of the meaning of specific filtration and analysis methods is given to contextualize the discussion of various software toolboxes. The second half consists of an overview of software libraries and modules available for performing preprocessing and analyzing EEG signals.

2. Term Definitions

2.1. Analysis of Variance (ANOVA)

An ANOVA is a set of statistical models and estimation processes for analyzing differences between means. It can be used to explain otherwise complicated relationships between variables. In general, it is a statistical test that determines if two or more population means are equal, extending the t-test beyond two means.

2.2. Analysis of Covariance (ANCOVA)

ANCOVA is a simple linear model that combines ANOVA and regression. It is an extension of ANOVA, which assesses if there is a statistically significant difference between three or more independent groups after one or more covariates are considered. The term “covariate” refers to a continuous variable that varies in tandem with the response variable.

2.3. Brain-Computer Interface (BCI)

BCI is a connection between the brain and a device that allows brain signals to control external activity. The interface allows for direct communication between the brain and the controlled object. They work in three steps: they gather brain impulses, interpret them, and then send commands to a connected machine based on the information they receive.

2.4. Common Spatial Pattern (CSP)

CSP separation is a method of signal processing that attempts to separate a mixed signal into its constituent components by maximizing the variance of the axes of the data. By utilizing a linear combination of the covariance matrices of the subjects under consideration, the authors of this study [11] describe modifications to CSP for subject-to-subject transfer.

2.5. Convolutional Neural Networks (CNN)

It is a particular type of artificial neural network that is commonly used to analyze visual imagery. It is a type of neural network that, as part of its operation, attempts to simplify data to avoid issues with complex data analysis; this process usually involves some sort of “filtration” by an earlier layer in the network, followed by an “analysis” layer that examines the simplified data. Face recognition, medical analysis, and categorization are examples of use cases for CNNs. In this study [12], CNN is applied to automatically extract EEG features while simultaneously capturing the asymmetry in various brain regions in a 2D vector named AsMap.

2.6. Downsampling

Downsampling is a technique used in digital signal processing to compress high-resolution data recorded at a high sampling rate into a smaller bandwidth and sample rate. This is typically done to minimize the data rate or data size. A low-pass filter is usually applied to a signal to minimize its bandwidth.

2.7. Fast Fourier Transform (FFT)

A signal is represented in the frequency domain and from its original domain in the Fourier analysis. This study [13] describes the mathematics of the Fourier transform in detail. A Discrete Fourier Transform (DFT) of a sequence is computed using an FFT technique. It is required to determine the strength of signal frequency contributions independent of time. It works similarly to spectral analysis in that it focuses on the wave’s frequency but ignores the signal’s temporal components.

2.8. Inverse Fast Fourier Transform (IFFT)

IFFT undoes the process of FFT. It transforms a signal from the time or space domain into a frequency domain signal.

2.9. Independent Component Analysis (ICA)

ICA is a technique for breaking down a complicated signal into its constituent pieces, allowing for a more thorough examination of each component’s contribution. This is frequently used in EEG analysis to find the underlying brain signals that are the basis of specific behavior, such as hand or arm movements, and thoughts connected to specific motions, actions, or brain activity during sleep. To separate the sources from single-channel EEG signals, the authors proposed a combination of ICA and singular spectrum analysis (SSA) in [14].

2.10. Impulse Response

In the context of EEG measurements, an impulse response is a signal change that corresponds to a cerebral response to some stimuli.

2.11. Linear Regression or Regression

Linear regression is a statistical analysis technique that seeks to discover a function that explains the relationship between data and one or more explanatory factors. When linear correlations between input and output variables are sufficiently explanatory, they are frequently employed as a prediction approach.

2.12. Machine Learning

Machine learning is a set of algorithms that ‘learn’ a set of outputs by using a portion of a data space. This newly acquired behavior can then automatically predict outcomes on data outside the learning subset. When human expertise in the link between input and output data is insufficient, machine learning is becoming increasingly popular. In [15], a machine learning technique is used to accurately identify the presence of certain diseases with the combination of different extracted EEG and ECG features. Different Machine Learning algorithms such as support vector machine (SVM), K nearest neighbor (KNN), random forest, and naive Bayes can be used for classifying the different hand movements using other physiological signals like EMG signals [16].

2.13. Neuroinformatic

The field of neuroinformatics combines informatics with neuroscience. It relates to scientific data on primary experimental data, ontology, metadata, analytical tools, and nervous system computational models.

2.14. Neural Networks

Neural networks are a machine learning method driven by the activity of neurons in the brain. Over time, the concept has evolved to refer to algorithms that use an input, one or more layers of activation functions (commonly referred to as perceptron) in a matrix format, and then output. The output is based on the input and the layer activation functions. The latter is based on training data that was used to alter the activation functions to generate the correct output. In [15], different analyses are performed using neural networks to identify the different diseases.

2.15. Neurophysiology

Neurophysiology is a discipline of physiology and neuroscience that studies the nervous system’s function. It employs physiological techniques in various research projects, such as electroencephalography, brainstem stimulation, transcranial magnetic stimulation, chemical synapse, neuroplasticity, etc. It is also concerned with studying disorders affecting the brain, for example, meningitis, strokes, dementia, encephalitis, etc.

2.16. Passband and Bandstop

The band of frequencies allowed to pass by a filter is known as the passband. On the other hand, the band of frequencies that will be rejected to pass by a filter is called a bandstop filter.

2.17. Principal Component

A collection of unit vectors that form an orthonormal basis for an n-dimensional set of data while minimizing the squared distance between the vectors and the data.

2.18. Principal Component Analysis (PCA)

The principal component analysis involves identifying a set of orthonormal unit vectors that maximize the variance of projected data; similarly, to linear regression, the vectors identified are chosen to minimize the average distance between the vector and the data. PCA is best used when significant differences in the relationship between the data, comparable to linear regression, can establish the differences between the data classes. PCA is used in [17] for the assessment of the active pain-coping behavior of the participants.

2.19. Recurrent Neural Network (RNN)

A particular type of artificial neural network that employs sequential or time series data is called a recurrent neural network (RNN). In RNN, data at one point depends on data at the previous stage. In other words, the previous stage’s output is used as the input to the current stage here.

2.20. Signal Space Projection

The Signal-Space Projection (SSP) is a method to remove external artifacts from software. The advantage of SSP is that it does not require additional reference sensors to record the disturbance fields.

2.21. Spectral Analysis

Depending on the desired research subject, the spectral analysis focuses on isolating and evaluating frequencies of a specific wavelength. Different spectral analysis methods, like Anti-Leakage Least-Squares Spectral Analysis (ALLSSA), Constrained Least-Squares Spectral Analysis (CLSSA), Least-Squares Spectral Analysis (LSSA), Multichannel Anti-Leakage Least-Squares Spectral Analysis (MALLSSA), etc., are described in [13].

2.22. Support Vector Machines (SVMs)

SVMs attempt to distinguish between data classes by constructing separation lines (or planes) that mark the transition from one class to the next. The separation planes are chosen to maximize the distance between data points of various classes. A multiple kernel SVM algorithm is proposed in this study [18] to identify EEG signals, which include cognitive and mental tasks.

2.23. Time-Frequency Analysis

Time-frequency analysis is an approach where the signal is studied simultaneously in both the time and frequency domains. It studies a two-dimensional signal instead of just viewing a one-dimensional signal. It is a popular method for analyzing EEG signals. Continuous Wavelet Transform (CWT) and Cross-Wavelet Transform (XWT) are two well-established time-frequency analysis methods described here [13].

2.24. Wavelet

A finite-duration oscillation that looks like a wave. It starts with an amplitude of zero and then increases and decreases with time. Wavelets are advantageous for signal processing because of their specific characteristics.

2.25. Wavelet Transform

The wavelet transform, like the FFT, tries to determine the contribution of independent frequencies to the overall input signal. However, unlike the Fourier transform, the wavelet transform is less computationally expensive and less sensitive. Some of the most popular wavelength transform techniques are Continuous Wavelet Transform (CWT), Discrete Wavelet Transform (DWT), and Empirical Wavelet Transform (EWT), which are described here [13].

2.26. Window (or Window Signal)

A signal that is zero-valued outside of a specific interval but has symmetry and maximal values around a central point in the interval (often having a bell-like shape).

3. EEG Signal Processing Methods

The first step to analyzing newly collected EEG data is preprocessing. Preprocessing involves passing the data through filters that highlight the data of interest. These filtering methods can not only remove data irrelevant to the study (as in the case of high and low pass filters), but they can also amplify data of interest by making it more visible in the data collection. The removal of general signal noise (background noise) and artifacts linked to eye movement, head movement, jaw movement, other muscle movements, blinking, and head tilting are all possible using EEG filtration methods. Filtration techniques may also eliminate signal frequencies that can be ignored or dismissed. The following are some fundamental filtration processes.

3.1. Bessel Filter

A Bessel filter (also known as a Thomson filter) is an analog linear filter with a maximally linear phase response. The transition from passband to stopband is slower with a Bessel filter than with other filters of the same order. It has a small amount of overshoot compared to the most common frequency domain filters.

3.2. Band Pass Filter

The bandpass filter only allows signals within a specific frequency range to pass. A mixture of high and low-frequency filtering methods can be used to achieve this feature. A bandpass filter can be used to isolate a frequency range by removing frequencies higher than the highest predicted frequency and lower than the lowest expected frequency when the researcher knows the precise frequency range for that study.

3.3. Butterworth Filter

A Butterworth filter is a signal processing filter whose frequency response in the passband is as flat as possible. That is why it is also known as the “maximally flat magnitude filter.” The order of the filter is determined by the number of reactive elements (capacitors) used in the circuit. It is used as an anti-aliasing filter in data converter applications because of its maximally flat frequency response in the passband. It is also used in audio processing applications, various communication and control systems, motion analysis, etc. To remove eye-blink artifacts, the Butterworth bandpass filter is used to remove all frequencies below 20 Hz in this study [19].

3.4. Chebyshev Filter

Chebyshev filters are commonly used to separate frequency bands from one another. It is an analog and digital filter having passband ripple or stopband ripple along with a steeper roll-off than Butterworth filters. Chebyshev and Inverse Chebyshev filters are used to describe type-1 and type-2 filters, respectively. The Chebyshev filter is used in the IIR filter to eliminate any artifacts from the EEG signal to achieve maximum spectral efficiency [20].

3.5. Finite Impulse Response (FIR) Filter

FIR filters are a type of filter that produces a filtered output by combining prior and current signal data. For EEG analysis, FIR filters are preferable over IIR filters because they do not distort waveforms. The FIR filter is used in [21] for detecting the EEG waves.

3.6. High/Low Pass Filter

The frequency range of EEG data is between 0.1 and 50 Hz. However, as previously mentioned, different noise sources might emerge in EEG data. Movement, breathing, and external radio waves can all cause this. A high-pass filter can filter out slow frequencies of less than 0.1 Hz or higher frequencies greater than 50 Hz. As a result, the user has a clear signal to analyze.

3.7. Infinite Impulse Response (IIR) Filter

The IIR filter creates an impulse response in the same way that an FIR filter does, but over an infinite length of time rather than a finite period.

3.8. Least Square Filter

Least Mean Square (LMS) filters are adaptive filters that can “learn” a new unknown transfer function. The filter coefficients of LMS filters are changed depending on the instantaneous error signal using a gradient descent algorithm.

3.9. K-Nearest Neighbors

The k-nearest neighbors’ technique (k-NN) is a well-known non-parametric signal processing method. KNN can be used to perform both classification and regression forecasting problems. It is widely utilized due to its simplicity of interpretation and quick calculation time. Emotion recognition using EEG signals is nowadays a famous study. The KNN classifier is used here [22] for the classification technique for recognizing emotions from multichannel EEG signals.

3.10. Naive Bayes

The Naive Bayes classifier is a classification technique based on Bayes’ Theorem. It is a probabilistic classifier that incorporates strong independence assumptions. Naive Bayes classifiers have excelled in various challenging real-world circumstances despite their naïve design and simplistic assumptions. The advantage of naive Bayes is that it can estimate classification parameters with a small amount of training data. This classification technique can be used to classify mental stress using EEG signals [23].

3.11. Notch Filter

It can be advantageous to remove signals within a specified frequency range while studying a signal with a known frequency. A notch filter (also known as a band stop filter) is a filter that “stops” a specific frequency range (not passed through). On the other hand, high or low-frequency filtering rejects all frequencies of a signal above or below a set threshold value. The notch filter functions as both a high-pass and a low-pass filter, preventing signals that would be blocked by both while passing signals that would be filtered by only one. This filter can be used to remove power line interference (50 Hz) from EEG signals [24].

3.12. Non-Local Means (NLM) Filter

Non-local means (NLM) is a widespread technique generally used for image denoising. However, the NLM filter with the combination of wavelet transform is also used to remove artifacts from EMG and EEG signals [25].

3.13. Partial Least Squares

PLS regression reduces predictors to a smaller collection of uncorrelated components. It does least squares regression on these components rather than the original data. When the predictors are collinear, or the system has more predictors than observations, regular least-squares regression either yields coefficients with high standard errors or fails; PLS regression is incredibly effective.

3.14. Random Forest Classifier

A random forest, or a random decision forest, is a classification and regression technique based on decision trees. During training time, many decision trees are constructed in this algorithm. Most trees select the output class of this algorithm. Those trees are relatively uncorrelated, which is the main reason for their excellent accuracy. A random forest classifier can be used to analyze human mental states [26] and perform automatic emotion recognition [27].

3.15. Regularized Discriminant Analysis

Regularized discriminant analysis (RDA) is the general form of linear discriminant analysis (LDA) and quadratic discriminant analysis (QDA). This analysis is used for both classification and dimensionality reduction. This method is used to figure out which variables distinguish two or more naturally occurring groups. This is very similar to the analysis of variance (ANOVA).

4. Artifact Detection and Removal

Artifacts refer to interference in the recorded signal caused by factors such as muscle movements, which cause noticeable shifts in the incoming signal; changes in the subject’s electromagnetic state; and interference from other electromagnetic signals in the context of EEG signal collection and analysis (also known as “outside noise”). Head movement, jaw movement, eye movement, blinking, or any other muscle action that produces a sufficiently high electromagnetic field may be considered movement artifacts, depending on the sensitivity of the EEG sensor. Changes in the subject’s head orientation affect the condition of the subject’s natural electromagnetic field, which can induce artifacts even when the subject is not thinking. The process of replacing an artifact-ridden signal with an estimate of what the signal would have been without the artifact, or some other kind of replacement, is known as artifact removal.

4.1. Canonical Correlation Analysis

Canonical correlation analysis (CCA) removes muscle artifacts from the EEG signal. It sometimes outperforms the Independent Component Analysis (ICA) and other frequency filters. This approach takes advantage of the fact that muscle activity has lower autocorrelation than brain activity. A new method using canonical correlation analysis is proposed in this article [28] to simultaneous electroencephalogram (EEG) channel selection and emotion recognition.

4.2. Common Spatial Pattern (CSP)

Common Spatial Pattern (CSP) separation is a signal processing technique that aims to separate a mixed signal into its constituent components by increasing the variance of the data axes. It is also used to retrieve spatial information from EEG signals. The Filterbank Common Spatial Pattern (FBCSP) is used in [29] to reduce noise using ICA decomposition.

4.3. Empirical Mode Decomposition (EMD)

Empirical Mode Decomposition (EMD) is a signal frequency analysis approach comparable to FFT and Wavelet Transform. It separates the unprocessed, non-stationary, raw signal into a collection of intrinsic mode functions (IMFs). The authors of [30] use the EMD and autoregressive (AR) model-based EEG feature extraction techniques to improve the performance of emotion detection.

4.4. Fast Fourier Transform (FFT)

The Fast Fourier transform determines the strength of signal frequency contributions independent of time. It works similarly to spectral analysis, focusing on the wave’s frequency. However, it excludes the temporal components of the signal. FFT is also used to improve the automated sleep stage classification performance utilizing the extracted features from EEG through machine learning processes [31].

4.5. Independent Component Analysis (ICA)

Independent Component Analysis (ICA) is a method for splitting a complex signal into its basic parts and examining each component’s contribution more thoroughly. This is commonly used in EEG analysis to uncover the underlying brain signals that explain a certain behavior, such as hand or arm movements, thoughts associated with specific motions or actions, or brain activity during sleep. It is also used to remove artifacts like muscle movement, eye blinks, or eye movements from the raw EEG signal [32].

4.6. Non-linear Mode Decomposition (NMD)

For any waveform, Nonlinear Mode Decomposition (NMD) decomposes the signal into a group of physically relevant oscillations while also removing the noise. NMD is based on a powerful combination of time-frequency analysis techniques. An integrated method named CEEMD-XGBoost is used in [33] by integrating complementary ensemble empirical mode decomposition (CEEMD) and extreme gradient boosting (XGBoost) to detect epileptic seizures automatically.

4.7. Principal Component Analysis (PCA)

The principal component analysis seeks to identify a set of orthonormal unit vectors that maximize the variance of projected data; similarly, to linear regression, the vectors identified are chosen to minimize the average distance between the vector and the data. PCA is best used when the differences between the data classes can be established by significant differences in the data’s connections, comparable to linear regression.

4.8. Source Imaging-Based Methods

Source imaging-based methods are used to identify and localize the scalp-recorded potentials by combining EEG’s temporal and spatial components [34]. These techniques solve the so-called inverse problem to reconstruct the original sources of the scalp-captured EEG signals. These approaches try to address this issue by combining statistical techniques with knowledge of the scalp’s electrical characteristics and the brain tissues’ properties to determine the most likely sources of the EEG activity.

4.9. Wavelet Transform

The wavelet transform, like the FFT, tries to determine the contribution of independent frequencies to the overall input signal. However, unlike the Fourier transform, the wavelet transform is less computationally expensive and less sensitive. A survey paper [35] on denoising techniques of EEG provides Wavelet Transform-based denoising techniques and did a comparative analysis.

5. Available Tools for EEG Signal Processing

The choice of the toolbox made by the researcher depends on several factors. Firstly, the researcher should choose a tool that contains the required functionality. If the researcher determines that filtration is the primary concern for their dataset, then they should choose a tool with many different filtering functions. If the researcher plans to do complex data analysis, then a tool with many different classification algorithms may be appropriate. Secondly, the researcher should choose a tool their team is comfortable using based on programming skill level and language preferences. Some other criteria could be cost and hardware. Some toolboxes are free and open source, while others come with licensing fees. Some toolboxes are associated with specific headsets, so choosing the toolbox that comes with the hardware may be helpful.
A very large portion of the tools used for EEG signal processing come as extensions to existing programs, such as MATLAB. The use of many of these tools, therefore, would require prior knowledge of the use of the program from which they extend. To avoid redundancy, a brief explanation of the overarching programs is given below, followed by the tools which extend from those programs.

5.1. AcqKnowledge

AcqKnowledge is a data acquisition and analysis program owned by BIOPAC that offers an EEG analysis module. The system can be used for recording EEG data, filtering the signal, displaying frequency bands, and performing analysis. Their EEG frequency analysis includes the following metrics: mean power, median frequency, mean frequency, spectral edge, and peak frequency. Filtered data can be observed in real-time during recording. AcqKnowledge must be used with the hardware and is compatible with the BIOPAC MP160, MP150, and MP36R research systems. AcqKnowledge is compatible with Windows and Mac computers. The software is not free and requires purchasing one of BIOPAC’s research systems. The software interface of AcqKnowledge is shown in Figure 1.

5.2. BESA

BESA, or Brain Electrical Source Analysis, offers a software module for EEG data processing called BESA Research. The processing tools available allow the user to filter the data using high, low, bandpass, and notch filtering. There are options for automated and user-defined artifact detection and removal. The module has pattern detection and averaging capabilities and tools for spectral analysis and independent component analysis (ICA). Additionally, the module provides visualization of the signal. While BESA is not a MATLAB plugin, it does provide an interface for efficiently transferring analysis results to MATLAB. Figure 2 shows the discrete multiple source analysis and cortical CLARA images on the inflated cortex.
In [38], the authors collected data from human participants to find a relationship between two neural measures of emotional reactivity, known as late positive potential (LPP) and blood oxygen level-dependent (BOLD). The collected EEG signal was analyzed with BESA 5.0. The BESA software was used to correct the cardiac artifacts and to remove trials with excessive motion artifacts. Also, using BESA’s source coherence module, time-frequency maps were calculated in this study.

5.3. BIOPAC Student Lab (BSL)

BSL is a system for students to perform basic physiology lab experiments, including EEG, EMG, ECG, and EOG signals. Students can record data from human participants using this system. It has everything (except computers) to collect the necessary biological data. This BSL system contains BSL Software (supports both Windows and MAC), BSL Laboratory Manual, PDF Manuals and Tutorials, MP36 Data Acquisition Unit with USB Cable, DC Adapter (110 V/60 Hz or 220 V/50 Hz), and Cord, 2 x Electrode Lead Sete, Disposable Electrodes, and Abrasive Pads.
The BIOPAC Student Lab was used in [39] to collect EEG data to determine the average level of relaxation and concentration while listening to alpha music. This research provides strong evidence that alpha music reduces stress and increases a sense of physical relaxation. This tool was also used to collect EMG signals for age classification [40].

5.4. BioSig

It is an open-source software [41] for different biomedical signals like an electroencephalogram (EEG), electrocardiogram (ECG), electrocorticogram (ECoG), electromyogram (EMG), electrooculogram (EOG), etc. Major application areas of this software are brain-computer interfaces (BCI), neuroinformatics, neurophysiology, psychology, cardiovascular systems, sleep research, etc. BioSig can be used with Octave and MATLAB (biosig4octmat), C/C++ (biosig4c++), Python, R, Java, etc. It supports forty reading and ten writing data formats, including some audio formats (examples: GDF, EDF, BKR, MFER, etc.). It also supports classification techniques like linear, quadratic, and regularized discriminant analysis, Support Vector Machine (SVM), Naive Bayes Classifiers, Perceptron Learning, and Partial Least Squares/Regression analysis, as well as some sparse classifiers. BioSig is normally used for Heart Rate Extraction (ECG), Artifact Processing (muscle artifacts in EEG, electrooculography (EOG) artifacts), Coupling and Connectivity with EEG, Multivariate Autoregressive Models, and Brain-Computer Interfacing. The architecture of this toolbox and its elements are shown in Figure 3.

5.5. BrainFlow

BrainFlow is a library partnered with OpenBCI that can be used to collect and analyze EEG data. It is a free, active open-source project with thorough documentation and user support. BrainFlow comprises two APIs: an API for data acquisition from sensor devices and an API for signal processing. These APIs are independent; researchers may use BrainFlow for signal processing without using the BrainFlow API for data collection. Their APIs can be used with MATLAB but can stand alone with Python, C++, Java, C#, R, or Julia.
BrainFlow’s data acquisition API is compatible with several boards in addition to their boards, including OpenBCI’s Cyton, Ganglion, and Cyton Daisy boards; NeuroMD’s BrainBit and Calibri devices; G.TEC’s Unicorn board; Neurosity’s Notion boards; and FreeEEG32′s board. Their API is uniform across all of these boards.
BrainFlow’s signal processing API provides several filtration methods, including Butterworth, Chebyshev (type 1), Bessel, bandpass, and notch filtering. It also provides methods for performing downsampling, wavelet transforms, and fast Fourier transforms, calculating common spatial patterns, power spectral density, band power, and average band power across all channels. BrainFlow provides tools for statistical analysis and supports regression, k-nearest neighbors, support vector machines, and latent Dirichlet allocation classifiers. The graphical user interface (GUI) of BrainFlow is shown in Figure 4.
The main objective of this study [42] was to discuss the benefits of neuro-computer interfaces for controlling actuators. The input data for this experiment was streaming EEG data, which was analyzed with the BrainFlow software. All the data preprocessing, artifact removal, filtering, and resampling were performed using the BrainFlow library and the Java programming language. A set of adaptive filters was used to obtain temporary sequences suitable for feeding into a neural network.
Figure 4. Control system of BrainFlow [43].
Figure 4. Control system of BrainFlow [43].
Sci 05 00023 g004

5.6. Brainstorm

Brainstorm [44] is a free and open-source tool for neural signal processing, including the analysis of EEG signals. Brainstorm provides basic EEG analysis tools such as recording, visualization, head modeling, group analysis, time and frequency decomposition, automatic detection of artifacts generated by eyeblinks and heartbeats, artifact correction using single space projections, power spectrum density, frequency filtering, and resampling, and automatic detection of bad channels. Brainstorm also offers tools for keeping the data organized and the analysis efficient, such as batch processing. Brainstorm interfaces with MATLAB or can be run independently and is supported for Linux, Windows, and macOS. A general overview of this tool is shown in Figure 5.
For source localization of amygdala responses, Brainstorm software was used in this [45] study. For each patient, electrodes with amygdala connections were chosen. The average response to broad spatial frequency (BSF) and low, broad spatial frequency (LSF) from all contacts were analyzed. Data from 5–12 contacts per electrode can be sent to Brainstorm for source localization.

5.7. EDF Browser

The EDF Browser is a free and open-source toolbox for time series analysis supported for Linux and Windows. It provides various filtering algorithms, including Butterworth, Chebyshev, Bessel, moving average, notch, and finite impulse response filters. It also provides an ECG powerline interference removal filter and a spike filter. The interface of the EDF Browser is shown in Figure 6.
An EEG-based rehabilitative control system was developed in this study [47] by analyzing the neural responses of human participants. EEG signal processing is done using EEGLAB and EDF Browser software applications. The EDF browser also plots double, and single eye-blink actions acquired by an EMOTIVE headset.

5.8. EEGNET

EEGNET [48] is a MATLAB-based Graphical User Interface software for EEG signal processing and represents corresponding functional brain networks. It can process and visualize brain networks from raw EEG recordings. It supports operating systems, including Windows 7, Linux, and Mac OS in, 64-bit versions. This software is easy to use, flexible and user-friendly. EEGNET is an open-source tool and can be downloaded free of charge. It includes an EEG preprocessing technique that supports different file formats like .mat. The signal can be a 2D electrode signal and a 3D source signal. The Inverse problem solver/cortical sources reconstruction feature can be used to estimate the cortical source signals from the recorded EEG scalp signals. The functional connectivity matrices can be computed using cross-correlation, coherence, phase synchronization, etc. Network measures like the graph, node, and edge parameters can be calculated from graph theory-based approaches. Also, two types of brain networks, 2D and 3D, can be visualized using this software. The pipeline of EEGNET is shown in Figure 7.
EEGNET was used for connectivity analysis, network measurements, and visualization [50]. In the context of epilepsy, the researchers did a comparative study of the networks obtained using combinations of different algorithms. The main objective was to solve the EEG inverse problem and estimate the functional connectivity.

5.9. ELAN

The ELAN [51] software contains many preprocessing and signals analysis tools for biomedical signals like an electroencephalogram (EEG), magnetoencephalogram (MEG), intracranial EEG (iEEG), and local field potentials (LFPs) in animals. This software is compatible with 32-bit and 64-bit Linux operating systems. However, Mac and Windows users can also run this software by installing a virtual machine that runs Linus as a guest operating system. 4 GB of RAM is recommended, but the minimum requirement is 128 MB.
This toolbox is designed to import data directly from different data acquisition systems like Alpha Omega AlphaMap, Wave metrics, IGOR Pro, Biosemi, CTF Inc, Elekta/Neuromag, EGI Geodesic, InstEP System, Micromed, and Neuroscan. This tool can also import data from standard file formats such as ASCII (text), MATLAB (.mat), EDF (European Data Format), and GDF (General Data Format). The result of any analysis performed using this tool can be stored in the three main data formats: continuous data (.eeg), event-related data (.p), and time-frequency data format (.tf). Besides those three formats, ELAN uses two other files: event files (.pos) and parameter files (.par).
ELAN has three visualization GUIs: the EEG tool for continuous data, ERPA for event-related data files, and TFVIZ for time-frequency analysis. Artifacts can be manually detected and removed using the EEG visualization tool. It can also be automatically removed by using a fixed threshold. That threshold can be adjusted separately for each channel. Ocular artifacts can be corrected using a provided MATLAB function that uses ICA functions. Bad or missing data from different channels can be reconstructed by interpolation using spline functions. Different ELAN functions exist for different filters, such as high-pass, bandpass, Butterworth low-pass, and stopband. It computes time-frequency representations using wavelet analysis. Figure 8 shows the ELAN analysis workflow overview.
During a speeded visual detection task, the researchers analyzed reaction times and event-related potentials (ERPs) in profoundly deaf adults and hearing controls [52]. For this experiment, they collected EEG data from 10 deaf individuals. To eliminate artifacts due to eye movement, they performed independent component analysis (ICA) using EEGLAB. They used ELAN for analyzing event-related potentials (ERPs).

5.10. LIMO EEG

The LInear MOdeling of MEEG data (LIMO MEEG) [53] is a MATLAB toolbox for the statistical analysis of physiological data. LIMO EEG is best used if it is used as a plugin of EEGLAB. However, the statistical analyses can be performed independently. This toolbox is primarily designed to analyze EEG data but can also process MEG data. This toolbox is implemented in MATLAB and requires the MATLAB statistical toolbox. This toolbox offers a range of popular designs like ANOVAs, linear regressions, ANCOVAs, etc. The LIMO EEG is based on a hierarchical linear model. The first level of this model consists of modeling all trials for each subject. This way, it is possible to derive parameter estimates for any effects. The second-level analysis takes those parameter estimates and performs robust statistics on them. The hierarchical procedure of LIMO EEG is illustrated in Figure 9.

5.11. MNE-MATLAB

The MNE-MATLAB [54] toolbox is compatible with MATLAB version 7.0 or later. It provides interfacing with binary file formats like .fif, .stc, .label, and .w files. Software gradient compensation and signal-space projection are available here for signal processing. It also has utility functions like transforming data between coordinate systems, proving coil definitions for various sensor types, assembling inverse operators, etc.

5.12. MNE-Python

MNE-Python [54] is an open-source package for visualizing and analyzing biomedical data like MEG, EEG, ECoG, etc. It supports data preprocessing, source estimation, time-frequency analysis, machine learning, and statistics. It supports different file formats like Brainvision (.vhdr), Biosemi data format (.bdf), Neuroscan CNT(.cnt), European data format (.edf), EEGLAB (.set), EGI simple binary (.egi), EGI MFF format (.mff), eXimia (.nxe), General data format (.gdf), Nicolet (.data), Persyst (.lay), etc. for EEG signal processing.
MNE-Python supports different filtering techniques like bandpass, low-pass, high-pass, band-stop, and notch filtering. Fast Fourier Transform (FFT) based finite impulse response (FIR) filters, and infinite impulse response like Butterworth filters can be implemented to filter instances of raw data.
Artifacts can be removed or significantly suppressed by using Signal Space Projection (SSP) or Independent Component Analysis (ICA). It also supports Python-level functions to detect heartbeats and eye blinks automatically. The procedure and visualization of electrophysiology data are shown in Figure 10.
The researchers present a novel approach for automatically detecting and repairing bad segments in this study’s single-trial MEG/EEG data [55]. For the experimental validation protocol, MNE-python is used to compute all general data processing. The data validation is done with four open-sourced datasets, including MNE sample data.

5.13. OpenViBE

The software platform OpenViBE [56] is used to create, test, and use brain-computer interfaces. In [57], the researchers used a combination of MI EEG neurofeedback and fMRI to determine the link between MI EEG neurofeedback and activation in cortical sensorimotor areas. OpenViBE 0.16.2 was used to control the presentation of stimuli. During the first session, artifact-corrected data was passed to OpenViBE via a direct network link for further processing. During the second session, EEG data was directly acquired with OpenViBE.

5.14. PyEEG

PyEEG [58] is a Python module designed explicitly for feature extraction. It is free, open-source, and convenient to use for Python programmers. Its features include power spectral intensity, relative intensity ratio, Petrosian fractal dimension, Higuchi fractal dimension, Hjorth mobility and complexity, spectral entropy, Fisher statistics, approximate entropy, detrended fluctuation analysis, and Hurst exponent. The PyEEG framework is shown in Figure 11.
In [59], five features were extracted using PyEEG to classify epileptic and non-epileptic seizure events. Those extracted features are Singular Value Decomposition Entropy (SVDEn), Detrended Fluctuation Analysis (DFA), Fisher Information (FI), Higuchi Fractal Dimension (HFD), and Petrosian Fractal Dimension (PFD). Then the authors fed those features into a support vector machine (SVM) for classification.

5.15. Statistical Parametric Mapping (SPM)

SPM [60] is a free but copy-righted software to analyze brain imaging data sequences. The current version of this software is SPM12, designed to analyze EEG, MEG, fMRI, PET, and SPECT signals. MATLAB versions R2007a (7.4) to R2021a (9.10) are required to run SPM12. It requires the core MATLAB and does not support other MATLAB toolboxes. It supports Windows (both 32 and 64-bit), Linux (64-bit), and macOS (64-bit). SPM M/EEG consists of 2 files: a header file (.mat) and a data file (.dat).
It supports low-pass, high-pass, bandpass, and band-stop filters for continuous and epoch data filtering. It uses a Butterworth filter to do that. Data can be downsampled to any specific sampling rate. The artifact detection function is extendable and can automatically detect and use plugin functions to implement particular detection schemes. The montage function can remove noise and artifact detection in SPM. It supports independent component analysis (ICA) and signal space projection (SSP). Sometimes, re-referencing the data to a new reference is necessary for analysis. SPM does that by multiplying data by a weight matrix.
The data dimension can be reduced using a data reduction function by projecting the data onto a comparatively small number of spatial components. It also supports utility functions like Grand Mean, Merge, Multimodal Fusion, Rescaling and Baseline Correction of Time-Frequency, Contrast of Trials, Sort Conditions, and Remove Bad Trials.
In [61], the researchers proposed a novel age estimation framework capable of recognizing faster brain atrophy. This could aid in the early detection and treatment of neurodegenerative disorders. The SPM8 software was used to preprocess the images in this research.

5.16. TAPEEG

The Toolbox for Automatic Processing of EEG Files (TAPEEG) is a MATLAB toolbox for processing EEG and MEG files. This toolbox provides various pre- and post-processing methods and statistical analysis. Available filtering methods include Butterworth filters, Chebyshev type 2 filters, least-square filters, frequency filters using FFT, wavelet transformation, notch filters, and high-pass and low-pass filters. It also provides methods for detecting and removing artifacts caused by eye blinks and deep brain stimulation. Post-processing methods include inverse FFT, frequency analysis, micro-states, and connectivity analysis. Statistical models include a generalized linear model, SVM, random forest classifier, ANOVA, and PCA.
Authors in [62] used the EEG data processing toolbox TAPEEG to find reliable qEEG biomarkers for detecting patients with early cognitive impairments. Data was collected from thirty-five patients, and TAPEEG and EEGLA tools were used to detect and remove artifacts automatically. All the respective graph analysis formulas were also implemented in TAPEEG.

5.17. EEGLab

EEGLab is a free interactive MATLAB toolbox for EEG data analysis. It can be run through MatLab, Octave, or as a standalone application. EEGLab is a widely utilized tool for EEG data analysis. Many other tools operate as plugins or extensions of EEGLab. EEGLab can process continuous and event-related EEG, MEG (magnetoencephalography), and other electrophysiological data. It can be run on Linux, Unix, Windows, and Mac OS.
This software package [63] has numerous tools for filtering and processing electrophysiological data. These tools are built to help with preprocessing, extracting data, and visualization. For preprocessing, numerous filters are provided, including high pass, low pass, finite impulse response (FIR), infinite impulse response (IIR), downsampling, referencing, and rejection of continuous data. Once the data has been imported and filtered, analysis can be performed. EEGLab can use many processing techniques, such as independent component analysis (ICA).
EEGLab, being one of the most popular and widely used EEG analysis tools, has many plugins that have been developed for it. Table A1 in Appendix A briefly describe many of the more commonly used plugins.
EEG lab software was used to calculate the power spectrum density (PSD) of the alpha band in [64] from participants with open and closed eyes. The result shows that the alpha rhythm in the back of the head with closed eyes dominates power in the periodogram. The primary goal of [65] is to investigate the behavior of brain signals for visual attention. Artifact removal, independent component analysis, and principal component analysis are applied using the EEGLab toolkit to observe the power spectrum of each frequency band. A deep learning algorithm was used in [66] to learn features and classify different emotional states simultaneously. All the preprocessing, artifact removal, filtration, epoch selection, and signal average were performed using the EEGLab toolbox. The epoch management and visualization features are available in this toolbox, which helped the researcher to perform data analysis. Another study [32] on identifying EEG biomarkers for autobiographical memory recall used EEGLab for filtration, channel separation, artifact removal, and ICA.

5.18. MATLAB Plugins

MATLAB (MATrix LABritory) is a programming language commonly used in the analysis of signals. MATLAB is a powerful and popular tool in the study of EEG data, as it includes many built-in signal processing tools, along with a large library of installable plugins. Table A2 in Appendix B provides an overview of the more commonly used tools and popular plugins. Please note that these tools and plugins are not necessarily specific to EEG analysis. EEG data is no different than other RF signals and can therefore be analyzed using generic RF analysis tools.

6. Conclusions

This paper provides an overview of 15 standalone software modules for performing EEG signal analysis and 7 MATLAB plugins, and 31 EEGLAB plugins. Researchers can easily compare different EEG signal processing techniques and tools from this study. Some use cases for that software and techniques are also provided, and those can guide a new researcher to start working on EEG signals. All the required definitions and important references are also provided for noob researchers. Researchers should base their choice of software on their needs in terms of data analysis, the hardware they are using, and their comfort level with various programming languages and environments. EEG researchers may use this paper as a resource to help determine what software modules would best meet their needs. More tools are available for EEG signal processing. However, it is only possible to cover some of those tools in a single study. So, only the most popular and most powerful tools are mentioned in this study. Also, those tools are more capable than the description provided. However, it is only possible to include some of the capabilities with appropriate examples in a single study. So, novel researchers can pick the most appropriate tool from this study and explore it more.

Author Contributions

Conceptualization, A.K.; methodology, A.K., D.D. and R.K.D.; software, R.K.D., A.M. and T.Z.; validation, R.K.D. and A.K.; formal analysis, A.K., R.K.D., A.M. and T.Z.; investigation, A.K.; resources, R.K.D., A.M. and T.Z.; data curation, R.K.D., A.M. and T.Z.; writing—original draft preparation, R.K.D., A.M. and T.Z.; writing—review and editing, R.K.D. and A.K.; visualization, R.K.D., A.M. and T.Z.; supervision, A.K.; project administration, A.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ALLSSAAnti-Leakage Least-Squares Spectral Analysis
ANOVAAnalysis of Variance
ANCOVAsAnalysis of Covariance
BCIBrain-Computer Interface
BOLDBlood Oxygen Level-Dependent
BSFBroad Spatial Frequency
BSLBIOPAC STUDENT LAB
CCACanonical correlation analysis
CLSSAConstrained Least-Squares Spectral Analysis
CNNConvolutional Neural Network
CSPCommon Spatial Pattern
CWTContinuous Wavelet Transform
DFADetrended Fluctuation Analysis
ECGElectrocardiogram
ECoGElectrocorticogram
EEGElectroencephalography
EMDEmpirical Mode Decomposition
EMGElectromyogram
EOGElectrooculogram
ERPsEvent-Related Potentials
FFTFast Fourier Transform
FIFisher Information
FIRFinite Impulse Response
GUIGraphical User Interface
HFDHiguchi Fractal Dimension
ICAIndependent Component Analysis
iEEGintracranial EEG
IFFTInverse Fast Fourier Transform
IIRInfinite Impulse Response
KNNK-Nearest Neighbors
LDALinear discriminant Analysis
LFPLocal Field Potentials
LMSLeast Mean Square
LPPLate Positive Potential
LSSALeast-Squares Spectral Analysis
LSFLow broad Spatial Frequency
MALSSAMultichannel Anti-Leakage
MEGMagnetoencephalogram
NLMNon-Local Means
NMDNon-linear Mode Decomposition
PCAPrincipal component analysis
PFDPetrosian Fractal Dimension
PLSPartial Least Squares
PSDPower Spectrum Density
QDAQuadratic Discriminant Analysis
RDARegularized Discriminant Analysis
RNNRecurrent neural network
SSPSignal Space Projection
SSASingular Spectrum Analysis
SVMSupport Vector Machine
SVDEnSingular Value Decomposition Entropy
XWTCross-Wavelet Transform

Appendix A

Provided here is a table summarizing EEGLab plugins.
Table A1. EEGLab Plugins.
Table A1. EEGLab Plugins.
NameDescription
FIRfiltApply a variety of linear filters to EEGLAB data.
CleanRawDataCleans raw EEG data using a variety of methods, including Artifact Subspace Reconstruction.
DIPFITDipole modeling of independent data components
using a spherical or boundary element head model.
Uses functions from the FIELDTRIP toolbox.
ICLabelAn automated EEG independent component classi-
fier plugin for EEGLAB.
App-
MATLABViewer
The bids-matlab-tool repository contains a collection
of functions to import and export BIDS (Brain Imag-
ing Data Structure)-formated experiments.
bids-matlab-
tools
Import/export data in a wide variety of data formats.
BIOSIGToolbox allowing data import in multiple data for-
mats. It contains functions redundant with EEGLAB
but also contains unique functions.
FileIOImport/export files from/to the Brain Vision Soft-
ware Analyser suite.
ANTeepimportImport data files in the EEP format of the ANT EEG
company.
bva-ioImport/export files from/to the Brain Vision Soft-
ware Analyser suite.
neuroscanioImport/export files from/to the Neuroscan software.
MFFMATLABIOImport/export files from/to the EGI company in
MFF format.
xdfimportImport files in XDF (LSL) format (EEG stream and
EEG marker stream only).
MobilabImport files in XDF (LSL) format and allow fusing
streams at different sampling rates for joint process-
ing in EEGLAB
IIRfiltApply short non-linear infinite impulse response filters to EEGLAB data.
RESTA method to standardize a reference of scalp EEG
recordings to a point at infinity.
AARThe Automatic Artifact Removal toolbox aims to
integrate several state-of-the-art methods for the au-
tomatic removal of ocular and muscular artifacts in
the electroencephalogram (EEG).
VisEdThe Vised Marks extension for EEGLAB adds editing
functions to the native eegplot data scrolling figure.
Specifically, it allows adding/editing event mark-
ers, flagging channels/components, flagging time
periods, and displaying the properties of the marks
structure.
get_chanlocsThe get_chanlocs EEGLAB plugin locates 3-D elec-
trode positions from a 3-D scanned head image. A
tutorial on how to acquire these images with off-the-
shelf equipment is included.
FMRIBRemove fMRI-environment artifacts from EEGLAB
data. This extension allows the removal of scanner-
related artifacts from EEG data collected during
fMRI scanning.
BERGENRemoval of fMRI-related gradient artifacts from si-
multaneous EEG-fMRI data. The BERGEN extension
for EEGLAB provides a GUI with different methods
for gradient artifact correction.
MARAAutomatic identification of artifactual independent
components. MARA is a linear classifier that learns
from expert ratings by extracting six features from
the spatial, spectral, and temporal domains.
FASTERImplements a fully automated, unsupervised
method for processing high-density EEG data.
FASTER includes common features such as data im-
porting, epoching, re-referencing, grand average cre-
ation, automated channel, epoch, and artifact rejec-
tion based on ICA.
ADJUSTA completely automatic algorithm that identifies
artifact-related Independent Components by com-
bining stereotyped artifact-specific spatial and tem-
poral features.
CORRMAPSemi-automatic identification of common EEG arti-
facts based on a template. The CORRMAP extension
consists of a set of MATLAB functions allowing the
identification and clustering of independent compo-
nents representing common EEG artifacts.
CIACThe cochlear implant artifact correction is a semi-
automatic ICA-based tool for the correction of elec-
trical artifacts originating from cochlear implants.
RELICAThe goal of RELICA is to identify IC processes that
are most stably separated from the decomposition
data across many random bootstrap selections of its
data frames or epochs.
MP_clusteringA toolbox for Measure Projection Analysis for pro-
jecting EEG measures tagged by source location
into a common template brain space, testing local
spatial measure consistency, and parsing measure-
consistent brain areas into measure-separable domains.
REGICAAn extension to remove EOG artifacts by regression
performed on ICA components. A semi-simulated
dataset that might be used in any artifact rejection
study is also available.
SASICASASICA is an EEGLAB plugin to help the researcher
to reject/select independent components based on
the various properties of these components.
AutomagicAutomagic is a MATLAB-based toolbox for prepro-
cessing of EEG-datasets. It has been developed to
offer user-friendly preprocessing software for big
(and small) EEG datasets.
AMICAAdaptive Mixture Independent Component Analy-
sis (AMICA) is a binary program and EEGLAB plu-
gin that performs an independent component anal-
ysis (ICA) decomposition on input data, potentially
with multiple ICA models. Also, consider download-
ing the postAmicaUtility plugin.

Appendix B

Provided here is a table summarizing MATLAB EEG plugins.
Table A2. MATLAB Plugins.
Table A2. MATLAB Plugins.
NameDescription
Signal AnalyzerA powerful toolbox of useful signal analysis functions. Provides visualization, preprocessing, filtering
and analysis tools for generic signals.
EEGLabThe most popular EEG specific MATLAB plugin.
Provides extensive and state of the art EEG data
processing. EEGLab is capable of performing most
of the tasks described in this table, and has its own
extensive ecosystem of plugins.
NFT ToolboxNeuroelectromagnetic Forward Head Modeling Toolbox. This tool is used to physically map EEG data
to a head model. This allows for visualization and
better understanding of the collected data.
SIFTUsed for analysis of EEG data flow between multiple
Sources.
HeadITDatabase system for easy storage and retrieval of
EEG data based on biomarkers and metadata.
BCILABToolbox for classification of EEG signals. Simplifies
the creation of Brain Computer Interfaces by allowing MATLAB to classify EEG signals in real time.
ERICAOverarching framework which allows for recording,
analysis, and stimulus control.

References

  1. Pavlov, A.N.; Pitsik, E.N.; Frolov, N.S.; Badarin, A.; Pavlova, O.N.; Hramov, A.E. Age-related distinctions in eeg signals during execution of motor tasks characterized in terms of long-range correlations. Sensors 2020, 20, 5843. [Google Scholar] [CrossRef] [PubMed]
  2. Yang, H.; Han, J.; Min, K. A multi-column CNN model for emotion recognition from EEG signals. Sensors 2019, 19, 4736. [Google Scholar] [CrossRef]
  3. Aldayel, M.; Ykhlef, M.; Al-Nafjan, A. Deep learning for EEG-based preference classification in neuromarketing. Appl. Sci. 2020, 10, 1525. [Google Scholar] [CrossRef]
  4. Kopańska, M.; Ochojska, D.; Dejnowicz-Velitchkov, A.; Banaś-Ząbczyk, A. Quantitative Electroencephalography (QEEG) as an Innovative Diagnostic Tool in Mental Disorders. Int. J. Environ. Res. Public Health 2022, 19, 2465. [Google Scholar] [CrossRef]
  5. Annarumma, L.; D’Atri, A.; Alfonsi, V.; De Gennaro, L. The efficacy of transcranial current stimulation techniques to modulate resting-state EEG, to affect vigilance and to promote sleepiness. Brain Sci. 2018, 8, 137. [Google Scholar] [CrossRef]
  6. Alturki, F.A.; AlSharabi, K.; Abdurraqeeb, A.M.; Aljalal, M. EEG signal analysis for diagnosing neurological disorders using discrete wavelet transform and intelligent techniques. Sensors 2020, 20, 2505. [Google Scholar] [CrossRef]
  7. Prasanna, J.; Subathra MS, P.; Mohammed, M.A.; Damaševičius, R.; Sairamya, N.J.; George, S.T. Automated epileptic seizure detection in pediatric subjects of CHB-MIT EEG database—A survey. J. Pers. Med. 2021, 11, 1028. [Google Scholar] [CrossRef]
  8. Ebrahimzadeh, E.; Shams, M.; Rahimpour Jounghani, A.; Fayaz, F.; Mirbagheri, M.; Hakimi, N.; Rajabion, L.; Soltanian-Zadeh, H. Localizing confined epileptic foci in patients with an unclear focus or presumed multifocality using a component-based EEG-fMRI method. Cogn. Neurodyn. 2021, 15, 207–222. [Google Scholar] [CrossRef]
  9. Avila, J.; Perry, G. A multilevel view of the development of Alzheimer’s disease. Neuroscience 2021, 457, 283–293. [Google Scholar] [CrossRef] [PubMed]
  10. Soufineyestani, M.; Dowling, D.; Khan, A.A. Electroencephalography (EEG) Technology Applications and Available Devices. Appl. Sci. 2020, 10, 7453. [Google Scholar] [CrossRef]
  11. Kang, H.; Nam, Y.; Choi, S. Composite common spatial pattern for subject-to-subject transfer. IEEE Signal Process. Lett. 2009, 16, 683–686. [Google Scholar] [CrossRef]
  12. Ahmed, M.Z.I.; Sinha, N.; Phadikar, S.; Ghaderpour, E. Automated Feature Extraction on AsMap for Emotion Classification Using EEG. Sensors 2022, 22, 2346. [Google Scholar] [CrossRef] [PubMed]
  13. Ghaderpour, E.; Pagiatakis, S.D.; Hassan, Q.K. A survey on change detection and time series analysis with applications. Appl. Sci. 2021, 11, 6141. [Google Scholar] [CrossRef]
  14. Maddirala, A.K.; Shaik, R.A. Separation of sources from single-channel EEG signals using independent component analysis. IEEE Trans. Instrum. Meas. 2017, 67, 382–393. [Google Scholar] [CrossRef]
  15. Ponciano, V.; Pires, I.M.; Ribeiro, F.R.; Garcia, N.M.; Villasana, M.V.; Zdravevski, E.; Lameski, P. Machine learning techniques with ECG and EEG data: An exploratory study. Computers 2020, 9, 55. [Google Scholar] [CrossRef]
  16. Kundu, B.; Naidu, D.S. Classification and Feature Extraction of Different Hand Movements from EMG Signal using Machine Leaning based Algorithms. In Proceedings of the 2021 International Conference on Electrical, Communication, and Computer Engineering (ICECCE), Kuala Lumpur, Malaysia, 12–13 June 2021; IEEE: New York, NY, USA, 2021; pp. 1–5. [Google Scholar]
  17. Emmert, K.; Breimhorst, M.; Bauermann, T.; Birklein, F.; Rebhorn, C.; Van De Ville, D.; Haller, S. Active pain coping is associated with the response in real-time fMRI neurofeedback during pain. Brain Imaging Behav. 2017, 11, 712–721. [Google Scholar] [CrossRef] [PubMed]
  18. Li, X.; Chen, X.; Yan, Y.; Wei, W.; Wang, Z.J. Classification of EEG signals using a multiple kernel learning support vector machine. Sensors 2014, 14, 12784–12802. [Google Scholar] [CrossRef] [PubMed]
  19. Kasim, Ö.; Tosun, M. Effective removal of eye-blink artifacts in EEG signals with semantic segmentation. Signal Image Video Process. 2022, 16, 1289–1295. [Google Scholar] [CrossRef]
  20. Lasefr, Z.; Ayyalasomayajula, S.S.V.; Elleithy, K. Epilepsy seizure detection using EEG signals. In Proceedings of the 2017 IEEE 8th Annual Ubiquitous Computing, Electronics and Mobile Communication Conference (UEMCON), New York, NY, USA, 19–21 October 2017; IEEE: New York, NY, USA, 2017; pp. 162–167. [Google Scholar]
  21. Melinda, M.; Syahrial; Yunidar; Bahri, A.; Irhamsyah, M. Finite Impulse Response Filter for Electroencephalogram Waves Detection. Green Intell. Syst. Appl. 2022, 2, 7–19. [Google Scholar] [CrossRef]
  22. Li, M.; Xu, H.; Liu, X.; Lu, S. Emotion recognition from multichannel EEG signals using K-nearest neighbor classification. Technol. Health Care 2018, 26, 509–519. [Google Scholar] [CrossRef]
  23. Siuly; Wang, H.; Zhang, Y. Detection of motor imagery EEG signals employing Naïve Bayes based learning process. Measurement 2016, 86, 148–158. [Google Scholar] [CrossRef]
  24. Tibdewal, M.N.; Mahadevappa, M.; Ray, A.K.; Malokar, M.; Dey, H.R. Power line and ocular artifact denoising from EEG using notch filter and wavelet transform. In Proceedings of the 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 16–18 March 2016; IEEE: New York, NY, USA, 2016; pp. 1654–1659. [Google Scholar]
  25. Phadikar, S.; Sinha, N.; Ghosh, R.; Ghaderpour, E. Automatic Muscle Artifacts Identification and Removal from Single-Channel EEG Using Wavelet Transform with Meta-Heuristically Optimized Non-Local Means Filter. Sensors 2022, 22, 2948. [Google Scholar] [CrossRef] [PubMed]
  26. Edla, D.R.; Mangalorekar, K.; Dhavalikar, G.; Dodia, S. Classification of EEG data for human mental state analysis using Random Forest Classifier. Procedia Comput. Sci. 2018, 132, 1523–1532. [Google Scholar] [CrossRef]
  27. Veeramallu, G.K.P.; Anupalli, Y.; Kumar Jilumudi, S.; Bhattacharyya, A. EEG based automatic emotion recognition using EMD and random forest classifier. In Proceedings of the 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT), Kanpur, India, 6–8 July 2019; IEEE: New York, NY, USA, 2019; pp. 1–6. [Google Scholar]
  28. Zheng, W. Multichannel EEG-Based Emotion Recognition via Group Sparse Canonical Correlation Analysis. IEEE Trans. Cogn. Dev. Syst. 2017, 9, 281–290. [Google Scholar] [CrossRef]
  29. Majidov, I.; Whangbo, T. Efficient classification of motor imagery electroencephalography signals using deep learning methods. Sensors 2019, 19, 1736. [Google Scholar] [CrossRef] [PubMed]
  30. Zhang, Y.; Zhang, S.; Ji, X. EEG-based classification of emotions using empirical mode decomposition and autoregressive model. Multimed. Tools Appl. 2018, 77, 26697–26710. [Google Scholar] [CrossRef]
  31. Delimayanti, M.K.; Purnama, B.; Nguyen, N.G.; Faisal, M.R.; Mahmudah, K.R.; Indriani, F.; Kubo, M.; Satou, K. Classification of brainwaves for sleep stages by high-dimensional FFT features from EEG signals. Appl. Sci. 2020, 10, 1797. [Google Scholar] [CrossRef]
  32. Das, R.K.; Imtiaz, N.Z.; Khan, A. Toward Affirmation of Recovery of Deeply Embedded Autobiographical Memory with Background Music and Identification of an EEG Biomarker in Combination with EDA Signal Using Wearable Sensors. Clin. Transl. Neurosci. 2022, 6, 26. [Google Scholar] [CrossRef]
  33. Wu, J.; Zhou, T.; Li, T. Detecting epileptic seizures in EEG signals with complementary ensemble empirical mode decomposition and extreme gradient boosting. Entropy 2020, 22, 140. [Google Scholar] [CrossRef] [PubMed]
  34. Kaiboriboon, K.; Lüders, H.O.; Hamaneh, M.; Turnbull, J.; Lhatoo, S.D. EEG source imaging in epilepsy—Practicalities and pitfalls. Nat. Rev. Neurol. 2012, 8, 498–507. [Google Scholar] [CrossRef] [PubMed]
  35. Grobbelaar, M.; Phadikar, S.; Ghaderpour, E.; Struck, A.F.; Sinha, N.; Ghosh, R.; Ahmed, M.Z.I. A Survey on Denoising Techniques of Electroencephalogram Signals Using Wavelet Transform. Signals 2022, 3, 577–586. [Google Scholar] [CrossRef]
  36. AcqKnowledge 5 Demo | BIOPAC. BIOPAC Systems, Inc. Available online: https://www.biopac.com/demo/AcqKnowledge-5-demo/ (accessed on 22 February 2023).
  37. BESA® | Brain Electrical Source Analysis. BESA® | Brain Electrical Source Analysis. 2022. Available online: https://www.besa.de (accessed on 22 February 2023).
  38. Sabatinelli, D.; Lang, P.J.; Keil, A.; Bradley, M.M. Emotional perception: Correlation of functional MRI and event-related potentials. Cereb. Cortex 2007, 17, 1085–1091. [Google Scholar] [CrossRef] [PubMed]
  39. Vijayalakshmi, K.; Sridhar, S.; Khanwani, P. Estimation of effects of alpha music on EEG components by time and frequency domain analysis. In Proceedings of the International Conference on Computer and Communication Engineering (ICCCE’10), Kuala Lumpur, Malaysia, 11–12 May 2010; IEEE: New York, NY, USA, 2010; pp. 1–5. [Google Scholar]
  40. Hosen, M.R.; Hasan, S.; Hasan, M.M.; Das, R.K. Age classification based on EMG signal using Artificial Neural Network. In Proceedings of the 2015 International Conference on Electrical Engineering and Information Communication Technology (ICEEICT), Dhaka, Bangladesh, 21–23 May 2015; IEEE: New York, NY, USA, 2015; pp. 1–5. [Google Scholar]
  41. Vidaurre, C.; Sander, T.H.; Schlögl, A. BioSig: The free and open source software library for biomedical signal processing. Comput. Intell. Neurosci. 2011, 2011, 935364. [Google Scholar] [CrossRef] [PubMed]
  42. Ovcharenko, V.V.; Rudenko, M.A.; Larina, N.V.; Sivtseva, A.S. Analysis and Assessment of Dynamics of Neurocomputer Performance Measures. In Proceedings of the 2020 International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Sochi, Russia, 18–22 May 2020; IEEE: New York, NY, USA, 2020; pp. 1–5. [Google Scholar]
  43. Parfenov, Andrey. n.d. OpenBCI GUI with BrainFlow. Available online: https://brainflow.org/2020-06-11-openbcigui/ (accessed on 22 February 2023).
  44. Tadel, F.; Baillet, S.; Mosher, J.C.; Pantazis, D.; Leahy, R.M. Brainstorm: A user-friendly application for MEG/EEG analysis. Comput. Intell. Neurosci. 2011, 2011, 1–13. [Google Scholar] [CrossRef] [PubMed]
  45. Méndez-Bértolo, C.; Moratti, S.; Toledano, R.; Lopez-Sosa, F.; Martinez-Alvarez, R.; Mah, Y.H.; Vuilleumier, P.; Gil-Nagel, A.; Strange, B.A. A fast pathway for fear in human amygdala. Nat. Neurosci. 2016, 19, 1041–1049. [Google Scholar] [CrossRef] [PubMed]
  46. EDFbrowser. Available online: https://www.teuniz.net/edfbrowser/ (accessed on 22 February 2023).
  47. Bansal, D.; Mahajan, R.; Singh, S.; Rathee, D.; Roy, S. Real time acquisition and analysis of neural response for rehabilitative control. Int. J. Electr. Robot. Electron. Commun. Eng. 2014, 8, 697–701. [Google Scholar]
  48. Hassan, M.; Shamas, M.; Khalil, M.; Falou, W.E.; Wendling, F. EEGNET: An Open Source Tool for Analyzing and Visualizing M/EEG Connectome. PLoS ONE 2015, 10, e0138297. [Google Scholar] [CrossRef]
  49. Shamas, M.; Wendling, F.; El Falou, W.; Hassan, M. EEGNET: A novel tool for processing and mapping EEG functional networks. In Proceedings of the 2015 7th International IEEE/EMBS Conference on Neural Engineering (NER), Montpellier, France, 22–24 April 2015; IEEE: New York, NY, USA, 2015; pp. 1064–1067. [Google Scholar]
  50. Hassan, M.; Merlet, I.; Mheich, A.; Kabbara, A.; Biraben, A.; Nica, A.; Wendling, F. Identification of interictal epileptic networks from dense-EEG. Brain Topogr. 2017, 30, 60–76. [Google Scholar] [CrossRef]
  51. Aguera, P.E.; Jerbi, K.; Caclin, A.; Bertrand, O. ELAN: A software package for analysis and visualization of MEG, EEG, and LFP signals. Comput. Intell. Neurosci. 2011, 2011, 1–11. [Google Scholar] [CrossRef]
  52. Bottari, D.; Caclin, A.; Giard, M.H.; Pavani, F. Changes in early cortical visual processing predict enhanced reactivity in deaf individuals. PLoS ONE 2011, 6, e25607. [Google Scholar] [CrossRef]
  53. Pernet, C.R.; Chauveau, N.; Gaspar, C.; Rousselet, G.A. LIMO EEG: A toolbox for hierarchical LInear MOdeling of ElectroEncephaloGraphic data. Comput. Intell. Neurosci. 2011, 2011, 1–11. [Google Scholar] [CrossRef] [PubMed]
  54. Esch, L.; Dinh, C.; Larson, E.; Engemann, D.; Jas, M.; Khan, S.; Gramfort, A.; Hämäläinen, M.S. MNE: Software for acquiring, processing, and visualizing MEG/EEG data. In Magnetoencephalography: From Signals to Dynamic Cortical Networks; Springer: Berlin/Heidelberg, Germany, 2019; pp. 355–371. [Google Scholar]
  55. Jas, M.; Engemann, D.A.; Bekhti, Y.; Raimondo, F.; Gramfort, A. Autoreject: Automated artifact rejection for MEG and EEG data. NeuroImage 2017, 159, 417–429. [Google Scholar] [CrossRef] [PubMed]
  56. Renard, Y.; Lotte, F.; Gibert, G.; Congedo, M.; Maby, E.; Delannoy, V.; Bertrand, O.; Lécuyer, A. Openvibe: An open-source software platform to design, test, and use brain–computer interfaces in real and virtual environments. Presence 2010, 19, 35–53. [Google Scholar] [CrossRef]
  57. Zich, C.; Debener, S.; Kranczioch, C.; Bleichner, M.G.; Gutberlet, I.; De Vos, M. Real-time EEG feedback during simultaneous EEG–fMRI identifies the cortical signature of motor imagery. Neuroimage 2015, 114, 438–447. [Google Scholar] [CrossRef]
  58. Bao, F.S.; Liu, X.; Zhang, C. PyEEG: An open source python module for EEG/MEG feature extraction. Comput. Intell. Neurosci. 2011, 2011, 406391. [Google Scholar] [CrossRef]
  59. Thara, D.; Premasudha, B. Electroencephalogram analysis for Automatic Epileptic Seizure detection method using PyEEG. Int. J. Eng. Sci. Manag.-Multidiscip. Publ. VTU 2019, 1, 22–26. [Google Scholar]
  60. Flandin, G.; Friston, K.J. Statistical parametric mapping (SPM). Scholarpedia 2008, 3, 6232. [Google Scholar] [CrossRef]
  61. Franke, K.; Ziegler, G.; Klöppel, S.; Gaser, C.; Alzheimer’s Disease Neuroimaging Initiative. Estimating the age of healthy subjects from T1-weighted MRI scans using kernel methods: Exploring the influence of various parameters. Neuroimage 2010, 50, 883–892. [Google Scholar] [CrossRef]
  62. Hatz, F.; Hardmeier, M.; Benz, N.; Ehrensperger, M.; Gschwandtner, U.; Rüegg, S.; Schindler, C.; Monsch, A.U.; Fuhr, P. Microstate connectivity alterations in patients with early Alzheimer’s disease. Alzheimers Res. Ther. 2015, 7, 1–11. [Google Scholar] [CrossRef]
  63. Delorme, A.; Makeig, S. EEGLAB: An open source toolbox for analysis of single-trial EEG dynamics including independent component analysis. J. Neurosci. Methods 2004, 134, 9–21. [Google Scholar] [CrossRef]
  64. Valipour, S.; Shaligram, A.; Kulkarni, G. Detection of an alpha rhythm of EEG signal based on EEGLAB. Int. J. Eng. Res. Appl. 2014, 4, 154–159. [Google Scholar]
  65. Ahirwal, M.K.; Londhe, N. Power spectrum analysis of EEG signals for estimating visual attention. Int. J. Comput. Appl. 2012, 42, 22–25. [Google Scholar]
  66. Gao, Y.; Lee, H.J.; Mehmood, R.M. Deep learninig of EEG signals for emotion recognition. In Proceedings of the 2015 IEEE International Conference on Multimedia & Expo Workshops (ICMEW), Torino, Italy, 29 June–3 July 2015; IEEE: New York, NY, USA, 2015; pp. 1–5. [Google Scholar]
Figure 1. Interface of AcqKnowledge [36].
Figure 1. Interface of AcqKnowledge [36].
Sci 05 00023 g001
Figure 2. The discrete multiple source analysis and cortical CLARA image on the inflated cortex [37].
Figure 2. The discrete multiple source analysis and cortical CLARA image on the inflated cortex [37].
Sci 05 00023 g002
Figure 3. Architecture of the BioSig toolbox and its element [41].
Figure 3. Architecture of the BioSig toolbox and its element [41].
Sci 05 00023 g003
Figure 5. General overview of the Brainstorm interface [44].
Figure 5. General overview of the Brainstorm interface [44].
Sci 05 00023 g005
Figure 6. The interface of EDF Browse [46].
Figure 6. The interface of EDF Browse [46].
Sci 05 00023 g006
Figure 7. Pipelines of EEGNET (A) EEG input signal, (B) Sources reconstruction, (C,D) Connectivity matrices, (E) 2D brain networks, (F) 3D brain Network, (G) Screenshot of the control panel used for tuning the different parameters (nodes, edges, threshold, surface) [49].
Figure 7. Pipelines of EEGNET (A) EEG input signal, (B) Sources reconstruction, (C,D) Connectivity matrices, (E) 2D brain networks, (F) 3D brain Network, (G) Screenshot of the control panel used for tuning the different parameters (nodes, edges, threshold, surface) [49].
Sci 05 00023 g007
Figure 8. Overview of ELAN analysis workflow [51].
Figure 8. Overview of ELAN analysis workflow [51].
Sci 05 00023 g008
Figure 9. Hierarchical procedure of LIMO EEG [53].
Figure 9. Hierarchical procedure of LIMO EEG [53].
Sci 05 00023 g009
Figure 10. Procedure and visualization of electrophysiology data using MNE-Python [54].
Figure 10. Procedure and visualization of electrophysiology data using MNE-Python [54].
Sci 05 00023 g010
Figure 11. The PyEEG framework [58].
Figure 11. The PyEEG framework [58].
Sci 05 00023 g011
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Das, R.K.; Martin, A.; Zurales, T.; Dowling, D.; Khan, A. A Survey on EEG Data Analysis Software. Sci 2023, 5, 23. https://doi.org/10.3390/sci5020023

AMA Style

Das RK, Martin A, Zurales T, Dowling D, Khan A. A Survey on EEG Data Analysis Software. Sci. 2023; 5(2):23. https://doi.org/10.3390/sci5020023

Chicago/Turabian Style

Das, Rupak Kumar, Anna Martin, Tom Zurales, Dale Dowling, and Arshia Khan. 2023. "A Survey on EEG Data Analysis Software" Sci 5, no. 2: 23. https://doi.org/10.3390/sci5020023

Article Metrics

Back to TopTop