GSoC at OSIPI: Overview of my Project and my journey so far.


It has been about two weeks since the Google Summer of Code (GSoC) coding period started, and it has been an amazing start from my side.
GSoC is an open-source internship organized by Google. It makes it easier for beginners to contribute to open-source projects. It connects interested people to project maintainers and experienced contributors so they can be mentored. During the internship, you get to work with these mentors on a project within their community.
The project I am working on is “Dockerized Data Processing Pipeline for Medical Imaging.” I am working with the Open Science Initiative for Perfusion Imaging (OSIPI), specifically OSIPI Taskforce 2.4, which aims to collect, test, and share open-source code related to intravoxel incoherent motion (IVIM) analysis of diffusion-encoded Magnetic Resonance Imaging (MRI) data. (This type of scan examines how water and blood move inside the body and is used for research and software development.)
My project focuses on building a modular and containerized pipeline for all IVIM algorithms within OSIPI, with support for DICOM and NIfTI formats. Users will be able to define and run custom workflows through a web interface. Tasks like image ingestion, preprocessing, fitting, and report generation will be structured as directed acyclic graphs (DAGs) and executed based on dependencies. The system will use Docker, Kaapana, Kubernetes, and Airflow for orchestration and scaling.
My two mentors are Eric Peterson, Director of Product at Vista.ai, and Luis Torres, Senior Scientific Solutions Engineer at Flywheel.
Journey So Far
I have met with my mentors about four times, where we discussed the project, my approach, and began implementation. Over the past few days, I’ve worked on several interesting tasks.
I set up a dedicated Google Cloud Platform (GCP) virtual machine instance.
I installed the Kaapana platform on the VM. This in itself was quite an experience! I will write more about why we chose Kaapana and some of the challenges I faced during installation in my next blog post.
Since Kaapana requires a GitLab container registry, I also set one up specifically for this project.
Check it out here: GitLab Container RegistryI’ve been documenting the project step by step to make it easier for others to follow.
You can view the documentation here: Kaapana TutorialLastly, I’ve been exploring Kaapana to fully understand its workings and how its functionality can be extended — which is central to my project.
Next Steps
There’s still a lot to talk about, but I’ll wrap it up here for now and continue in the next update.
Here are the tasks I aim to complete by next week:
Deep dive into how to run different workflows on Kaapana.
Continue learning about Kaapana, especially how to add workflows, define DAG workflows, and extend them to run customized containers.
Review and learn more about Kubernetes, Helm charts, and Airflow, as these are central to Kaapana and my project.
In the next update, I will go deeper into Kaapana — why we are using it and its importance to the success of this project.
PS: I took the above picture with my mentors in one of our meeting.
Subscribe to my newsletter
Read articles from Usman Akinyemi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Usman Akinyemi
Usman Akinyemi
Blogging about my Google summer of code Internship @OSIPI. Github LInk https://github.com/Unique-Usman/