Two weeks have passed since the start of GSOC program, and in this post I would like to summarize what I have managed to do for the project during this time.
First of all, with the help of my mentors, I have made initial configurations for the new Python project. Based on this, I have added new modules, one for visualization of the brain surfaces, another one with helper functions for data reading. I have also added a Jupyter notebook showing examples of new functionality usage. It is quite simple now: the package can visualize brain cortex surface of each hemisphere and the user can provide several parameters for visualization. Specifically, the user can specify the color for either the whole hemisphere mesh or each of the vertices of the mesh. For example, it is possible to read morphometry data, and after additional normalization, use it as array of colors for the vertices.
My mentors have helped me to establish Travis CI automation. For now, it automatically builds the project upon each pull request and it does code style checks so the codebase of the project is compatible with the pep8 requirements and MNE-Python code style.
Additionally, a simple Github project based on an automated kanban preset was created, so now me and my mentors will be able to have a better overview of the project progress, which tasks I am working on now and which ones were closed or opened.
At the moment, I am working on adding transparent meshes to the figure and displaying activity patterns as color of the mesh. Since I don’t have much experience with 3D graphics, I also spend time studying WebGL capabilities to learn how to achieve 3D visualization. I started to work more closely with three.js, pythreejs and ipyvolume in order to implement transparent meshes functionality. In order to obtain a transparent mesh one needs to specify colors of the mesh vertices with the alpha channel, e. g. rgba format. Nevertheless, three.js does not support colors with alpha channel, so I plan to use custom shaders for color rendering in order to tackle this problem. I plan to work on this issue over the next week.
So, this is everything that I wanted to write about, have a nice day and see you soon!