GSOC 2026 Project #25 : ImageJ Active Segmentation platform: Parallel Engine for ASP/IJ

The Active Segmentation platform for ImageJ (ASP/IJ)[2] was developed in the scope of GSOC 2016 - 2025. The plugin provides a general-purpose environment that allows biologists and other domain experts to use transparently state-of-the-art techniques in machine learning to achieve excellent image segmentation and classification. ImageJ [1] is a public-domain Java image processing program extensively used in life and material sciences. Recent years have experienced explosive development in the GPU-accelerated computing. The project will explore the existing parallel filtering framework and extend it towards TornadoVM framework [4]. TornadoVM is an open-source software technology that automatically accelerates Java programs on multi-core CPUs, GPUs, and FPGAs.

The project will explore some of established Java-based GPU computing frameworks [4,5,6,7] and port the convolution engine used by the ASP/IJ to parallel implementation.

The project idea: The project will extend the convolution engine used by the ASP/IJ to the TornadoVM framework.

Tasks

• Fix existing issues and bugs

• GPU computing frameworks evaluation and testing

• Implementation and profiling of selected convolution filters

Minimal set of deliverables

• Requirement specification – Prepared by the candidate after understanding the functionality.

• System Design – Detailed plan for development of the plugin and test cases.

• Implementation and testing – Details of implementation and testing of the platform.

Desired skills: Java, Machine learning

Mentors: Dimiter Prodanov (dimiterpp@gmail.com) IICT-BAS; Teodor Minev IICT -BAS (teodorminev98@gmail.com); Rikas Ilamdeen (rikasilamdeen@gmail.com)

References

  1. ImageJ: https://imagej.nih.gov/

  2. Active Segmentation: GitHub - sumit3203/ACTIVESEGMENTATION: Active Segmentation Project · GitHub

  3. Eclipse IDE https://www.eclipse.org/

  4. TornadoVM https://www.tornadovm.org/

Hi @dprodanov

I’m Afthal Ahamad, an IT undergraduate. I’m contributing to this project 25) ImageJ Active Segmentation platform: Parallel Engine for ASP/IJ, as it aligns well with my technical interests. I had already been exploring this repository earlier, and after the recent idea list update I decided to focus only on this project.

Initially, I set up the project locally and started exploring the codebase to understand how the existing convolution engine works as I work toward the main goal of the project.

As part of this process, I also worked on profiling selected convolution filters by adding a profiling framework and UI to measure execution times. This should help evaluate performance improvements as the project moves toward GPU acceleration frameworks like TornadoVM.

PR: Implement CPU vs GPU Performance Benchmark Tool by afthal-ahamad01 · Pull Request #113 · sumit3203/ACTIVESEGMENTATION · GitHub

I’m currently working on more contributions and continuing to explore…

Dear Afthal,
Thanks for the interest in the project. Have you tested your code? Please show some results before I proceed with the PR review.
kind regards,
Dimiter

1 Like

Hi @ dprodanov

I am Yamini, a 3rd-year CS student. I’ve been following the ASP/IJ project and am very interested in the TornadoVM integration.

To support the ‘Profiling’ task mentioned in the project goals, I have already implemented a standardized benchmarking utility for the convolution filters. My approach focus on handling JVM warm-up to ensure we get accurate JIT-optimized baselines before moving to GPU implementation.

I’ve submitted a PR for this utility here: [ PR #115 Feature(activeSegmentation) add FilterBenchmark utility for profiling #114 by Yamini04-oss · Pull Request #115 · sumit3203/ACTIVESEGMENTATION · GitHub]

Hi everyone :wave:,

My name is Kushwanth Masupalli, and I’m a student from India interested in open-source development and GSoC 2026.

I’ve recently started contributing to open source and am currently exploring projects related to image processing and machine learning. I’ve just submitted a small fix PR for Active Segmentation (replacing unsafe == comparisons with .equals() in GUI components) as a starting point.

I’m particularly interested in working on the Active Segmentation project and would love to learn more about the codebase and contribute further.

Looking forward to collaborating and learning from the community!

Thanks :slightly_smiling_face: