Skip to content

GSOC 2016

Lia Domide edited this page Oct 16, 2017 · 14 revisions

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

The Virtual Brain (TVB) is one of the few open source neuroinformatics platforms used to simulate whole brain dynamics. Models are not limited to the human brain but researchers can also work with the macaque's or the rodent's connectome. Models based on biologically realistic macroscopic connectivity will hopefully help us to understand the global dynamics observed in the healthy and diseased brain. Whether you are interested in beautiful visualizations or differential equations, you can join us and help us improve!

Several open issues addressed by the following proposals involve:

  • improving performance
  • enhancing data IO and visualization

GSoC 2016 Proposals

[1] Visualize a large Connectivity

Description Data visualization plays a crucial role in TVB's neuroinformatics platform, and a connectivity is a core datatype, modeling a full brain. An interaction paradigm needs to be proposed, as well as the implementation needs to be done for such a connectivity visualizer in the browser client of TVB. We need to easily display and interact with up to 1000 regions in a connectivity (1000^2 adjacency matrix). Rendering performance as well as per-element interaction is important.

Skills required: HTML/JS/CSS & Python; Experience in web development, JQuery, SVG, WebGL, as well as server side frameworks such as CherryPy, is helpful.

Mentors: Lia Domide (@liadomide), Mihai Andrei (@mihandrei)

[2] Visualize a multi-dimensional space of data.

Description One important feature of TVB is the possibility to launch a Parameter Space Exploration (PSE) group of simulations, which will result in many datatypes, arranged in a multi-dimensional space. We should offer the possibility to the users to easily explore this space by visual interaction. An interaction paradigm needs to be first proposed and discussed, and then the implementation needs to be done optimal.

A more advanced PSE might use a non uniform grid. Simulation density will be higher in regions where metrics indicate that something interesting happens. Such non-uniform grids will require more flexible visualization techniques.

Skills required: HTML/JS/CSS & Python; Experience in web development, JQuery, SVG, WebGL, as well as server side frameworks such as CherryPy, is helpful.

Mentors: Lia Domide (@liadomide), Mihai Andrei (@mihandrei)

[3] Optimization of neural network simulator via parallelization

Description TVB's neural network simulator is currently being rewritten in C from the original Python. Part of the motivation is to take advantage of parallelization opportunities such as OpenMP, a lightweight API for parallelization, or CUDA, an API for general purpose computing with graphics processing units. This project involves profiling the existing code, proposing potential reorganizations of the data structures and rewrites of the algorithms in a parallel fashion and implementing either via OpenMP or CUDA/OpenCL.

Skills required: C/C++; Experience in numerical & parallel programming helpful.

Mentors: Marmaduke Woodman (@maedoc), Mihai Andrei (@mihandrei)

[4] Neural mass models in NeuroML/LEMS

Description TVB provides many options in terms of neural mass models, however comparing these models to simulations from other simulators such as NEST or PyNN remains challenging because they do not implement neural mass models such as those in TVB. However, a standard model description language, NeuroML / LEMS, has been developed. This project proposes to translate TVB's neural mass models into the NeuroML or LEMS format, test their behavior against the current Python implementation and publish them as an open source resource.

Skills required: Python & XML, as well as experience with neural mass models & differential equations.

Mentors: Marmaduke Woodman (@maedoc), Mihai Andrei (@mihandrei)

Further information

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