Skip to content

GSOC 2020

Vincze Robert edited this page Dec 16, 2019 · 10 revisions

The Virtual Brain: An open-source simulator for whole brain network modeling.

There are several modeling studies using brain network models which incorporate biologically realistic macroscopic connectivity (the so-called connectome) to understand the global dynamics observed in the healthy and diseased brain measured by different neuroimaging modalities such as fMRI, EEG and MEG.

For this particular modelling approach in Computational Neuroscience, open source frameworks enabling the collaboration between researchers with different backgrounds are not widely available. The Virtual Brain is, so far, the only neuroinformatics project filling that place.

Several open issues addressed by the following proposals involve

  • UI (web, concept, modernize)
  • Backend optimizations(Python, C++)

GSoC 2020 Proposals

[1] Upgrade and fix tvb-gdist C++ library

Description: When TVB runs simulations on cortical surfaces, we need to be able and compute geodesic distances (distance on the surface) instead of the trivial Euclidean distances. For this calculus, we have a small C++ library, which had become outdated. We need to:

  • start with an analysis done by the student if the current implementation should be reused and fixed, or completely replaced, then
  • proceed with the fix/replacement as concluded at the previous step.
    • If we are to fix the current implementation, we need to fix the 6 issues reported on Github during this project, and also
    • make sure the library compiles correctly with the latest version of clang.
  • we need to have unit-test written for the main flows as well as for some common exceptions
  • the unit-tests should run automatically by integration in our CI Jenkins system
  • at the end of this project, also tvb-gdist packages on Pypi and conda-forge should be updated

The current implementation is hosted here:

Expected Results: Completely redo and improve tvb-gdist C++ code, validate the Cython link, redo Pypi packages automatized build, and conda-forge package.

Skills: C++, Cython

Mentors: Robert Vincze, Lia Domide

[2] Reusable visualization tools for Jupyter

Description: TVB's web-based UI provides several very useful visualization tools, which are setup for full screen use. As TVB is used in wider contexts (HBP collaboratory, Jupyter notebooks), it is important to ensure the relevent visualization tools are present everywhere.

This project is to rewrite the widgets in TVB UI to become reusable components which can be employed from a Jupyter notebook for use in the HBP collaboratory, while maintaining compatibility with the existing TVB framework. Tools are to be refactored, choice up to the student, in order of priority

  1. anatomical visualization (surface, connectivity)
  2. time series viewer
  3. the phase plane tool

Use of WebGL (in particular Python/notebook oriented GL tools) are encouraged, where numerous interesting opportunities for optimization are present, e.g. XTK for anatomy, vispy for time series.

Expected results: A set of classes usable within Jupyter notebook, for displaying common data objects via WebGL or WebGL-based libraries. Documentation and usage examples for all created classes.

Skills: Python, WebGL, IPyWidgets, Jupyter

Mentors: Lia Domide, Gabriel??

Further information

TVB's main web site is http://www.thevirtualbrain.com/ and more technical documentation can be found at http://docs.thevirtualbrain.com/

We intend to participate in GSOC 2020 under the INCF organization, as we did in the past years. We thank INCF org admins for making this great experience possible for us!


Clone this wiki locally