GSoC - Coding Period Week 3

Work Done This Week (June 21st to June 27th)

  • Converted the upgraded segmentation model into ONNX format.

  • Ran inference on the ONNX model (colab and local environment) to make sure it works. Then used Gradio to build a GUI.

  • The next step was to host this online. Gradio has their own hosting service, but that costs $7/month. Looked into ways of hosting apps online for free, decided to go with Heroku.

  • Created the additional files required for hosting online on Heroku:

    • Procfile
    • requirements.txt
    • setup.sh
  • Pushed the files into a github repository, and linked it to the Heroku app.

  • Deployed a bare-bones version of the app online.

  • Adding the centroid mapping feature turned out to be tricky. It worked on local-host, but did not work when deployed on Heroku.

  • Checked the logs, the error message read :

    ImportError: libSM.so.6: cannot open shared object file: No such file or directory

  • Turns out, it was in issue with OpenCV’s dependency on libSM6. I replaced opencv-python==4.5.2.54 with opencv-python-headless==4.5.2.54 and it worked!

  • Not everybody has images of C. elegans embryos saved on their computer, so I decided to add in some examples on the site.

  • Note: The Heroku app is currently linked to a personal repository for quick prototyping and testing.

  • Links:

Planned:

  • Make a couple more changes to the GUI hosted on Heroku.
  • Upgrade the DevoLearn cell lineage population model.
  • Host the cell lineage population model online.
  • Resume work on the cell nucleus segmentation model.