The project was divided into two part:
- Research: GitHub repo for the same
- ImageJ PlugIn Development: GitHub repo for the same
Note: Both the GitHub repositories are single purpose for GSoC
The detailed version
During the summer of 2017, I was intern at the OpenWorm Foundation, an open source project dedicated to creating the first virtual organism in a computer.
It was my first Google Summer of Code and my first experience of working in an open source community. And it was AWESOME.
My project involved primarily research. A good chunk of my time was spent in exploring various methods for getting the desired segmentation and tuning the algorithms for getting better result. This project didn’t have any previous code base. And both the repos have been made from scratch.
This GitHub repo (https://github.com/devoworm/GSoC-2017 ) represents a small portion of my work when I was exploring a breadth of techniques to get the desired segmentation. Current issues in the above repo perfectly describes what work still left to be done and what has been done till now.
I also downloaded(code given with research papers and libraries) and tried out several variants of techniques mentioned above.
Things I failed to do:
- An important task that I was not able to complete in this domain wa validation/benchmarking of the segmentation. Though some work was done on it, it is not sufficient.
- I also failed to try unsupervised machine learning approaches.
A small amount of time was spent on developing an ImageJ PlugIn so that a larger community would be able to use the algorithm with ease. The GitHub repo for the same is https://github.com/geekSiddharth/EmbryoSegmentation. The PlugIn is not yet ready to be distributed but the code can be downloaded and excuted in the Script Editor provided by ImageJ. It needs major improvement in User Interface and in robustness.
After the official GSoC period, I plan to resume the research work in this project. Doing benchmarking and exploring a few machine learning based approach would be my top priority.
PS:- A lot of code in devoworm/GSoC-2017 was just for trying out various techniques for segmentation(and it only reflects a small portion of what was tried). While code in geekSiddharth/EmbryoSegmentation kind of reflects the final product and it is modular and properly documented.