Computational Intelligence and Neuroscience

Computational Intelligence and Neuroscience / 2011 / Article
Special Issue

Academic Software Applications for Electromagnetic Brain Mapping Using MEG and EEG

View this Special Issue

Research Article | Open Access

Volume 2011 |Article ID 406391 | https://doi.org/10.1155/2011/406391

Forrest Sheng Bao, Xin Liu, Christina Zhang, "PyEEG: An Open Source Python Module for EEG/MEG Feature Extraction", Computational Intelligence and Neuroscience, vol. 2011, Article ID 406391, 7 pages, 2011. https://doi.org/10.1155/2011/406391

PyEEG: An Open Source Python Module for EEG/MEG Feature Extraction

Academic Editor: Sylvain Baillet
Received31 Aug 2010
Revised26 Oct 2010
Accepted31 Dec 2010
Published29 Mar 2011

Abstract

Computer-aided diagnosis of neural diseases from EEG signals (or other physiological signals that can be treated as time series, e.g., MEG) is an emerging field that has gained much attention in past years. Extracting features is a key component in the analysis of EEG signals. In our previous works, we have implemented many EEG feature extraction functions in the Python programming language. As Python is gaining more ground in scientific computing, an open source Python module for extracting EEG features has the potential to save much time for computational neuroscientists. In this paper, we introduce PyEEG, an open source Python module for EEG feature extraction.

1. Introduction

Computer-aided diagnosis based on EEG has become possible in the last decade for several neurological diseases such as Alzheimer's disease [1, 2] and epilepsy [3, 4]. Implemented systems can be very useful in the early diagnosis of those diseases. For example, traditional epilepsy diagnosis may require trained physicians to visually screen lengthy EEG records whereas computer-aided systems can shorten this time-consuming procedure by detecting and picking out EEG segments of interest to physicians [5, 6]. On top of that, computers can extend our ability to analyze signals. Recently, researchers have developed systems [3, 4, 7, 8] that can hopefully use (any) random interictal (i.e., non-seizure) EEG records for epilepsy diagnosis in instances that are difficult for physicians to make diagnostic decisions with their naked eyes. In addition to analyzing existing signals, this computer-based approach can help us model the brain and predict future signals, for example, seizure prediction [9, 10].

All the above systems rely on characterizing the EEG signal into certain features, a step known as feature extraction. EEG features can come from different fields that study time series: power spectral density from signal processing, fractal dimensions from computational geometry, entropies from information theory, and so forth. An open source tool that can extract EEG features would benefit the computational neuroscience community since feature extraction is repeatedly invoked in the analysis of EEG signals. Because of Python's increasing popularity in scientific computing, and especially in computational neuroscience, a Python module for EEG feature extraction would be highly useful. In response, we have developed PyEEG, a Python module for EEG feature extraction, and have tested it in our previous epileptic EEG research [3, 8, 11].

Compared to other popular programming languages in scientific computing such as C++ or MATLAB, Python is an open source scripting language of simple syntax and various high-level libraries (for detailed advantages of Python, read http://www.python.org/about/), such as Scipy (http://www.scipy.org/) which allows users to run MATLAB codes after slight modification. There have been several popular open source Python projects in the neuroimaging community already, such as NIPY (http://nipy.sourceforge.net/). However, in neural physiology community, Python is not yet quite popular. As we are not aware of any open source tools in Python (or other programming languages) that can extract EEG features as mentioned above, we introduce and release PyEEG in this paper.

Though originally designed for EEG, PyEEG can also be used to analyze other physiological signals that can be treated as time series, especially MEG signals that represent the magnetic fields induced by currents of neural electrical activities.

The rest of the paper is organized as follows. In Section 2, we introduce the framework of PyEEG. Section 3 gives the definitions to compute EEG features. A tutorial of applying PyEEG onto a public real EEG dataset is given in Section 4. Section 5 concludes the paper.

2. Main Framework

PyEEG’s target users are programmers (anyone who writes programs) working on computational neuroscience. Figure 1 shows its framework. PyEEG is a Python module that focuses only on extracting features from EEG/MEG segments. Therefore, it does not contain functions to import data of various formats or export features to a classifier. This is due to the modularity and composition principles of building open source software which indicate that small programs that can work well together via simple interfaces are better than big monolithic programs. Since open source tools like EEG/MEG data importers (e.g., EEGLab, Biosig, etc.) and classifier front-ends are already available, there is no need for us to reinvent the wheel. Users can easily hook PyEEG up with various existing open source software to build toolchains for their EEG/MEG research.

PyEEG consists of two sets of functions. (1)Preprocessing functions, which do not return any feature values. Only two such functions have been implemented so far. embed_seq() builds embedding sequence (from given lag and embedding dimension) and first_order_diff() computes first-order differential sequence. One can build differential sequences of higher orders by repeatedly applying first-order differential computing. (2)Feature extraction functions, that return feature values. These are listed in Table 1.


Feature name Function name Return type

Power Spectral Intensity (PSI) and Relative Intensity Ratio (RIR) bin_power() Two 1-D vectors
Petrosian Fractal Dimension (PFD) pdf() A scalar
Higuchi Fractal Dimension (HFD) hfd() A scalar
Hjorth mobility and complexity hjorth() Two scalars
Spectral Entropy (Shannon's entropy of RIRs) spectral_entropy() A scalar
SVD Entropy svd_entropy() A scalar
Fisher Information fisher_info() A scalar
Approximate Entropy ( A p E n ) ap_entropy() A scalar
Detrended Fluctuation Analysis (DFA) dfa() A scalar
Hurst Exponent (Hurst) hurst() A scalar

PyEEG only uses functions in standard Python library and SciPy, the de facto Python module for scientific computing. PyEEG does not define any new data structure, but instead uses only standard Python and NumPy data structures. The reason is that we want to simplify the use of PyEEG, especially for users without much programming background. The inputs of all functions are a time sequence as a list of floating-point numbers and a set of optional feature extraction parameters. Parameters have default values. The output of a feature extraction function is a floating-point number if the feature is a scalar or a list of floating-point numbers (a vector) otherwise. Details about functions are available in the PyEEG reference guide at http://PyEEG.SourceForge.net/.

3. Supported Feature Extraction

In this section, we detail the definitions and computation procedures to extract EEG features (as shown in Table 1) in PyEEG. Since there are many parameters and various algorithms for one feature, the numerical value of a feature extracted by PyEEG may be different from that extracted by other toolboxes. Users may need to adjust our code or use non-default values for the parameters in order to meet their needs. Please note that the index of an array or a vector starts from 1 rather than 0 in this section.

3.1. Power Spectral Intensity and Relative Intensity Ratio

To a time series [π‘₯1,π‘₯2,…,π‘₯𝑁], denote its Fast Fourier Transform (FFT) result as [𝑋1,𝑋2,…,𝑋𝑁]. A continuous frequency band from 𝑓low to 𝑓up is sliced into 𝐾 bins, which can be of equal width or not. Boundaries of bins are specified by a vector π‘π‘Žπ‘›π‘‘=[𝑓1,𝑓2,…,𝑓𝐾], such that the lower and upper frequencies of the 𝑖th bin are 𝑓𝑖 and 𝑓𝑖+1, respectively. Commonly used unequal bins are EEG/MEG rhythms, which are, 𝛿(0.5-4Hz), πœƒ(4-7Hz), 𝛼(8-12Hz), 𝛽(12-30Hz), and 𝛾(30-100Hz). For these bins, we have π‘π‘Žπ‘›π‘‘=[0.5,4,7,12,30,100].

The Power Spectral Intensity (PSI) [12] of the π‘˜th bin is evaluated as PSIπ‘˜=𝑁(π‘“π‘˜+1/𝑓s)ξžξ“π‘–=βŒŠπ‘(π‘“π‘˜/𝑓s)βŒ‹||𝑋𝑖||,π‘˜=1,2,…,πΎβˆ’1,(1) where 𝑓s is the sampling rate, and 𝑁 is the series length.

Relative Intensity Ratio (RIR) [12] is defined on top of PSI RIR𝑗=PSIπ‘—βˆ‘πΎβˆ’1π‘˜=1PSIπ‘˜,𝑗=1,2,…,πΎβˆ’1.(2) PSI and RIR are both vector features.

3.2. Petrosian Fractal Dimension (PFD)

To a time series, PFD is defined as PFD=log10𝑁log10𝑁+log10𝑁/𝑁+0.4𝑁𝛿,ξ€Έξ€Έ(3) where 𝑁 is the series length, and 𝑁𝛿 is the number of sign changes in the signal derivative [13]. PFD is a scalar feature.

3.3. Higuchi Fractal Dimension (HFD)

Higuchi's algorithm [14] constructs π‘˜ new series from the original series [π‘₯1,π‘₯2,…,π‘₯𝑁] byπ‘₯π‘š,π‘₯π‘š+π‘˜,π‘₯π‘š+2π‘˜,…,π‘₯π‘š+⌊(π‘βˆ’π‘š)/π‘˜βŒ‹π‘˜,(4) where π‘š=1,2,…,π‘˜.

For each time series constructed from (4), the length 𝐿(π‘š,π‘˜) is computed by βˆ‘πΏ(π‘š,π‘˜)=⌊(π‘βˆ’π‘š)/π‘˜βŒ‹π‘–=2||π‘₯π‘š+π‘–π‘˜βˆ’π‘₯π‘š+(π‘–βˆ’1)π‘˜||(π‘βˆ’1).⌊(π‘βˆ’π‘š)/π‘˜βŒ‹π‘˜(5)

The average length is computed as βˆ‘πΏ(π‘˜)=[π‘˜π‘–=1𝐿(𝑖,π‘˜)]/π‘˜.

This procedure repeats π‘˜max times for each π‘˜ from 1 to π‘˜max, and then uses a least-square method to determine the slope of the line that best fits the curve of ln(𝐿(π‘˜)) versus ln(1/π‘˜). The slope is the Higuchi Fractal Dimension. HFD is a scalar feature.

3.4. Hjorth Parameters

To a time series [π‘₯1,π‘₯2,…,π‘₯𝑁], the Hjorth mobility and complexity [15] are, respectively, defined as βˆšπ‘€2/TP and √(𝑀4β‹…TP)/(𝑀2⋅𝑀2), where βˆ‘π‘₯TP=𝑖/𝑁, βˆ‘π‘‘π‘€2=𝑖/𝑁, βˆ‘π‘€4=(π‘‘π‘–βˆ’π‘‘π‘–βˆ’1)2/𝑁, and 𝑑𝑖=π‘₯π‘–βˆ’π‘₯π‘–βˆ’1. Hjorth mobility and complexity are both scalar features.

3.5. Spectral Entropy

The spectral entropy [16] is defined as follows1𝐻=βˆ’log(𝐾)𝐾𝑖=1RIR𝑖logRIR𝑖,(6) where RIR𝑖 and 𝐾 are defined in (2). Spectral entropy is a scalar feature.

3.6. SVD Entropy

Reference [17] defines an entropy measure using Singular Value Decomposition (SVD). Let the input signal be [π‘₯1,π‘₯2,…,π‘₯𝑁]. We construct delay vectors as 𝐲π‘₯(𝑖)=𝑖,π‘₯𝑖+𝜏,…,π‘₯𝑖+(π‘‘πΈβˆ’1)πœξ€»,(7) where 𝜏 is the delay and 𝑑𝐸 is the embedding dimension. In this paper, 𝑑𝐸=20 and 𝜏=2. The embedding space is then constructed by ξ€Ίξ€·ξ€·π‘‘π‘Œ=𝐲(1),𝐲(2),…,π²π‘βˆ’πΈξ€Έπœβˆ’1𝑇.(8)

The SVD is then performed on matrix π‘Œ to produce 𝑀 singular values, 𝜎1,…,πœŽπ‘€, known as the singular spectrum.

The SVD entropy is then defined as𝐻SVD=βˆ’π‘€ξ“π‘–=1πœŽπ‘–log2πœŽπ‘–,(9) where 𝑀 is the number of singular values and 𝜎1,…,πœŽπ‘€ are normalized singular values such that πœŽπ‘–=πœŽπ‘–/βˆ‘π‘€π‘—=1πœŽπ‘—. SVD entropy is a scalar feature.

3.7. Fisher Information

The Fisher information [18] can be defined in normalized singular spectrum used in (9) 𝐼=π‘€βˆ’1𝑖=1ξ€·πœŽπ‘–+1βˆ’πœŽπ‘–ξ€Έ2πœŽπ‘–.(10) Fisher information is a scalar feature.

3.8. Approximate Entropy

Approximate entropy (ApEn) is a statistical parameter to quantify the regularity of a time series [19].

ApEn is computed by the following steps.(1)Let the input signal be [π‘₯1,π‘₯2,…,π‘₯𝑁]. (2)Build subsequence π‘₯(𝑖,π‘š)=[π‘₯𝑖,π‘₯𝑖+1,…,π‘₯𝑖+π‘šβˆ’1] for 1β‰€π‘–β‰€π‘βˆ’π‘š, where π‘š is the length of the subsequence. In [7], π‘š=1,2, or 3. (3)Let π‘Ÿ represent the noise filter level, defined as π‘Ÿ=π‘˜Γ—SD for π‘˜=0,0.1,0.2,…,0.9. (4)Build a set of subsequences {π‘₯(𝑗,π‘š)}={π‘₯(𝑗,π‘š)βˆ£π‘—βˆˆ[1..π‘βˆ’π‘š]}, where π‘₯(𝑗,π‘š) is defined in step 2. (5)For each π‘₯(𝑖,π‘š)∈{π‘₯(𝑗,π‘š)}, compute βˆ‘πΆ(𝑖,π‘š)=π‘βˆ’π‘šπ‘—=1π‘˜π‘—,π‘βˆ’π‘š(11) where π‘˜π‘—=ξƒ―||||1ifπ‘₯(𝑖,π‘š)βˆ’π‘₯(𝑗,π‘š)<π‘Ÿ,0otherwise.(12)(6)1ApEn(π‘š,π‘Ÿ,𝑁)=ξƒ¬π‘βˆ’π‘€π‘βˆ’π‘šξ“π‘–=1ln𝐢(𝑖,π‘š)𝐢(𝑖,π‘š+1).(13)

ApEn is a scalar feature.

3.9. Detrended Fluctuation Analysis

Detrended Fluctuation Analysis (DFA) is proposed in [20].

The procedures to compute DFA of a time series [π‘₯1,π‘₯2,…,π‘₯𝑁] are as follows. (1)First integrate π‘₯ into a new series 𝑦=[𝑦(1),…,𝑦(𝑁)], where βˆ‘π‘¦(π‘˜)=π‘˜π‘–=1(π‘₯π‘–βˆ’π‘₯) and π‘₯ is the average of π‘₯1,π‘₯2,…,π‘₯𝑁. (2)The integrated series is then sliced into boxes of equal length 𝑛. In each box of length 𝑛, a least-squares line is fit to the data, representing the trend in that box. The 𝑦 coordinate of the straight line segments is denoted by 𝑦𝑛(π‘˜). (3)The root-mean-square fluctuation of the integrated series is calculated by 𝐹(𝑛)=βˆ‘(1/𝑁)π‘π‘˜=1[𝑦(π‘˜)βˆ’π‘¦π‘›(π‘˜)]2, where the part 𝑦(π‘˜)βˆ’π‘¦π‘›(π‘˜) is called detrending. (4)The fluctuation can be defined as the slope of the line relating log𝐹(𝑛) to log𝑛.

DFA is a scalar feature.

3.10. Hurst Exponent

The hurst exponent (HURST) [21] is also called Rescaled Range statistics (R/S). To calculate the hurst exponent for time series 𝑋=[π‘₯1,π‘₯2,…,π‘₯𝑁], the first step is to calculate the accumulated deviation from the mean of time series within range 𝑇𝑋(𝑑,𝑇)=𝑑𝑖=1ξ€·π‘₯π‘–βˆ’π‘₯ξ€Έ,where1π‘₯=𝑇𝑇𝑖=1π‘₯𝑖[].,π‘‘βˆˆ1..𝑁(14) Then, R(𝑇)/S(𝑇) is calculated as R(𝑇)=S(𝑇)max(𝑋(𝑑,𝑇))βˆ’min(𝑋(𝑑,𝑇))ξ”βˆ‘(1/𝑇)𝑇𝑑=1ξ€Ίπ‘₯(𝑑)βˆ’π‘₯ξ€»2.(15) The Hurst Exponent is obtained by calculating the slope of the line produced by ln(R(𝑛)/S(𝑛)) versus ln(𝑛) for π‘›βˆˆ[2..𝑁]. Hurst Exponent is a scalar feature.

4. Using PyEEG on Real Data

In this section, we use PyEEG on a real EEG dataset to demonstrate its use in everyday research.

The dataset (http://epileptologie-bonn.de/cms/front_content.php?idcat=193&lang=3), from Klinik fΓΌr Epileptologie, UniversitΓ€t Bonn, Germany [22], has been widely used in previous epilepsy research. In total, there are five sets, each containing 100 single-channel EEG segments. Each segment has 4096 samples. Data in sets A and B are extracranial EEGs from 5 healthy volunteers with eyes open and eyes closed, respectively. Sets C and D are intracranial data over interictal periods while Set E over ictal periods. Segments in D are from within the epileptogenic zone, while those in C are from the hippocampal formation of the opposite hemisphere of the brain. Sets C, D, and E are composed from EEGs of 5 patients. The data had a spectral bandwidth of 0.5–85 Hz. Please refer to [22] for more details.

Using PyEEG is like using any other Python module. Users simply need to import PyEEG and then call its functions as needed. PyEEG is provided as a single Python file. Therefore, it only needs to be downloaded and placed under a directory on Python module search paths, such as the working directory. Alternatively, PYTHONPATH environment variable can be set to point to the location of PyEEG.

On Python interpreter, we first import PyEEG and load the data >>> import pyeeg >>> fid = open('Z001.txt', 'r') >>> tmp = fid.readlines() >>> data = [float(k) for k in tmp]

where Z001.txt is the first segment in set A. The data type of data is list. After loading EEG data, we can use PyEEG to extract features as follows (using all default parameters): >>> DFA = pyeeg.dfa(data)>>> DFA 0.81450526948129354>>> Hurst_Exponent = pyeeg.hurst(data) >>> Hurst_Exponent0.68053321812240675>>> PFD = pyeeg.pfd(data)>>> PFD0.58651018327048932

Due to space limitations, we are not able to print all feature values of all EEG segments. Instead, we visualize the averages of the features (except RIR and PSI) within each of the five sets in Figure 2. Error bars represent the variances of features in each set. PSIs for five sets are plotted in Figure 3. Users can replot these pictures and get averages of features on Python interpreter by a testing script (http://code.google.com/p/pyeeg/wiki/TestScript) from our project website.

From Figures 2 and 3, we can see that healthy, interictal, and ictal EEG signals have different distributions for most features. Table 2 lists parameters used in this experiment.


Parameter name Value In feature(s)

π‘˜ m a x 5 HFD

𝜏 4 SVD Entropy
𝑑 𝐸 10 Fisher Information

π‘Ÿ 0 . 3 𝜎 1 A p E n
π‘š 10

𝑓 𝑠 173 Spectral Entropy
𝑏 π‘Ž 𝑛 𝑑 [ 1 , 3 , 5 , … , 8 5 ] PSI and RIR

1 𝜎 is the standard deviation of the EEG segment.

5. Discussion and Future Development

So far, we have listed features that can be extracted by PyEEG and their definitions. Our implementation sticks on their definitions precisely even though faster algorithms may exist. There are many other EEG features, such as Lyapunov Exponents, that have not been yet implemented in PyEEG. More EEG features will be added into PyEEG in the future while we finish unit testing and documentation for each function. In personal emails, some open source projects, such as ConnectomeViewer (http://www.connectomeviewer.org/viewer) and NIPY/PBrain (http://nipy.sourceforge.net/pbrain/), have expressed the interest in including PyEEG into their code. Therefore, we will keep maintaining PyEEG as long as it can benefit the entire computational neuroscience community.

Availability

The software is released under GNU GPL v.3 at Google Code: http://code.google.com/p/pyeeg/. No commercial software is required to run PyEEG. Because Python is cross-platform, PyEEG can run on Linux, Mac OS, and Windows.

References

  1. J. Dauwels, F. Vialatte, and A. Cichocki, β€œA comparative study of synchrony measures for the early detection of Alzheimer's disease based on EEG,” in Proceedings of the 14th International Conference on Neural Information Processing (ICONIP '07), vol. 4984 of Lecture Notes in Computer Science, pp. 112–125, 2008. View at: Publisher Site | Google Scholar
  2. A. A. Petrosian, D. V. Prokhorov, W. Lajara-Nanson, and R. B. Schiffer, β€œRecurrent neural network-based approach for early recognition of Alzheimer's disease in EEG,” Clinical Neurophysiology, vol. 112, no. 8, pp. 1378–1387, 2001. View at: Publisher Site | Google Scholar
  3. F. S. Bao, D. Y. C. Lie, and Y. Zhang, β€œA new approach to automated epileptic diagnosis using EEG and probabilistic neural network,” in Proceedings of the 20th IEEE International Conference on Tools with Artificial Intelligence (ICTAI '08), vol. 2, pp. 482–486, November 2008. View at: Publisher Site | Google Scholar
  4. J. Dauwels, E. Eskandar, and S. Cash, β€œLocalization of seizure onset area from intracranial non-seizure EEG by exploiting locally enhanced synchrony,” in Proceedings of the 31st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC '09), pp. 2180–2183, September 2009. View at: Publisher Site | Google Scholar
  5. A. B. Gardner, A. M. Krieger, G. Vachtsevanos, and B. Litt, β€œOne-class novelty detection for seizure analysis from intracranial EEG,” Journal of Machine Learning Research, vol. 7, pp. 1025–1044, 2006. View at: Google Scholar
  6. C. W. Ko and H. W. Chung, β€œAutomatic spike detection via an artificial neural network using raw EEG data: effects of data preparation and implications in the limitations of online recognition,” Clinical Neurophysiology, vol. 111, no. 3, pp. 477–481, 2000. View at: Publisher Site | Google Scholar
  7. V. Srinivasan, C. Eswaran, and N. Sriraam, β€œApproximate entropy-based epileptic EEG detection using artificial neural networks,” IEEE Transactions on Information Technology in Biomedicine, vol. 11, no. 3, pp. 288–295, 2007. View at: Publisher Site | Google Scholar
  8. F. S. Bao, J. M. Gao, J. Hu, D. Y. C. Lie, Y. Zhang, and K. J. Oommen, β€œAutomated epilepsy diagnosis using interictal scalp EEG,” in Proceedings of the 31st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC '09), pp. 6603–6607, September 2009. View at: Publisher Site | Google Scholar
  9. K. Lehnertz, F. Mormann, T. Kreuz et al., β€œSeizure prediction by nonlinear EEG analysis,” IEEE Engineering in Medicine and Biology Magazine, vol. 22, no. 1, pp. 57–63, 2003. View at: Publisher Site | Google Scholar
  10. E. O'Sullivan-Greene, I. Mareels, D. Freestone, L. Kulhmann, and A. Burkitt, β€œA paradigm for epileptic seizure prediction using a coupled oscillator model of the brain,” in Proceedings of the 31st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC '09), pp. 6428–6431, September 2009. View at: Publisher Site | Google Scholar
  11. F. S. Bao, Y.-L. Li, J.-M. Gao, and J. Hu, β€œPerformance of dynamic features in classifying scalp epileptic interictal and normal EEG,” in Proceedings of 32nd International Conference of IEEE Engineering in Medicine and Biology Society (EMBC '10), 2010. View at: Google Scholar
  12. R. Q. Quiroga, S. Blanco, O. A. Rosso, H. Garcia, and A. Rabinowicz, β€œSearching for hidden information with gabor transform in generalized tonic-clonic seizures,” Electroencephalography and Clinical Neurophysiology, vol. 103, no. 4, pp. 434–439, 1997. View at: Publisher Site | Google Scholar
  13. A. Petrosian, β€œKolmogorov complexity of finite sequences and recognition of different preictal EEG patterns,” in Proceedings of the 8th IEEE Symposium on Computer-Based Medical Systems, pp. 212–217, June 1995. View at: Google Scholar
  14. T. Higuchi, β€œApproach to an irregular time series on the basis of the fractal theory,” Physica D, vol. 31, no. 2, pp. 277–283, 1988. View at: Google Scholar
  15. B. Hjorth, β€œEEG analysis based on time domain properties,” Electroencephalography and Clinical Neurophysiology, vol. 29, no. 3, pp. 306–310, 1970. View at: Google Scholar
  16. T. Inouye, K. Shinosaki, H. Sakamoto et al., β€œQuantification of EEG irregularity by use of the entropy of the power spectrum,” Electroencephalography and Clinical Neurophysiology, vol. 79, no. 3, pp. 204–210, 1991. View at: Google Scholar
  17. S. J. Roberts, W. Penny, and I. Rezek, β€œTemporal and spatial complexity measures for electroencephalogram based brain-computer interfacing,” Medical and Biological Engineering and Computing, vol. 37, no. 1, pp. 93–98, 1999. View at: Google Scholar
  18. C. J. James and D. Lowe, β€œExtracting multisource brain activity from a single electromagnetic channel,” Artificial Intelligence in Medicine, vol. 28, no. 1, pp. 89–104, 2003. View at: Publisher Site | Google Scholar
  19. S. M. Pincus, I. M. Gladstone, and R. A. Ehrenkranz, β€œA regularity statistic for medical data analysis,” Journal of Clinical Monitoring and Computing, vol. 7, no. 4, pp. 335–345, 1991. View at: Publisher Site | Google Scholar
  20. C.-K. Peng, S. Havlin, H. E. Stanley, and A. L. Goldberger, β€œQuantification of scaling exponents and crossover phenomena in nonstationary heartbeat time series,” Chaos, vol. 5, no. 1, pp. 82–87, 1995. View at: Google Scholar
  21. T. Balli and R. Palaniappan, β€œA combined linear & nonlinear approach for classification of epileptic EEG signals,” in Proceedings of the 4th International IEEE/EMBS Conference on Neural Engineering (NER '09), pp. 714–717, May 2009. View at: Publisher Site | Google Scholar
  22. R. G. Andrzejak, K. Lehnertz, F. Mormann, C. Rieke, P. David, and C. E. Elger, β€œIndications of nonlinear deterministic and finite-dimensional structures in time series of brain electrical activity: dependence on recording region and brain state,” Physical Review E, vol. 64, no. 6, Article ID 061907, 8 pages, 2001. View at: Google Scholar

Copyright Β© 2011 Forrest Sheng Bao et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


More related articles

 PDF Download Citation Citation
 Download other formatsMore
 Order printed copiesOrder
Views36149
Downloads4645
Citations

Related articles

We are committed to sharing findings related to COVID-19 as quickly as possible. We will be providing unlimited waivers of publication charges for accepted research articles as well as case reports and case series related to COVID-19. Review articles are excluded from this waiver policy. Sign up here as a reviewer to help fast-track new submissions.