Mentors: Teodor Minev <teodorminev98@gmail.com>, Dimiter Prodanov <dimiterpp@gmail.com>
Skill level: Advanced
Required skills: Java, Machine learning
Time commitment: Full time or part time (350 hours)
About: The Active Segmentation platform for ImageJ (ASP/IJ)[2] was developed in the scope of GSOC 2016 - 2024. 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. The program was designed with an open architecture and is extensible via plugins. Recent years have experienced explosive development in the GPU-accelerated computing. 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.
Aims: The project will port convolution engine used by the ASP/IJ to parallel implementation:
- 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
Website/references:
- ImageJ: https://imagej.nih.gov/
- Active Segmentation: GitHub - sumit3203/ACTIVESEGMENTATION: Active Segmentation Project
- Eclipse IDE https://www.eclipse.org/
- jCUDA jcuda.org - Java bindings for CUDA
- Rootbeer GPU Compiler GitHub - mxmlnkn/rootbeer1: Rootbeer GPU Compiler - Java GPU Programming
- ND4J Deeplearning4j
- JavaCL GitHub - nativelibs4java/JavaCL: JavaCL: OpenCL bindings for Java
Tech keywords: Java, ImageJ, CUDA, OpenGL, Parallel