GSoC 2023 Project Idea 18.2 Image feature and classification database (350 h)

The Active Segmentation platform for ImageJ (ASP/IJ) was developed in the scope of GSOC 2016 - 2021. 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 is a public-domain Java image processing program extensively used in life and material sciences. The program was designed with an open architecture that provides extensibility via plugins computing different filters and region descriptors (i.e. image features).

SQLite is a C-language library that implements a small, fast, self-contained, high- reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world and is available on many platforms. The project idea: At present, the feature space and the classification results produced by the platform are stored in several separate files. The idea is that the types and values of image features and classification outcomes would be stored in an SQLite database for cross-comparisons between sessions. The candidate is required to use the SQLite database engine in order to integrate it with the GUI of ASP/IJ.

Tasks
â—Ź Fix existing issues and bugs
â—Ź SQL database design
â—Ź GUI implementation and integration

Minimal set of deliverables
â—Ź Requirement specification - Prepared by the candidate after understanding the functionality.
â—Ź System Design - Detailed plan for the development of the plugin and test cases.
â—Ź Implementation and testing - Details of implementation and testing of the platform.

Skill level: Intermediate

Required skills: Java, SQL

Time commitment: Full-time (350 h)

Lead mentor: Dimiter Prodanov (dimiterpp@gmail.com), INCF Belgian Node

Project website:

  1. ImageJ: https://imagej.nih.gov/
  2. Active Segmentation : GitHub - sumit3203/ACTIVESEGMENTATION: Active Segmentation Project
  3. SQLite: SQLite Home Page

Backup mentors: Sumit Vohra, ZIB, Berlin, Germany

Tech keywords: TBD

Dear Mentors @dprodanov @sumit.3203,

I am a pre-final year engineering undergraduate student at Indian Institute of Information Technology Kalyani studying Bachelor of Technology in Computer Science and Engineering.

I am interested in participating in GSoC 2023 with INCF and would like to apply for Project 18.2. My skills and interests align with the project requirements and I am confident in my ability to make a valuable contribution.

Please advise on next steps and provide any additional information about the project. I look forward to the opportunity to work with the INCF community.

Thank you,
Aditya Agarwal
Github: adi611
Linkedin: Aditya Agarwal | LinkedIn

Dear Aditya ,
Thanks for the interest in the project. The first step in the preparation is the downlod the platform, install it and try it out.
best regards,
Dimiter

Dear Aditya ,
Have you installed the software?
best regards,
Dimiter

Hello Dimiter (@dprodanov)
While going through the list of projects I found my interests aligning with this project. I’d like to start contributing for the same.
I see that you’ve mentioned the first steps above. By platform do you mean this: GitHub - sumit3203/ACTIVESEGMENTATION: Active Segmentation Project or the ImageJ website (https://imagej.nih.gov/)?

Hiten

Dear Hiten,
I meant the GiHub distribution. Starting from pristine ImageJ requires expert knowledge on the platfrom.
We have a stable release exe. installer for end users.

best regards,
Dimiter

Thanks for the reply. Yes I have installed the software. Is this the expected result?


Yes, This is the expected result. Try out the image segmentation functionality using some of the grayscale images.

I tried the image segmentation functionality on grayscale images. Is this the expected result?


Hello Dears @dprodanov @sumit.3203

my name is Mostafa and i am a 4th year senior computer engineer student at Cairo University faculty of engineering from Egypt.

I worked before as a java developer intern for 2 different companies when i was in the third year in college and really i love to code with java, building database relations and i had already studied computer vision, image processing database and advanced database.

I have recently seen ICNF’s GSoC project list for 2023 and I found
18.2 Image feature and classification database especially very interesting to me, hence I decided to apply for it and take some steps to understand the project

[1] I installed the ImageJ software on my mac and tried some examples from documentation.
[2] see the usage of some tools.

hence i want to ask about next step that i should take to understand the project more and be more familiar with it.

this is my linkedin profile: https://www.linkedin.com/in/mostafa-magdi-1200121b9/
github : Engineer-mostafa (Mostafa Magdy) · GitHub

I implement some functions depending on the documentation

Dear Mostafa,

Thanks for the interest. Please look at the datasets at

The classification datasets is in the folder hela. There is a testing script in the GitHub repo called
TestOnlineCells3.java which uses the hela data set.

1 Like

This is the view of the Feature Panel. You can get the segmentation mask if you press Masks or Toggle.

@dprodanov

Clicking on Toggle gives me the following result:

Clicking on Masks has no effect.

i saw it and downloaded it

This is a valid segmentation result. What is the image you are segmenting? Does not look familiar.
best regards,
Dimiter

I tried on random grayscale images.

@dprodanov I am facing issues while running the script, regarding the activeSegmentation package, and the ij, pixlib and weka libraries.

I can’t reproduce the error when running from Eclipse. I am including the end of the output.
Most probably it is classpath issue.

=======================================
RandomForest

Bagging with 100 iterations and base learner

weka.classifiers.trees.RandomTree -K 0 -M 1.0 -V 0.001 -S 1 -do-not-check-capabilities

Results

Correctly Classified Instances 491 71.6788 %
Incorrectly Classified Instances 194 28.3212 %
Kappa statistic 0.6851
Mean absolute error 0.0979
Root mean squared error 0.2051
Relative absolute error 54.4267 %
Root relative squared error 68.385 %
Total Number of Instances 685

=== Detailed Accuracy By Class ===

             TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
             0.841    0.016    0.853      0.841    0.847      0.830    0.989     0.942     Nucleus
             0.517    0.046    0.508      0.517    0.513      0.467    0.922     0.508     Mitochondria
             0.812    0.024    0.789      0.812    0.800      0.777    0.986     0.844     Golgi_gia
             0.583    0.051    0.575      0.583    0.579      0.530    0.923     0.685     Microtubules
             0.687    0.031    0.708      0.687    0.697      0.665    0.940     0.707     Lysosome
             0.974    0.012    0.916      0.974    0.944      0.937    0.999     0.992     ActinFilaments
             0.721    0.021    0.790      0.721    0.754      0.729    0.958     0.807     Golgi_gpp
             0.875    0.018    0.836      0.875    0.855      0.840    0.990     0.922     Nucleolus
             0.514    0.051    0.544      0.514    0.529      0.475    0.889     0.493     Endosome
             0.603    0.045    0.594      0.603    0.599      0.554    0.947     0.666     ER

Weighted Avg. 0.717 0.031 0.715 0.717 0.716 0.685 0.955 0.761

Results

Correctly Classified Instances 128 72.3164 %
Incorrectly Classified Instances 49 27.6836 %
Kappa statistic 0.6924
Mean absolute error 0.0966
Root mean squared error 0.2035
Relative absolute error 53.6993 %
Root relative squared error 67.8714 %
Total Number of Instances 177

=== Detailed Accuracy By Class ===

             TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
             1.000    0.019    0.857      1.000    0.923      0.917    0.999     0.988     Nucleus
             0.800    0.049    0.600      0.800    0.686      0.660    0.922     0.782     Mitochondria
             0.722    0.031    0.722      0.722    0.722      0.691    0.987     0.891     Golgi_gia
             0.632    0.038    0.667      0.632    0.649      0.608    0.932     0.704     Microtubules
             0.647    0.044    0.611      0.647    0.629      0.588    0.927     0.654     Lysosome
             0.900    0.006    0.947      0.900    0.923      0.914    0.998     0.985     ActinFilaments
             0.588    0.044    0.588      0.588    0.588      0.544    0.929     0.714     Golgi_gpp
             0.813    0.012    0.867      0.813    0.839      0.824    0.990     0.934     Nucleolus
             0.579    0.038    0.647      0.579    0.611      0.568    0.924     0.709     Endosome
             0.556    0.025    0.714      0.556    0.625      0.594    0.962     0.750     ER

Weighted Avg. 0.723 0.030 0.726 0.723 0.721 0.693 0.958 0.812

1 Like

@dprodanov - Could you please guide us on the next steps for this and the specifications required which may help us in making a successful proposal? Thanks.