Brainhack Marseille

December 2 - December 4 2020


To register to the event, please click on the button below to fill the form. The deadline for registration is Friday 27 November.
Registration is now closed.


Please find bellow the program of the Brainhack event (timezone Paris UTC+1). If you want to add the following schedule to your own personal Google agenda, click on the "Save the dates" button and then click on the "+ Google agenda" located at the bottom right of your screen.

2nd December

09h00-10h15 Introduction to the BrainHack Marseille
  • 09h00-09h15 - Introduction to the event
  • 09h15-09h45 - Leading and contributing to Brainhack Projects: an introductory guide - Guillaume Auzias
  • 09h45-10h15 - Projects ignition
10h15-12h30 Hacking
12h30-14h00 Break
14h00-15h00 Software demonstration
  • 14h00-14h15 Extracting task-related brain networks using Frites - Etienne Combrisson
  • 14h15-14h30 Macapype: An open multi-software framework for non-human primate anatomical MRI processing - David Meunier
  • 14h30-14h45 The Surface anaLysis And Modeling -SLAM- python toolbox: how to slam your brain! - Guillaume Auzias
  • 14h45-15h00 eCOBIDAS: a webApp to that writes your methods section for you - Rémi Gau
15h00-17h00 Hacking

3rd December

09h00-11h30 Hacking
11h30-12h30 Unconference - Cyril Pernet

Recommendations for reproducible EEG and MEG research (from the OHBM Cobidas committee), (Pernet et al. Nature Neuro 2020)

12h30-14h00 Break
14h00-16h00 Hacking
16h00-17h00 Unconference - Thomas Brochier & Julia Sprenger

An open electrophysiological dataset recorded in non-human primates: acquisition, curation and exploitation using open source tools (odML, neo, Elephant), (Brochier et al. Sci Data 2018)

4th December

09h00-12h30 Hacking
12h30-14h00 Break
14h00-15h00 Unconference - Guillaume Dumas

Hands on experiments about reproducible analyses, (Kim et al. GigaScience 2018)

15h00-16h00 Hacking
16h00-17h00 Wrapping up about the projects with everybody, Ending and virtual beer !


Here you can find all the informations about the event projects.
If you want to submit a project you should follow the link, fill the form, and open a github issue. Projects can be anything you'd like to work on during the event with other people (coding, discussing a procedure with coworkers, brainstorming about a new idea), as long as you're ready to minimally organize this!

Optimization and GPU porting of information flow implementation

by Etienne Combrisson & Ruggero Basanisi

Frites is a recent pure Python package ( to analyse neurophysiological data within the Information Theoretical framework and to perform group-level statistics on information-based measures. The aim of the software is to extract brain networks that are modulated according to the task (model-based and model free analysis). To this end, Frites contains several CPU-based functions to estimate the directed information flow between brain areas. While those methods estimate the directed connectivity in a reasonable amount of time on small networks, the complexity of larger networks are too demanding for the current CPU implementation. Therefore, the ultimate goal of this project would be to have both a CPU and a GPU implementations of our recent multivariate information flow measure (link here).

The following points are going to be addressed in this project:
  • Code a GPU implementation of the conditional mutual-information
  • Include a switch for the user to specify if a CPU or a GPU implementations are going to be used when computing the univariate information flow
  • GPU porting of the multivariate information flow measure (which is also going to use the GPU version of scikit-learn)

Required skills

This is a python based project, a github link will be provided to collaborate.
Python 90%
Numpy 70%
GPU programming 20%

eCOBIDAS: a webApp to that writes your methods section for you

by Rémi Gau

The main aim of this project is to improve reporting methods and results in neuroimaging (f/MRI, i/EEG, MEG, PET...) in order to increase transparency and reproducibility. We want to do this by developing a set webapps to run checklists based on best practices guidelines and recommendation of a field, that are both easy and practical to use, that provides a machine readable summary of an experiment and its analysis, and that can then automatically generate parts of the methods section. To get started you can explore the github page of the project and the retalive documentation.

You can find several "good first issues" here but during this event I would like to focus on:
  • Making sure the documenation is understandable and constitute good on-board and How-To materieal
  • Create some prototype script / toy example that can take the output of the app and generate a method section

Required skills

The project has many moving parts so there is a certain level of flexibility in terms of skills needed.
Handling spreadsheets 80%
EEG / MEG / MRI 70%
Linked data 50%
Python/Javascript 20%

DIGLaB : DIGital Lab Book

by Fred Barthelemy, Sylvain Takerkart & Julia Sprenger

The goal of this project is to provide an user-friendly digital alternative to the classical lab book to the experimentalists working with non-human primates. The advantage of a digital version of the notebook are plenty:
  • Can be read by automatic process for storage of comments or metadata
  • Can help to automatize the writing of information in a click
  • Can help to adopt future INT (or other) standards easily (e.g. filenames)
  • Can be printed in case of need
  • Avoid fastidious decoding of someone else's handwriting
The following points are going to be addressed in this project:
  • Present the current version
  • Get feedback from future users
  • Provide personalized versions to the users that want to use it
  • Develop a tool for automatice metadata collection from saved DIGLaBs

Required skills

Doing experiments 70%
Javascript 50%
Python 50%

Macapype: segmentation to mesh pipeline

by David Meunier, Bastien Cagna & Kep Kee Loh

Macapype is an open source python package based on the nipype framework. Dedicated to the processing of PNH MRI data, Macapype brings together existing tools from popular neuroimaging softwares (e.g. FSL, ANTs, SPM, AFNI etc), and the wraps of specialised scripts for PNH MRI data processing. Currently, Macapype also provides predefined pipelines for the preprocessing, brain extraction, and segmentation of PNH MRI data that are easy to use, and customizable to various input file types (T1w or T1w/T2w). These segmentation pipelines have been successfully adapted to MR images from various PNH species, including the macaque monkey, baboons and marmosets. To get started you can explore the github page of the project and the retalive documentation.
Link to the mattermost users forum (requires a framateam account).

In this brainhack, we would like to expand the existing pipelines of Macapype to allow the generation of surface meshes following the segmentation of the MR images. So far, at the INT, macapype users have been performing the above process (i.e. surface mesh generation) by first, using a set of customised scripts to import Macapype-generated segmentations into Brainvisa, and second, to manually (point-and-click) generate surface meshes via the Morphologist Toolbox in Brainvisa. We aim to incorporate these two steps as an additional module in Macapype, which will enable the generation of surface meshes directly from the segmentations produced by Macapype. The final result would be a powerful pipeline that takes raw PNH structural MR scans as input, and generating tissue segmentation masks and surface meshes as outputs.

Required skills

Other related softwares can be used for this project, such as BrainVISA, FreeSurfer and Nipype. Anyone that has PNH data to process is welcome.
MRI data processing 80%
Python 60%
Nipype coding 50%

Integration of DAX pipeline with XNAT

by Dipankar Bachar, David Meunier & Aissam Rahmani

Large scale image processing demands a standardized way of not only storage but also a method for job distribution and scheduling. The eXtensible Neuroimaging Archive Toolkit (XNAT) is one of several platforms that seeks to solve the storage issues. Distributed Automation for XNAT (DAX) is a job control and distribution manager. DAX allows to store analyzed imaging data on XNAT (datatypes), extract information from XNAT via scripts (Xnat_tools), run pipelines on the data in XNAT via a cluster ( processors ). We are working towards the integration of DAX pipeline to our XNAT datamanagement tools.

External links : Reference :
DAX - The Next Generation: Towards One Million Processes on Commodity Hardware, Stephen M Damon, Brian D Boyd , Andrew J Plassard , Warren Taylor , Bennett A Landman, PMID: 28919661 PMCID: PMC5596878 DOI: 10.1117/12.2254371 (link)

The goals of this BrainHack project are :
  • to discuss the working of DAX pipeline and if possible with a live demo
  • to understand the working of Spyder in DAX, how to configure it
  • to test the DAX command lines
  • to try to solve the technical challenges of installations
  • to understand/learn the DAX processors
  • to understand/learn how to write the YAML scripts
  • to learn how to prepare a YAML script for DAX processor in RedCAP.

Required skills

This is a cross-language project. Experience with super computers is also welcome
Image data management (e.g xnat) 40%
Python 50%
Shell 50%
Experience with super computer 50%

Development of the SLAM -Surface anaLysis And Modeling- python package

by Guillaume Auzias & the MeCA team

Slam is an open source python package dedicated to the representation of neuroanatomical surfaces stemming from MRI data in the form of triangular meshes and to their processing and analysis. Main features include read/write gifti (and nifti) file format, geodesic distance computation, several implementations of graph Laplacian and Gradient, mesh surgery (boundary identification, large hole closing), several types of mapping between the mesh and a sphere, a disc...
Have a look at the examples on the documentation website.

During this brainhack, our objectives are:
  • to add as a new feature the algorithms for computing surface profiling as described in Li, K., Guo, L., Li, G., Nie, J., Faraco, C., Cui, G., Zhao, Q., Miller, L.S. and Liu, T., 2010. Gyral folding pattern analysis via surface profiling. NeuroImage, 52(4), pp.1202-1214.
  • to improve the documentation with new examples to enrich the gallery, which helps a lot potential new users
  • to switch the example codes from python script to Jupiter notebooks
  • to further improve code quality with new unitest and potential speed-up of specific pieces of code such as for instance the computation of the curvature
  • to help potential users to get familiar with this python package
We are of course also open if new features are proposed from the contributors.

Required skills

Minimal skills in python coding and github are required, but various levels of expertise are welcome since some of our objectives can be addressed with limited coding effort such as augmenting the documentation.
Share ideas and good time 100%
Python 50%
Mesh processing 20%

Optimized Pipeline for the modelling of Spiking Neural Networks (SNNs)

by Alberto Vergani, Laurent Perrinet & Julia Sprenger

We are doing Spiking Neural Networks of the primary visual cortex designed to help us better understand visual computations using Spatio-temporal Diffusion Kernels and Traveling Waves. We are using neural simulators using classical pipelines (pyNN AND (Nest OR SpiNNaker) ), but for which we wish to optimize the different steps:
  1. setting up the network
  2. running the simulation
  3. analyzing the results
We wish to go beyond the classical strategy ("yet another model") but to understand "why" such a given network would be a good descriptor of neural computations (for a context, see this preprint). With such an efficient simulation pipeline, we would like in the future to "close the loop" and explore the space of all network configurations, in normal as well as pathological conditions.

Ressources : Goals for Brainhack Marseille
  • Working goals : handle the interface between simulations blocks (network building, running simulations, results analysis)
  • Perspective goal : thinking about closing the loop by optimizing the network structure based on the output of the analysis.

Required skills

Skills with standard scientific python librairies are required
Python 100%
NumPy 80%
PyNN 40%


Sylvain Takerkart

Research Engineer

Guillaume Auzias


David Meunier

Research Engineer

Dipankar Bachar

Research Engineer

Julia Sprenger


Martin Szinte


Ruggero Basanisi

PhD Student

Etienne Combrisson




Faculté de Médecine, 27 Boulevard Jean Moulin, 13005 Marseille