# GSoC 2024 - aeon-neuro Gabriel ###### tags: `aeon-gsoc` __Contributor:__ Gabriel Riegner __GSoC page:__ https://summerofcode.withgoogle.com/programs/2024/projects/htrPCGOM __Project:__ Machine learning from EEG with aeon-neuro __Project length:__ 16 Weeks __Mentors:__ Tony Bagnall, Aiden Rushbrooke, Matthew Middlehurst __Mid-project evaluation:__ Friday, July 26 __Final evaluation:__ Monday, September 23 __Blog link:__ https://gist.github.com/griegner/c414f77d957dea73b84dcd80d580b602 __Regular meeting time:__ Fridays at 15:30 UTC ## Project Summary Develop aeon-neuro to provide structured tools for machine learning from neural data. This project will focus on implementing algorithms for EEG classification by building on the multivariate classification algorithms outlined in Rushbrooke 2023. This paper demonstrates that existing time series models implemented in aeon can successfully classify patients from healthy individuals using frequency domain features alone, eliminating the need for detailed time domain feature selection. In addition to applying existing machine learning models to EEG datasets, we will further develop aeon-neuro to be more accessible to the scientific research community by interfacing it with existing data formatting standards (BIDs) and EEG analysis libraries (MNE). Alongside these primary outcomes, we will adhere to best practices in research software development, including writing well-test code, consistent documentation, and user-facing examples/notebooks. ## Project Timeline Broad goal: to develop aeon-neuro as a tool for machine learning from EEG. The general pattern will be to develop specific tools for EEG in neuro and port in anything more general to aeon. Focus is on classification. General EEG goals: channel selection: assess and develop algorithms data sets: get more EEG classification problems algorithms: implement/include existing techniques Reimann: https://github.com/aeon-toolkit/aeon-neuro/issues/24 Deep Learning: https://github.com/aeon-toolkit/aeon-neuro/issues/30 https://github.com/aeon-toolkit/aeon-neuro/issues/18 https://jmlr.csail.mit.edu/papers/volume8/grauman07a/grauman07a.pdf Prior to start we need to discuss objectives. EEG and meditation? https://griegner.github.io/ ### Week 1-2 Onboarding, familiarity with aeon and aeon-neuro ### Week 3-4 Setup and tidy up the package: - some basic CI set up - docs and testing, eg. https://github.com/aeon-toolkit/aeon-neuro/issues/54 - set up readthedocs - release it on pypi as v0.0.1 Base off the processes used on aeon proper. Prepare a first full pipeline example, from a collection of EEG data to a classifier problem, with fully described steps. ### Week 5-6 ### Week 7-8 ### Mid-project Deliverables ### Week 9-10 ### Week 11-12 ### Week 13-14 ### Week 15-16 ### Final Deliverables ## Community Bonding Period - [x] Introduce yourself in the community Slack channels. Use __#introductions__ to introduce youself to the wider community if you have not already and __#summer-2024__ to introduce yourself and your project to other students and mentors. - [x] Go through the contributor guide on the _aeon_ website (https://www.aeon-toolkit.org/en/stable/contributing.html). - [x] Set up a development environment, including _pytest_ and _pre-commit_ dependencies. (https://www.aeon-toolkit.org/en/stable/developer_guide/dev_installation.html). - [x] Claim some medium term PRs in light of project goals. Some suggestions: - https://github.com/aeon-toolkit/aeon/issues?q=is%3Aopen+is%3Aissue+label%3A%22channel+selection%22 - https://github.com/aeon-toolkit/aeon-neuro/issues - [x] Decide on project objectives through discussion with team . - channel selection: assess and develop algorithms - data sets: get more EEG classification problems - algorithms: implement/include existing techniques - EEG and meditation - [x] Decide on a project length (https://developers.google.com/open-source/gsoc/help/project-dates). - [ ] Refine the project timeline and deliverables with the project mentors. Agree on some milestones for both mid-project and final evaluations. - [x] Update the GSoC webpage project to better match any new directions after discussions with mentors. - [x] Select a tracking/blogging medium to write down and track progress made on the project. Agree on a frequency of updates. - [x] Set up regular meeting days and times to discuss the project and track progress. ## Week 1: 27th May Unavailable ## Week 2: 3rd June Held a general aeon-neuro meeting with other project students and developers, as well as a GSoC specific meeting. Not fully starting yet due to other obligations, but can begin setup of aeon-neuro and tidy it for when we begin proper. ## Week 3: 10th June