Developers
Student: Mukesh Gupta
Mentor: Dimiter Prodanov Sumit Kumar Vohra
Organization:
International Neuroinformatics Coordinating Facility
Project description
This project is about to provide the general purpose environment that allows biologists and other
domain experts to use transparently state-of-the-art techniques in machine learning to improve
their image segmentation results.
ImageJ is a public domain Java image processing program extensively used in life sciences.
Active Segmentation plugin is the redesign of existing Trainable Weka Segmentation (TWS) of
ImageJ. The main functionality of the platform was already developed in the context of GSOC
2016 but the platform is still under development. In last Google summer of code, the major
focus was on integrating generic filter families and specifically on one family of filters i.e.
Gaussian Scale Space.
The Active Segmentation provides generic functionality and user friendly interface so that the user can include the state of the art filters and
machine learning frameworks from the WEKA library:
- Active learning.
- Multi-instance learning designed by third party in a robust manner
Zernike moments is the set of orthogonal Zernike polynomials defined over the polar coordinate space inside a unit circle. The two-dimensional Zernike moments of order p with repetition q of an image intensity function \[ f(r, \theta)\] are defined as
where p order Zernike polynomials are defined as \[ V_{pq}(r, \theta) = R_{pq}(r)e^{-jq\theta},\; j=\sqrt{-1} \]
and the real-valued radial polynomials defined as \[ R_{pq} = \sum_{k=0}^\frac{p-|q|}{2} (-1)^2 \frac{(p-k)!}{k!(\frac{p+|q|}{2}-k)!(\frac{p-|q|}{2}-k)!}r^{p-2k}\]
where \[0\le|q|\le p,\; p-|q|\; is\;even,\; p\ge0\]
It can be seen from the above formulae that Computation of Zernike radial polynomials will takes too much time when order goes high, so we have decided to use other recursive formula to compute Zernike radial polynomials \[R_p^q(r) = r[R_{p-1}^{|q-1|}(r)+R_{p-1}^{q+1}(r)]-R_{p-2}^q(r)\]
This Formulae has been taken from this paper
Filter Framework
Filter Framework is responsible for automatic loading of filters. It automatically finds all JAR files in the path and first level of subdirectories and those have implemented "IFilter" interface.
Active Segmentation Filters Screen
- The right black marked box is used to enable the unselected filters. User need to double click on filter name to enable it
- The settings for each filter is provided in the centre along with the shape of filter
- Filters process is started using the "COMPUTE" button.
- Filters meta data is dumped using the "SAVE" button.
- The "View" button is used to view the filters result for each image slice.
- The "Default" button is used to set the set default settings for the filter as provided by the developers .
Earlier filter was applying on each slice of imageStack one by one which takes time for ALOG, BOG, LOG and GAUSSIAN is around 27 seconds but after applying filter on each slice parallely it comes down to 17 seconds.
Feature Screen
Feature Screen of the active segmentation is very similar to the TWS(Trainable Weka Segmentation). It will start with two classes i.e Binary Classification
This screen showing the Class level pixel classification
User selects images which can be used for training purpose.
User selects images which can be used for testing purpose.
Classification Result would be show on top of the image.