Google Summer of Code 2020

Project Title: Visualization


Karim Hasbini


Christine Rogers
C├ęcile Madjar


Laetitia Fesselier




The goal of this project is to provide BIDS-iEEG compatibility for LORIS as well as visualization for EEG and iEEG recordings for the electrophysiology module by using an already existing React library.



May: First Contact

I was introduced to the team behind LORIS in may as well as install it on a virtual machine hosted at the McGill Center for Integrative Neuroscience in order to familiarize myself with the code base. Due to the pandemic at the time, I could not meet the team in person. Nevertheless, attending several meetings allowed me to take on issues from the backlog.


In June I worked on several issues spanning different LORIS modules (with a focus on the electrophysiology browser) in order to further develop my understanding of the software stack used. LORIS was going through a release testing phase which I participated in by providing feedback on the results of the testing plans. I was also fortunate enough to attend the OHBM virtual brainhack conference where I got to listen to a talk about BIDS.


July was marked by switching my attention to LORIS-MRI, a sister repo to LORIS used to upload EEG and MRI files in BIDS format to its database. I focused on reading the code as well as documentation on EEG and iEEG-BIDS. This allowed me to implement changes required to adapt the upload pipeline to support iEEG-BIDS directories. By the end of July iEEG data was successfully uploaded and a pull request was opened.


In August, my pull request was reviewed and merged, adding initial support for iEEG-BIDS to LORIS-MRI. A plan was drafted offering two strategies to add support to electrical stimulation files. The rest of my focus was on connecting an already written visualization library dating back to 2018 to LORIS in order to visualize EEG and iEEG signals. Thanks to Laetitia, we were able to install the library on a recent version of LORIS, however many errors were still present which prevented visualization. Some of the errors were resolved while some remain present. To continue progress, code using the react-three library should be refactored to instead take advantage of react-three-fiber.

Pull Requests

Can be found here and here.


On Tuesday 4th of August I gave a brief presentation about my progress to the rest of the LORIS team, including some of the libraries and approaches used to solve the problems that I faced and the challenge left to solve for August.


Despite the conditions of pandemic, I was able to learn a lot. Being exposed to experienced developers and working alongside them to merge code allowed me to find areas needing work in my coding and documentation skills, all while contributing to an open source project under a learning environment. I would like to wish everyone at the LORIS team continued success in their endeavour towards a more open world of scientific research.