ImageJ[1] is a public domain Java image processing program extensively used in life sciences. The program was designed with an open architecture that provides extensibility via Java plugins.  User-written plugins make it possible to solve almost any image processing or analysis problem or integrate the program with 3rd party software.

Weka (Waikato Environment for Knowledge Analysis)[2] is a collection of machine learning algorithms for data mining tasks. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. The algorithms can either be applied directly to a dataset or called from your Java itself.

The Trainable Weka Segmentation (TWS) is a ImageJ/Fiji plugin[3] and library that combines a collection of machine learning algorithms with a set of selected image features to produce pixel-based segmentations.  TWS was developed with the main goal of providing a general purpose workbench that would allow biologists to access state-of-the-art techniques in machine learning to improve their image segmentation results. It is part of the standard Fiji (ImageJ) distribution.



The current disadvantage of the WEKA Trainable segmentation plugin is that the filters are fixed and the input parameters are hard-coded in the GUI. This limits the expandability and therefore the practical utility of the platform. The filter set is assembled ad hoc and some of the implementations are suboptimal. The aim of the project will be to redesign the existing code base and provide an extendable end user platform.


Project description

The project will start by examining and refactoring the existing WEKA Trainable segmentation plugin with the purpose to make it manifestly modular and able to incorporate pluggable functionality. The immediate objectives of the development are to:

  1. Add additional filters developed by members of the Belgian INCF Node
  2. Modularize filter integration including automatic filter configuration options
  3. Expose additional learning algorithms, such as the Support Vector Machines, currently available in WEKA
  4. Add metadata export options, related to used filters, machine learning algorithms, models and applied parameters.


The candidate is expected to propose a specification and detail the scope of the planned work. More info can be found here: WEKA_Project.


Project proposal template can be downloaded from here: project_template_2016

Application follows the rules of GSOC 2016.

Candidates must include a CV,  completed proposal and assignment in their application.

Google summer of code page can be consulted here [4].



The assignment is available here







[4] GSOC Student Guide