GSoC 2021 Project Idea 22.1: Cognitive Neuroscience Experiments with Mobile EEG Neurotechnology

EEG-Notebooks is a Python-based library developed by the NeuroTechX community for running cognitive neuroscience experiments with low-cost mobile EEG devices. It is intended as a tool for research, medical applications, and education - with the goal of making cognitive neuroscience and neurotechnology more accessible, affordable, and scalable. EEG-Notebooks is built around the standard Scientific Python and Neuroimaging-in-Python software stack (numpy, scipy, pandas, scikit-learn, MNE), and uses Psychopy for stimulus delivery and programming of experimental paradigms.

This GSoC project will focus on extending the experiment repertoire of eeg-notebooks, by porting the high-quality research paradigm implementations (face perception, auditory oddball, visual search, word pair judgment, flanker task) from the ERP-core platform. Additionally, the project will also develop novel statistical data analysis and machine learning analyses of various datasets shipped with the library.

Candidates should have experience with Python, data analysis, and EEG and/or behavioural/psychological experiments. Access to EEG hardware is not essential. The project will provide excellent experience and training for students interested in pursuing research in human neuroimaging, cognitive and clinical neuroscience, and brain-computer interfaces.

Lead Mentor: John Griffiths @John_Griffiths
Co-Mentor: Morgan Hough @mhough

Tags: Python, EEG, Neurotechnology, Data Analysis, Machine Learning, Cognitive Neuroscience, EEG-Notebooks, electrophysiology

3 Likes

Hello
Very interesting project, I’d been doing similar things but using Emotiv.
Whose ERP-platform will be used? In what form research paradigms are now?

@John_Griffiths @mhough
Sad to see no response, but I still would like to know more. How machine learning and data alalyzes algorithms are supposed to use? Are those supposed to be completely independent tools? Or it should be sort of mediator between research paradigms and already existed analysis tools of say MNE?

Hi @PilyuginaNina ,
We are reaching out to the mentors of this project and hopefully they will reply soon.

Thanks,
Arnab

Hi PilyuginaNina.

Thanks for your interest!

As to your Qs:

Whose ERP platform will be used?

If by platform, you mean software: eeg-notebooks is the platform.
If you mean hardware: we have mostly been working with Muse and OpenBCI devices, but eeg-notebooks supports several devices (see the documentation). Not Emotiv though, I’m afraid.

How machine learning and data alalyzes algorithms are supposed to use? Are those supposed to be completely independent tools? Or it should be sort of mediator between research paradigms and already existed analysis tools of say MNE?

We are looking to implement new functions in eeg-notebooks based on scikit-learn, scipy.stats, pytorch/tensorflow, and/or other core python data analysis packages. This could also include borrowing analyses and functions from MNE (which is already a dependency). Lots of options here.

@John_Griffiths thank you for your response.
So as I understand, you would like to implement new functions base on existed packages not on developing it form the scratch?
Are there any specific functions you are planning to implement in the first place? There are mostlyevoked response examples now, would you like to continue explore those or develop something new like some specific source modelling or data analyzes methods?
Also, Visual Go-No-Go experiments gives only empty zip file with nothing inside for downloading.
Moreover, seems hat Muse information on the krigolsonlab is outdated. Do you use now the old version of Muse? Are there any version conflicts problems with other BCI devices?

If from scratch you mean implementing new statistical analysis methods in pure numpy, no we are not looking to do that.

The main focus of the project, as described in the ad, will be porting over the experiments from ERP core into our psychopy-based experiment format.

Thanks for spotting the issues with GoNoGo. We will loo into this.

Yes, eeg-notebooks supports all muse versions (muse 2016, muse 2, muse S). Muse 2016 is not outdated and is still the most widely available model. In any case there are no version conflicts between muse models; they all work.

@John_Griffiths @mhough
Hello, I am Sumalyo, Electronics and Communication Engineering undergrad (3rd year), I am into Neural Signal Processing and EEG data analysis using classical techniques and deep learning methods. (I code in Python mostly with some experience in OpenBCI MNEand PsychoPy. I occasionally use MATLAB based toolboxes too). I have been doing some research lately into Deep Learning based analysis of EEG Features for Workload Estimation related studies. I think that could be quite useful in this project. Also a while ago I was looking into a python library “pyprf”. It has Tensorflow based support for data analysis with stimulus presentation in Psychopy. Could we do something like that while porting the experiments from ERP Core?? I am interested to contribute to this project. Thank you. Please let me know If I have gone wrong somewhere or misunderstood something about the project…Thank you

Dear @John_Griffiths , @mhough and all,
I am very interested in taking part in GSoC, and since I’m not yet sure how to apply, I start by introducing myself and explaining a bit about my background.
I have a B.Sc. in electrical engineering, an M.Sc. in biomedical engineering and I am currently a research assistant, working on combining EEG and eye tracking in decision making experiments.
I have solid experience with EEG recording and processing in several paradigms. I have designed brain-computer interfaces based on SSVEP and ERP (visual, auditory and tactile) and I have been working with Python for my recordings and processings.
So far I have worked with different EEG recording devices such as g.tec, brain amp and emotiv.
I have been in charge of conducting experiments from the designing to recording, processing and statistical analysis.
I would very much like to have the chance to join the GSoC to deepen my hands-on experiences and knowledge with mobile EEG.
I would appreciate your guidane if you could kindly let me know how the enrollment is done and what steps I have to take.
All the bests,
Zahra

Looks like a great project! I’ll be checking it out - thanks.

Hey @John_Griffiths @mhough,

My name is Nina. I am very interested in this project and would like to apply for this project in GSoC!
A short self-intro - I am currently a master student majored in human centered AI, my study interests are cognitive modeling and machine learning. I graduated from CS bachelor, so I am very familar with python and the libraries that have mentioned in the post. I have also has experiences with psychopy and currently I am doing bayesian modeling on audiovisual data.
I am wondering is this project still open and what could we prepare beforehead at this step (papers, github projects)?

Best,
Nina

Good Afternoon @John_Griffiths and @mhough

My name is Andrew Ude. In short, I am a 3rd year PhD student at Rutgers University using ERPs to assess cognitive changes associated with exercise and physical activity in depressed/anxious populations. As you can imagine, mobile, efficient and consolidated EEG acquisition is important to the future of our work.

I hope this is the right format to reach out as I am very interested in the opportunity and would like to formally apply.

Best,
Andrew

Hello @John_Griffiths and @mhough,

My name is Geoffrey Lizar, and I am a graduating undergrad at UCSD, currently working with Dr. Seana Coulson to analyze ERP data in EEGLab/ERPLab. I have written automated scripts to do artifact rejection and signal averaging using this software, and I have also been an instructor for an Introduction to Python course here at UCSD and have been actively expanding my Python/Data Science experience for over a year (including a foray into PsychoPy for my honors project).

In addition to my technical skills, I have also taken multiple courses discussing EEG and ERP experiments, exploring both the theory and practical design sides of the topic. This has been primarily, though not entirely, to do with language comprehension.

I would be overjoyed at the chance to continue growing my skillset and resume as I prepare to apply for grad school next year and move forward into the research field. Please reach out (or let me know how I can) if you believe I would be a good fit for the position!

Geoffrey Lizar

Hello @John_Griffiths and @mhough,

My name is James D. Rounds, and I would also like to express my interest in this Summer Internship position. I’m at the end of my 3rd of a PhD program in developmental and cognitive psychology at Cornell University, and I’m passionate about real-world applications for neurotechnology, specifically educational interventions. For the past 8 years, I’ve been helping design, code, implement, analyze and publish experiments with wireless mobile EEG, and wired EEG, along with other modes of psychophysiology and neuroimaging. I primarily code in MATLAB, Python and R, and have used PsychoPy extensively, along with scikit-learn, scipy, and numpy. I think this summer internship sounds fascinating, and a great way to further my skills in a challenging and productive environment. Hope to talk to you soon! Happy to send my CV and any other materials along that you’d like.

  • James

Hello @John_Griffiths and @mhough,

My name is Kushaal Rao, and I am an undergrad at UC Davis majoring in cognitive science with a double minor in neuroscience and computer science. I am currently working under Dr. Steve Luck collecting and analyzing ERP data on visual attention and working memory experiments. I have experience working with ERP toolboxes in matlab as well as signal processing and data analysis in python using libraries like MNE, Sci-kit learn, Numpy, etc…

As an undergraduate research assistant in Dr. Steve Luck’s Lab, I am very familiar with the ERP experimental paradigm and classic experiments such as the N170 and P3b, and I think I can bring great value in bridging the gap between experiments and connections from his lab and the NTX’s open source community. In addition, I also participated in Neuromatch Academy last summer, so I have prior experience in computational neuroscience and ML modeling.

As the co-founder and president of Neurotech@Davis, one of NTX’s student chapters, I also own Muse and OpenBCI hardware, and I am comfortable writing python scripts to run experiments that are compatible for these devices.

I have briefly worked with Morgan on EEG Notebooks before, and I was wondering, as of now, how many such ERP experiments have already been ported onto EEG notebooks?

Dear all who have expressed interested in the GSoC eeg-notebooks project,

We are now moving into the student applications phase of the GSoC timeline.

Those wishing to apply for the position will need to prepare and submit their application materials, which include their CV and a proposal statement.

The proposal should be based on the project brief at the top of this thread, and include the specific directions you would be interested to take, given your skills, knowledge and interests. You will be assessed on both your CV and the quality of your proposal statement.

You are also encouraged to seek feedback on your proposal statement. If you would like feedback on your proposal, please place it in a google doc and invite me (j.davidgriffiths@gmail) to edit by this coming Friday 2nd April. Please add comments with specific pointers on things you are unsure about and would like feedback on.

Good luck!

John

Thank you John! Do you mean this Friday, April 2nd?

Thanks for catching that James! Corrected in the original message.

1 Like

Thanks @John_Griffiths
One question about the CV, where should we upload the CV? I didn’t find a place to upload CV in GSoC website.
Best,
Nina

1 Like

Yes - sorry you’re right. Please send your CVs to me (above e-mail), at the same time you send me your proposal drafts.

2 Likes