Abstract
Background: EEG-driven research is paramount in cognitive-neuropsychological studies, as it provides a non-invasive window to the underlying neural mechanisms of cognition and behavior. A myriad collection of software and hardware frameworks has been developed to alleviate some of the technical barriers involved in EEG-driven research. Methods: we propose an integrated development environment which encompasses the entire technical “data-collection pipeline” of cognitive-neuropsychological research, including experiment design, data acquisition, data exploration and analysis in a state-of-the-art user interface. Our framework is based on a unique integration between a python-based web framework, time-oriented databases and object-based data schemes. Results: we demonstrated our framework with the recording and analysis of an n-Back task completed by 15 elderly (ages 50 to 80) participants. This case study demonstrates the highly utilized nature of our integrated framework with a challenging target population. Furthermore, our results may provide new insights into the correlation between brain activity and working memory performance in elderly people, who are prone to experience accelerated decline in executive prefrontal cortex functioning. Conclusion: our framework extends the range of EEG-driven experimental methods for assessing cognition available for cognitive-neuroscientists, allowing them to concentrate on the creative part of their work instead of technical aspects.
Keywords: Emotiv, Python, working memory in elderly
We propose an integrated development environment which encompasses the entire technical "data-collection pipeline" of cognitive-neuropsychological research, including experiment design, data acquisition, data exploration and analysis in a state-of-the-art user interface. In human subjects testing, our framework extends the range of EEG-driven experimental methods for assessing cognition available for cognitiveneuroscientists, allowing them to concentrate on the creative part of their work instead of technical aspects.

I. Introduction
Electroencephalogram (EEG) recordings of superimposed neuronal electrical activity can be used to provide insights into the cooperative behavior of neurons, which underlie cognition [1]. As it allows to study the connection between the physiology and the mind, EEG is considered a ‘window on the mind’ [2]. EEG was and is still widely utilized in a broad spectrum of applications ranging from neuromarketing [3] and brain-computer interfaces [4] to clinical and psychological studies [5]. Moreover, it is also utilized to modulate behavior and cognition in neurofeedback studies [6]. In clinical psychology settings, EEG is used to study brain processes underlying attention [7], learning [8], and memory [9], as well as their impairments [10].
EEG is widely utilized across cognitive-neuropsychological research, where a participant is often asked to complete computerized interactive stimuli-driven tasks (requiring participants to respond to certain external sensory stimuli), while his brain activity and task-related responses are recorded. These neuropsychological tasks are usually programmed in a dedicated software suite, such as the commercialized E-Prime [11], the open-sourced PsyToolkit [12], or OpenSesame [13]. Researchers have to ensure proper synchronization of the computerized task with EEG recording by either using an extension product to their E-Prime suite, or by programmatically incorporating the recording into their computerized task. This, by sending triggers to mark the timestamp for significant events (e.g., the onset of a trial, presentation of a particular stimulus, etc.) via a dedicated port to the EEG apparatus. Several frameworks were developed for EEG data analysis including SignalPlant [14], EEGNET [15], NIT [16], or the MATLAB-based toolkit FieldTrip [17] - each has its own pros and cons. This research pipeline of task creation, data acquisition, synchronization and analysis are either expensive or involves significant technical expertise.
Over the past few decades EEG technology has evolved from addressing clinicians needs with cumbersome setups which require long assembly time, hair removal and a wired computer, to small, easily assembled, wireless systems, which can be commercialized for meditation or gaming [18]. Due to the high level of subject cooperation and the essential lengthy clinical-EEG procedures which are required in EEG-driven clinical research, medical-grade EEGs are hard to implement in a variety of clinical or pre-clinical settings, particularly in elderly pre-dementia patients, and hospitalized elderly patients. Therefore, several studies evaluated the success of utilizing modified / non-modified commercialized EEGs in clinical settings [19], [20].
Here, we describe a new Integrated Development Environment (IDE), which facilitates task creation, EEG recording, data synchronization and data analysis. Our IDE is based on a Graphical User Interface (GUI) and does not require programming expertise (Figure 1). The framework currently supports three key types of neuropsychological tasks and the Emotiv (San Francisco, U.S.A.) EEG line of products. This open source IDE can be easily extended to support other tasks and equipment. We demonstrated the framework by assessing WM performance, using the
-Back task [21], in a pre-clinical setting on 15 elderly participants.
FIGURE 1.
Workflow schematics. Our integrated development environment facilitates task creation, EEG recording, data synchronization and data analysis. It is based on a graphical user interface and does not require programming expertise. The framework currently supports three key types of neuropsychological tasks: N-back task, open vs close eyes task and affective/emotional processing task using the IAPS image repository. The framework currently supports the Emotiv EEG line of products.
II. Architecture and Implementation
Our proposed IDE facilitates task creation, EEG recording, data synchronization and data analysis and it is based on a server-client model – the server listens to HTTP-based client’s request and return the corresponding webpage. Framework schematics is illustrated in Figure 2. Our framework utilizes the advanced graphical capabilities of the web browser to provide a powerful and elegant user interface. In our current IDE, both the server (application) and the client (user) are on the same computer and are therefore communicating via the ‘local host’ IP address. The IDE’s back-end (server side) was based on Python – one of the most utilized environment for data analysis [22] – and the front-end (client-side) was based on web design using HTML, CSS and Javascript via a web framework. Out of the two most popular Python-based web frameworks: Django and Flask, we chose Flask, due to its smaller size, robustness and extendibility [23]. We extended Flask with the Bootstrap library [24] allowing us to use pattern-based graphical elements, and with the Socket-IO library (Socket.IO) allowing us to use the Websockets protocol [26], which enable duplex server/client communication. To allow our backend to utilize the graphical capabilities of the web-browser, while giving the user at the front-end to benefits the familiarity of desktop-based applications, we used the Chromium Embedded Framework (CEF) [27] via the CEFPython package (CEFPython). CEF allow to embed Chromium-browser in desktop-based applications. We extended CEF the pywin32 package [29] to further enhance our control of the essential application properties (e.g. window size).
FIGURE 2.
Framework schematics. Framework is based on a server-client model, where the server listens to HTTP-based client’s request and return the corresponding webpage, while utilizing the graphical capabilities of the web browser. The IDE’s backend was based on Python and the front-end on HTML, CSS and Javascript via a web framework. Web frameworks is based on Flask, extended with the Bootstrap and Socket-IO libraries. For user interface design we used the Chromium Embedded Framework (CEF) via the CEFPython package, extended with the pywin32 package. We used two type of databases: SQLite via the sqlite3 package and InfluxDB (Time Series Database) via the influxdb-python package. We used the SQLAlchemy, which we embedded in our Flask-based front-end using the Flask-SQLAlchemy package to define an object-based database architecture. We utilized the ‘Cortex API’ to access Emotiv EEG product line. Data visualization was implemented with the Plotly.js and statistical analysis is provided using python’s numerical analysis package NumPy. Data export was implemented using the xlsxwriter package. Pyinstaller package was utilized to provide an executable compiled environment.
Our IDE uses many types of data entities including patient data (ID, age, education level etc.), group information (name, description, patient list etc.), task definition data (stimuli parameters) and task results (EEG data, signal strength, battery level, patient responses etc.). Here we used two type of databases: SQLite [30] and InfluxDB [31]. SQLite is a C/package-based local database, which can be programmed in Python via the sqlite3 package [32]. We used the SQLAlchemy [33], which includes Object-Relational Mapping (ORM) [34], to define an object-based database architecture. SQLAlchemy was embedded in our Flask-based front-end via the Flask-SQLAlchemy package [35]. InfluxDB is Time Series Database (TSDB) in which time-oriented data can be stored [36]. In contrast to other relational databases, TSDB allows for automated management of timestamps, efficient handing of continuous data streams, usage of influxQL queries which make time-based data-retrieval straightforward, and finally, it does not require a scheme (data template). The latter is particularly important here since different tasks generate different data entities and are coupled with different EEG apparatuses (e.g., different number/types of electrodes). We utilized the influxdb via the influxdb-python package [37].
Our framework utilized the ’Cortex API’ [38], which was developed by Emotive, to provide developers with access to their EEG product line. Data visualization was implemented in our IDE with the Plotly.js library [39]. We provide automated statistical analysis on task results, which we implemented using python numerical analysis package NumPy. Data can be exported to Excel for further analysis (implemented with the xlsxwriter package [40]). Finally, we used the Pyinstaller package [41] to provide an executable compiled environment.
III. EEG Apparatus
One of the most accessible EEG lines of products is commercialized by Emotive. The Emotive EPOC was shown to have better accuracy then the common alternatives for control task [42], and it is capable of registering auditory event-related potentials (ERPs), which are comparable to state-of-the-art EEG system [43]. Our IDE currently supports the entire EMOTIV line of products, including the EPOC, Insight and Flex. The most widely utilized consumer-grade EEG device is the Emotiv EPOC headset [18]. The EPOC device has 14 Saline-soaked felt electrodes and two reference electrodes, placed according to the 10–10 international system of EEG electrode placement at AF3, F7, F3, FC5, T7, P7, O1, O2, P8, T8, FC6, F4, F8, and AF4, and references at P3, P4. The internal sampling rate of the device is 2048 Hz, down sampled to 128 Hz. Measurement resolution is 14 bits with 1 LSB
(16-bit ADC, 2 bits instrumental noise floor discarded). Bandwidth range is 0.16 - 43 Hz with digital notch filters at 50 Hz and 60 Hz, and a dynamic range of 8400
(pp). Importantly, the EPOC has a 12 hours battery life, weighted only 1.2 kg. The Emotiv was not designed with ERP collection in mind, and therefore it has no hardware input for signals that allow recordings to be locked to a stimulus [44]. Data acquisition is therefore often modified to allow for research-driven EEG acquisition of distinct functional brain-states [21] and their underlying changes in specific EEG frequency bands under certain scalp electrodes (e.g., such as changes in alpha or theta oscillations during WM task-onset “active” state vs. WM task-offset “resting” state [45]). We note that our system is not unique to the Emotiv line of products and can be easily extended to support other EEG systems.
IV. Neuropsychological Tasks
Our framework currently supports programming of three main types of neuropsychological tasks: N-back task (i.e. executive attention brain states), open vs close eyes task (i.e., resting brain states), and affective/emotional processing task (negative versus positive affect brain states) using the IAPS (Figure 3).
FIGURE 3.
Supported types of neuropsychological tasks include: (top) N-back task, in which participants are sequentially exposed to a series of word-pairs at a fixed time interval, and required to match a single word to a word that appeared
-items ago; (middle) open vs close eyes task, in which patients are instructed, by verbal command, to open or close their eyes for fixed time intervals across fixed number of trials; and (bottom) affective/emotional processing task, in which participants indicate the emotional valence of images within the IAPS repository, by responding as quickly as possible as to whether it was unpleasant, neutral, or pleasant.
The
-Back task may represent a set of cognitive-neuropsychological operations, which were proposed by Kirchner and colleagues back in 1958 [46], aimed at assessing human short-term memory (later extended and modified to examine working memory). It was later used to reliably asses prefrontal cortex brain activity in humans [21]. During the current
-Back task version [21], participants are sequentially exposed to a series of word-pairs (potential targets) (e.g. DOG + CAT) at a fixed time interval. In an unexpected manner they are required to match a single word (probe) to a word that appeared
-items ago within potential targets (i.e. word-pairs). Participants are therefore required to continuously load and unload potential targets in working memory every two seconds. More so, in parallel, involved working memory (WM) neural mechanisms are constantly attempting to inhibit the activation of non-relevant items that appeared in previously encountered non-target displays. Therefore, this type of cognitive effort is likely to recruit executive attention mechanisms, which are conceptualized to endorse the capability to regulate goals in attempt to enable coherent and contextually appropriate behaviors (e.g., correct WM responses) in interference- rich conditions [21]. In our environment a researcher can flexibly program
-Back task parameters and compose the entire task. For example, the following task can be defined with just few clicks: a display of four types of trials ranging from n (1/3 of total trials) to n+3 (1/6 of total trials) stimuli displays that precede the probe onset, where half of the probes are matched, and the rest are not. Resting time (white screen) is defined every twelve trials. Here we used a similar task to find correlations between EEG readings and participant’s correct response time (reaction times), and their response accuracy (hits / correct rejections, total accuracy). Thus, our novel IDE, if validated across time and populations, will enable a non-invasive diagnostic user-friendly assessment of executive cognitive functioning in aging people and possibly in different clinical populations (e.g., pre-dementia patients).
During open/close eyes resting brain-states patients are instructed, by verbal command, to open or close their eyes for fixed time intervals across fixed number of trials. Shifting from open to closed eyes is triggered readings during “open” versus “closed” eyes brain-states with cognitive impairments in aging and Alzheimer’s disease populations [47], as well as in schizophrenia [48].
IAPS is an image repository that is used to elicit emotions and modulate attention in affective-behavioral neuroscience studies [49]. During the task participants indicate the emotional valence of each picture by responding as quickly as possible as to whether it was unpleasant, neutral, or pleasant. A recent study showed high identification rate (>85%) of women that experienced violence, using IAPS triggered EEG measurements [50]. In our environment we used an extended version of IAPS according to a valence-oriented study [49].
V. Environment Description
Full interface description, as well as a detailed tutorial is given as Supplementary information. Briefly, the researcher can specify participants details (with full standard description), groups of participants and tasks. All can be saved or loaded from external files. Once a task is authored and chosen, the system searches for available headsets (via Bluetooth). When a headset is chosen, the EEG contact wizard is loaded, where the contact quality of the electrodes (2D / 3D) is monitored via a standard color scheme. In this wizard, band power from each electrode is recorded and displayed. Finally, a participant (or a group of participants) is chosen and the task is executed. Once data is acquired, data cleaned and analyzed to generate the EEG mean values represented in the results of different frequency bands. Data can be visualized with our data exploration wizard, in which each patient’s behavioral data can be viewed with his EEG data, clicks and colored indication lines for clicked correctly, incorrectly, and avoided. Finally, results can be exported to Excel. Few screen shots are shown in Figure 4.
FIGURE 4.
Chosen screenshots from the integrated development environment, representing a typical workflow with the system. The researcher defines the neuropsychological task using the task authoring tool, ensures good electrodes conductance using the EEG contact wizard, explore acquired data using the data exploration tool and export data statistical data using the data analysis tool.
VI. Demonstration
A typical workflow with our system initiates with designing the neuropsychological task using our task authoring tool. Once the task is specified, the researcher defines the human subjects, individually, or from a previously defined group of subjects. Experiment starts with setting up the EEG equipment, connecting it wirelessly to the framework and then ensuring good electrode conductance using our EEG contact wizard. Once contact level is sufficient, the researcher chooses the desired task and execute it. The system stores the recorded data (EEG and responses (e.g. key presses)). The researcher can aggregate results from different groups, end explore the data using our tasks visualization tool. Finally, data and statistical analysis can be downloaded and explored using our data analysis tool. Full details are given in the supplemental manual.
We exemplified our framework by conducting a 2-Back task (recognizing target from two stimulus-displays ago, for further details see [21]) experiment (approved by Institutional Helsinki Ethics Committee, Herzog Medical Center, Jerusalem, Israel) with 14 elderly participants, aged between 66–83 years old. Participants signed an informed consent and were instructed to respond as fast as possible, by keypress, if they recognize a word-target that appeared within a pair of words from two displays ago. The task was approximately 15 minutes long, including instruction and one practice round of 7 trials. We investigated relationships between their behavioral results (accuracy and reaction time) and their EEG measurements (spectral density power of theta, alpha, beta and gamma frequency bands). We found significant correlations between the participants’ mean reaction time (only for hits) and their mean theta (4-8 Hz) power under left parietal P7 electrode (Spearman’s rho = 0.56,
) during WM “onset” brain state (Figure 5,A) as well as between performance (accuracy, percentage of correct responses) and mean alpha (8-12 Hz) power at left frontal F7 electrode (r =.65, p =.01) during resting periods at WM offset intervals (Figure 5,B). This demonstration exhibits the capacity of our framework for task design, EEG interfacing and synchronization, data recording and analysis. More so, observed changes in EEG oscillations in the current study are supported by previous EEG-memory research [51], and indicated that WM task-related changes in frontal alpha at WM offset periods [45] and left parietal theta activity during WM onset periods are related to verbal WM performance in humans [52].
FIGURE 5.
Framework demonstration. (A) Correlations were found between the participants’ mean reaction time (only for hits) and their mean theta (4-8 Hz) power under left parietal P7 electrode (Spearman’s rho = 0.56,
) during WM “onset” brain state. (B) Correlation between performance (accuracy, percentage of correct responses) and mean alpha (8-12 Hz) power at left frontal F7 electrode (r =.65, p =.01) during resting periods at WM offset intervals.
VII. Discussion
One of the prominent commercial solution for conducting cognitive-neuropsychological research is E-Prime. While proved useful, E-Prime cost money and more importantly is closed for modifications and application-specific tailoring. Open-source software packages extended the available frameworks for cognitive-neuropsychological research with the development of PsyToolkit, which was recently shown to have comparable performance [53]. While open-source frameworks stand as an important milestone for lowering technical and financial barriers in EEG-driven research, this is often not enough. In their seminal paper: “End-User Development (EUD): An Emerging Paradigm” [54], Lieberman and colleagues emphasized user intuition as key to software design in an attempt to make software easy to use and develop. Examples for EUD range from spreadsheets to drag and drop webpages design. We designed our framework with EUD in mind - providing a powerful integrated environment for EEG-driven research.
Current available integrated EEG software framework include the OpenBMI [55], which was built upon MATLAB’s psychophysics toolbox [56] to provide experiment design and data analysis. This however required programming expertise, hardware interfacing and handling the overhead of participants’ data. On the other end, frameworks like Tatool [57], provide framework for experimental design with limited support for data analysis and hardware interfacing. Other framework such as PyGaze [58], CancellationTasks [59], or Sleep [60] provide application specific frameworks for eye-tracking, cancellation tasks and sleep data, respectively. Other frameworks such as the Neuroscience Information Toolbox [61] are focused on providing means for multimodal analysis. The development of EEG hardware also shows a similar trend, where expensive EEG equipment is being replaced by cheaper open sourced alternatives such as the Open Ephys+ EEG apparatus [62] and Creamino [63]. An important milestone for EEG-driven research is the transition from apparatus which are characterized with long electrodes placement time, scalp preparation and a wired cap connected to the computer (via EEG amplifier), to a relatively short long electrodes placement time, user-friendly wireless systems. The latter might open the door to new target populations. Further development of our framework may include an abstract layer which may provide support for other EEG systems via the separation of concerns principle. One such abstraction layer, was proposed by Cassani and colleagues, which developed a standardized hardware interface for EEG systems [64].
Our framework integrates the entire pipeline of cognitive-neuropsychological research, providing state-of-the-art graphical user interface for experiment design, data acquisition, data exploration and analysis. Thus, extending the range of packages available for cognitive neuroscientists, will allow researchers to concentrate on the creative part of their work instead of on time-consuming technical aspects that delay preparation and execution of EEG-driven clinical studies assessing human behavior and cognition.
Appendix
Full description of the framework, a tutorial and installation instructions are given as an appendix to the manuscript.
Funding Statement
This work was supported by the JCT-Herzog Hospital Research Grant.
References
- [1].Buzsáki G., Anastassiou C. A., and Koch C., “The origin of extracellular fields and currents-EEG, ECoG, LFP and spikes,” Nature Rev. Neurosci., vol. 13, no. 6, p. 407, 2012. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [2].Nunez P. L. and Srinivasan R., “A theoretical basis for standing and traveling brain waves measured with human EEG with implications for an integrated consciousness,” Clin. Neurophysiol., vol. 117, no. 11, pp. 2424–2435, Nov. 2006. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [3].Yadava M., Kumar P., Saini R., Roy P. P., and Dogra D. P., “Analysis of EEG signals and its application to neuromarketing,” Multimedia Tools Appl., vol. 76, no. 18, pp. 19087–19111, Mar. 2017. [Google Scholar]
- [4].Liu X., Zhang M., Subei B., Richardson A. G., Lucas T. H., and Van der Spiegel J., “The PennBMBI: Design of a general purpose wireless brain-machine-brain interface system,” IEEE Trans. Biomed. Circuits Syst., vol. 9, no. 2, pp. 248–258, Apr. 2015. [DOI] [PubMed] [Google Scholar]
- [5].Parsons T. D., Clinical Neuropsychology and Technology. Cham, Switzerland: Springer, 2016. [Google Scholar]
- [6].Enriquez-Geppert S., Huster R. J., and Herrmann C. S., “EEG-neurofeedback as a tool to modulate cognition and behavior: A review tutorial,” Frontiers Hum. Neurosci., vol. 11, p. 51, Feb. 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [7].Ko L.-W., Komarov O., Hairston W. D., Jung T.-P., and Lin C.-T., “Sustained attention in real classroom settings: An EEG study,” Frontiers Hum. Neurosci., vol. 11, p. 388, Jul. 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [8].Spüler M., Walter C., Rosenstiel W., Gerjets P., Moeller K., and Klein E., “EEG-based prediction of cognitive workload induced by arithmetic: A step towards online adaptation in numerical learning,” ZDM, vol. 48, no. 3, pp. 267–278, Jan. 2016. [Google Scholar]
- [9].Brokaw K., Tishler W., Manceor S., Hamilton K., Gaulden A., Parr E., and Wamsley E. J., “Resting state EEG correlates of memory consolidation,” Neurobiol. Learn. Memory, vol. 130, pp. 17–25, Apr. 2016. [DOI] [PubMed] [Google Scholar]
- [10].Loo S. K., Lenartowicz A., and Makeig S., “Research review: Use of EEG biomarkers in child psychiatry research–current state and future directions,” J. Child Psychol. Psychiatry, vol. 57, no. 1, pp. 4–17, Jun. 2015. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [11].Taylor P. J. and Marsh J. E., “E-prime (software),” Int. Encyclopedia Commun. Res. Methods, pp. 1–3, Apr. 2017. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/9781118901731.iecrm0085
- [12].Stoet G., “PsyToolkit: A software package for programming psychological experiments using Linux,” Behav. Res. Methods, vol. 42, no. 4, pp. 1096–1104, Nov. 2010. [DOI] [PubMed] [Google Scholar]
- [13].Mathôt S., Schreij D., and Theeuwes J., “OpenSesame: An open-source, graphical experiment builder for the social sciences,” Behav. Res. Methods, vol. 44, no. 2, pp. 314–324, 2012. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [14].Plesinger F., Jurco J., Halamek J., and Jurak P., “SignalPlant: An open signal processing software platform,” Physiol. Meas., vol. 37, no. 7, pp. N38–N48, May 2016. [DOI] [PubMed] [Google Scholar]
- [15].Hassan M., Shamas M., Khalil M., El Falou W., and Wendling F., “EEGNET: An open source tool for analyzing and visualizing M/EEG connectome,” PLoS ONE, vol. 10, no. 9, Sep. 2015, Art. no. e0138297. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [16].Dong L., Luo C., Liu X., Jiang S., Li F., Feng H., Li J., Gong D., and Yao D., “Neuroscience information toolbox: An open source toolbox for EEG–fMRI multimodal fusion analysis,” Frontiers Neuroinform., vol. 12, p. 56, Aug. 2018. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [17].Oostenveld R., Fries P., Maris E., and Schoffelen J.-M., “FieldTrip: Open source software for advanced analysis of MEG, EEG, and invasive electrophysiological data,” Comput. Intell. Neurosci., vol. 2011, pp. 1–9, Dec. 2011. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [18].Maskeliunas R., Damasevicius R., Martisius I., and Vasiljevas M., “Consumer grade EEG devices: Are they usable for control tasks?” PeerJ, vol. 4, p. e1746, Mar. 2016. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [19].Ratti E., Waninger S., Berka C., Ruffini G., and Verma A., “Comparison of medical and consumer wireless EEG systems for use in clinical trials,” Frontiers Hum. Neurosci., vol. 11, p. 398, Aug. 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [20].Barham M. P., Clark G. M., Hayden M. J., Enticott P. G., Conduit R., and Lum J. A. G., “Acquiring research-grade ERPs on a shoestring budget: A comparison of a modified emotiv and commercial SynAmps EEG system,” Psychophysiology, vol. 54, no. 9, pp. 1393–1404, May 2017. [DOI] [PubMed] [Google Scholar]
- [21].Meiron O. and Lavidor M., “Unilateral prefrontal direct current stimulation effects are modulated by working memory load and gender,” Brain Stimulation, vol. 6, no. 3, pp. 440–447, May 2013. [DOI] [PubMed] [Google Scholar]
- [22].Nagpal A. and Gabrani G., “Python for data analytics, scientific and technical applications,” in Proc. Amity Int. Conf. Artif. Intell. (AICAI), Dubai, Feb. 2019, pp. 140–145. [Google Scholar]
- [23].Grinberg M., Flask Web Development: Developing Web Applications With Python. Newton, MA, USA: O’Reilly Media, 2018. [Google Scholar]
- [24].Bootstrap. Bootstrap Documentation. Accessed: May 8, 2020. [Online]. Available: https://getbootstrap.com/docs/4.3/getting-started/introduction/
- [25].I. O. Socket. Socket.IO Documentation. Accessed: May 8, 2020. [Online]. Available: https://socket.io/docs/
- [26].Pimentel V. and Nickerson B. G., “Communicating and displaying real-time data with websocket,” IEEE Internet Comput., vol. 16, no. 4, pp. 45–53, Jul. 2012. [Google Scholar]
- [27].Chromium Embedded Framework. Accessed: May 8, 2020. [Online]. Available: https://bitbucket.org/chromiumembedded/cef/wiki/Home
- [28].CEFPython. Accessed: May 8, 2020. [Online]. Available: https://github.com/cztomczak/cefpython
- [29].Pywin32. Accessed: May 8, 2020. [Online]. Available: https://github.com/mhammond/pywin32
- [30].SQLite Documentation. Accessed: May 8, 2020. [Online]. Available: https://www.sqlite.org/about.html
- [31].InfluxDB Documentation. Accessed: May 8, 2020. [Online]. Available: https://docs.influxdata.com/influxdb/v1.7/concepts/key_concepts/
- [32].sqllite3 Documentation. Accessed: May 8, 2020. [Online]. Available: https://docs.python.org/2/library/sqlite3.html
- [33].SQL Alchemy Documentation. Accessed: May 8, 2020. [Online]. Available: https://www.sqlalchemy.org/develop.html
- [34].Ezra Tsur E., “Rapid development of entity-based data models for bioinformatics with persistence object-oriented design and structured interfaces,” BioData Mining, vol. 10, no. 1, Mar. 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [35].Flask-SQLAlchemy Documentation. Accessed: May 8, 2020. [Online]. Available: https://flask-sqlalchemy.palletsprojects.com/en/2.x/
- [36].Han J., Dong G., and Yin Y., “Efficient mining of partial periodic patterns in time series database,” in in Proc. Int. Conf. Data Eng., Sydney, NSW, Australia, 1999, pp. 106–115. [Google Scholar]
- [37].Influxdb-Python Documentation. Accessed: May 8, 2020. [Online]. Available: https://github.com/influxdata/influxdb-python
- [38].Cortex API Documentation. Accessed: May 8, 2020. [Online]. Available: https://emotiv.github.io/cortex-docs/#introduction
- [39].Plot.js Documentation. Accessed: May 8, 2020. [Online]. Available: https://plot.ly/javascript/
- [40].xlsxwriter Documentation. Accessed: May 8, 2020. [Online]. Available: https://xlsxwriter.readthedocs.io/
- [41].Pyinstaller Documentation. Accessed: May 8, 2020. [Online]. Available: https://www.pyinstaller.org/documentation.html
- [42].Maskeliunas R., Damasevicius R., Martisius I., and Vasiljevas M., “Consumer grade EEG devices: Are they usable for control tasks?” PeerJ, vol. 4, p. e1746, Mar. 2016. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [43].Badcock N. A., Preece K. A., de Wit B., Glenn K., Fieder N., Thie J., and McArthur G., “Validation of the emotiv EPOC EEG system for research quality auditory event-related potentials in children,” PeerJ, vol. 3, p. e907, Apr. 2015. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [44].Burnet D. H. and Turner M. D., “Expanding EEG research into the clinic and classroom with consumer EEG Systems,” Georgia State Univ, Atlanta, GA, USA, Tech. Rep., 2017. [Google Scholar]
- [45].Klimesch W., “EEG alpha and theta oscillations reflect cognitive and memory performance: A review and analysis,” Brain Res. Rev., vol. 29, nos. 2–3, pp. 169–195, Apr. 1999. [DOI] [PubMed] [Google Scholar]
- [46].Kirchner W. K., “Age differences in short-term retention of rapidly changing information,” J. Experim. Psychol., vol. 55, no. 4, pp. 352–358, 1958. [DOI] [PubMed] [Google Scholar]
- [47].Babiloni C., Lizio R., Vecchio F., Frisoni G. B., Pievani M., Geroldi C., Claudia F., Ferri R., Lanuzza B., and Rossini P. M., “Reactivity of cortical alpha rhythms to eye opening in mild cognitive impairment and Alzheimer’s disease: An EEG study,” J. Alzheimer’s Disease, vol. 22, no. 4, pp. 1047–1064, Jan. 2011. [DOI] [PubMed] [Google Scholar]
- [48].Venables N. C., Bernat E. M., and Sponheim S. R., “Genetic and disorder-specific aspects of resting state EEG abnormalities in schizophrenia,” Schizophrenia Bull., vol. 35, no. 4, pp. 826–839, Apr. 2008. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [49].Calvo M. G. and Avero P., “Reaction time normative data for the IAPS as a function of display time, gender, and picture content,” Behav. Res. Methods, vol. 41, no. 1, pp. 184–191, Feb. 2009. [DOI] [PubMed] [Google Scholar]
- [50].López J. M. L., Cárdenas-Poveda D. C., Triviño M. P. A., González-Álvarez A., Rizo-Arévalo A., Prado-Rivera M. A., Mejía-Soto E., Velazquez-Perez J. L., and Espitia C., “Induced EEG activity during the IAPS tests and avEMT in intimate partner violence against women,” in Proc. 14th Int. Symp. Med. Inf. Process. Anal., Dec. 2018, Art. no. 1097507. [Google Scholar]
- [51].Klimesch W., Vogt F., and Doppelmayr M., “Interindividual differences in alpha and theta power reflect memory performance,” Intelligence, vol. 27, no. 4, pp. 347–362, Dec. 1999. [Google Scholar]
- [52].Jacobs J., Hwang G., Curran T., and Kahana M. J., “EEG oscillations and recognition memory: Theta correlates of memory retrieval and decision making,” NeuroImage, vol. 32, no. 2, pp. 978–987, Aug. 2006. [DOI] [PubMed] [Google Scholar]
- [53].Kim J., Gabriel U., and Gygax P., “Testing the effectiveness of the Internet-based instrument PsyToolkit: A comparison between web-based (PsyToolkit) and lab-based (E-prime 3.0) measurements of response choice and response time in a complex psycholinguistic task,” PLoS ONE, vol. 14, no. 9, Sep. 2019, Art. no. e0221802. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [54].Lieberman H., Paternò F., Klann M., and Wulf V., “End-user development: An emerging paradigm,” in End User Development. Dordrecht, The Netherlands: Springer, 2006, pp. 1–8. [Google Scholar]
- [55].Lee M.-H., Fazli S., Kim K.-T., and Lee S.-W., “Development of an open source platform for brain-machine interface: OpenBMI,” in Proc. 4th Int. Winter Conf. Brain-Comput. Interface (BCI), Yongpyong, South Korea, Feb. 2016, pp. 1–2. [Google Scholar]
- [56].Psychophysics Toolbox. [Online]. Available: http://psychtoolbox.org
- [57].von Bastian C. C., Locher A., and Ruflin M., “Tatool: A java-based open-source programming framework for psychological studies,” Behav. Res. Methods, vol. 45, no. 1, pp. 108–115, Jun. 2012. [DOI] [PubMed] [Google Scholar]
- [58].Dalmaijer E. S., Mathôt S., and Van der Stigchel S., “PyGaze: An open-source, cross-platform toolbox for minimal-effort programming of eyetracking experiments,” Behav. Res. Methods, vol. 46, no. 4, pp. 913–921, Nov. 2013. [DOI] [PubMed] [Google Scholar]
- [59].Dalmaijer E. S., Van der Stigchel S., Nijboer T. C. W., Cornelissen T. H. W., and Husain M., “CancellationTools: All-in-one software for administration and analysis of cancellation tasks,” Behav. Res. Methods, vol. 47, no. 4, pp. 1065–1075, Nov. 2014. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [60].Combrisson E., Vallat R., Eichenlaub J.-B., O’Reilly C., Lajnef T., Guillot A., Ruby P. M., and Jerbi K., “Sleep: An open-source Python software for visualization, analysis, and staging of sleep data,” Frontiers Neuroinform., vol. 11, p. 60, Sep. 2017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [61].Dong L., Luo C., Liu X., Jiang S., Feng H., Li J., Gong D., and Yao D., “Neuroscience information toolbox: An open source toolbox for EEG–fMRI multimodal fusion analysis,” Frontiers Neuroinform., vol. 12, p. 56, Aug. 2018. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [62].Black C., Voigts J., Agrawal U., Ladow M., Santoyo J., Moore C., and Jones S., “Open ephys electroencephalography (Open ephys + EEG): A modular, low-cost, open-source solution to human neural recording,” J. Neural Eng., vol. 14, no. 3, Mar. 2017, Art. no. 035002. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [63].Chiesi M., Guermandi M., Placati S., Scarselli E. F., and Guerrieri R., “Creamino: A cost-effective, open-source EEG-based BCI system,” IEEE Trans. Biomed. Eng., vol. 66, no. 4, pp. 900–909, Apr. 2019. [DOI] [PubMed] [Google Scholar]
- [64].Cassani R., Banville H., and Falk T. H., “MuLES: An open source EEG acquisition and streaming server for quick and simple prototyping and recording,” in Proc. 20th Int. Conf. Intell. User Interfaces Companion (IUI Companion), Atlanta, GE, USA, 2015, pp. 9–12. [Google Scholar]





