GSoC 2022 Project Idea 12.1: Build new GUI using ipywidgets (350 h)

Human Neocortical Neurosolver (HNN) is a software for interpreting the neural origin of macroscale magneto-/electro-encephalography (MEG/EEG) data using biophysically-detailed microcircuit simulations. HNN can be run through a user-friendly graphical user interface or through a Python interface HNN-core.

Mailing list(s): https://groups.google.com/g/hnnsolver

Goal: The aim of this project is to build a new GUI with the same functionality as the current HNN, using the HNN-core API and following best practices in open source software design.

Subgoals:

Start from: https://github.com/jonescompneurolab/hnn-core/pull/76

  • Run HNN-GUI tutorials with old as well as new GUI to identify and implement functionality that missing
  • Build new GUI components based on identified weaknesses in new GUI. This includes implementing dialog boxes for optimization, displaying waveforms from previous simulations
  • Write tests for the GUI using “fake clicks” and incorporate them in continuous integration
  • Extra credit: Test GUI over remote cluster connection, incorporate new API elements in GUI such as viewing connectivity matrices and modifying connectivity

Difficulty: Medium

Duration: 350 hours (full time)

Skills: Some experience in GUI development such as matplotlib, ipywidgets or PySimpleGUI may be helpful but not necessary. Experience in neuroscience is also helpful but not required.

Possible mentors: Mainak Jas, Stephanie Jones @Stephanie_Jones

Tech keywords: Python, GUI

Greetings !
I am a freshman and went through the project and would love to be a part of it, I have experience in Python and can learn the other requirements as required.

Looking forward for your response.

Regards,

Hi Utkarsh,

That sounds great. Could you “watch” the HNN-core repository on github so you can get emails and get a sense of the discussions around the project? Also, as you know GSoC requires a patch to be accepted before putting in the application. You can browse the easy issues on our github page and comment on the issue if you’d like to attempt. They are marked as “good first issue”. We are happy to help!

Mainak