-
Notifications
You must be signed in to change notification settings - Fork 53
GSoC Ideas
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.
IRC channel: https://gitter.im/jonescompneurolab/hnn-core
Mailing list(s): https://groups.google.com/g/hnnsolver
Intermediate
350 hours (full time)
Python, some experience in neuroscience data analysis may be helpful
The current IO routines in HNN-core are fragmented as they were adapted from HNN-GUI. The goal is to develop IO routines adapted from HNN-core objects while maintaining backwards compatibility with HNN-GUI.
- Develop a method to write
cell_response
object and read from it. It should be able to handle multiple trials and be able to plot rasters after reading from a saved file. - Develop a function to write and read from
Dipole
andExtracellularArray
. It should be able to handle multiple trials. The format should be standardized between the two objects as much as possible. - Develop a function to write and read
Network
object. It should be based onhdf5
and use the h5io library. - Document each of the IO formats in an rst document and develop tests for each function.
- Bonus: Develop a function to write
Network
object to NeuroML format and test that it can be loaded in NetPyne
Related issues:
- https://github.com/jonescompneurolab/hnn-core/issues/465
- https://github.com/jonescompneurolab/hnn-core/issues/341
- https://github.com/jonescompneurolab/hnn-core/issues/374
Intermediate
350 hours (full time)
Python, some experience in neuroscience data analysis may be helpful
Ryan Thorpe, Nicholas Tolley, Mainak Jas
HNN-core currently lacks the ability to perform parameter optimization on rhythmic/bursty and poisson drive configurations. The goal is to add this functionality and generalize the optimization routine to encompass all types of exogenous drive parameters that are used to configure model simulation outputs.
- Develop functions,
optimize_rhythmic
andoptimize_poisson
, that can be used to optimize the parameters associated with each of these drive types, respectively. Inspiration can be drawn from the current implementation ofoptimized_evoked
, however, the optimization routines for rhythmic and poisson drives will not necessarily leverage the sequential design used for a sequence of evoked drives. - Consolidate the different optimization functions as much as possible, producing a clear API with minimal redundancies. This should also allow the user to constrain parameter ranges and run simple parameter sweeps by specifying or eliminating the optimization cost function.
- Create a function for visualizing the parameter changes pre-to-post optimization.
- Document the optimization routines with examples and develop tests for each function.
Related issues: https://github.com/jonescompneurolab/hnn-core/issues/140 https://github.com/jonescompneurolab/hnn-core/issues/176 https://github.com/jonescompneurolab/hnn-core/issues/423 https://github.com/jonescompneurolab/hnn-core/issues/466 https://github.com/jonescompneurolab/hnn-core/issues/567