Skip to content

Latest commit

 

History

History
88 lines (53 loc) · 4.15 KB

README.md

File metadata and controls

88 lines (53 loc) · 4.15 KB

logo

Segmentation Challenge

The goal of this challenge is to let you practice your segmentation skills by developing automated segmentation workflows for a selection of images.

You can use any tool you want (Fiji, MorpholibJ, Scikit-image, CellPose, SAM, Ilastik...) to generate your segmentation masks. The idea is to test and figure out which methods work best for each image.

Images

The challenge images are located in the Images folder. For each image, a ground truth segmentation mask is available in the Ground_Truths folder. These ground truth masks have been carefully edited to be as close as possible to an ideal result.

Images

Image Description Credit
sunflowers.tif An optical image of sunflower seeds. Courtesy of Daniel Sage, EPFL
fish.tif A historical drawing of fish in the Limat river. Viatimages @ Unil
grains.tif An SEM image of a grain structure. Courtesy of Nanolab @ EPFL, Anna Varini

Evaluate your segmentation

You can evaluate your segmentation mask and see how it compares to the “ground truthˮ using our web dashboard:

➡️ Web Dashboard

Marimo screenshot

Your segmentation masks should be labeled arrays with values representing instances. They should have the same size (number of pixels in X and Y) as the original image. They should be saved as a TIFF file.

The quality of your segmentation mask is evaluated based on two metrics:

  • Object count relative to the ground truth count.
  • Intersection over union (IoU) computed on the binary version of the mask.

We also average both scores to give an overall score.

Shared folder

If your workshop organizers have prepared a shared Jupyterlab session, you can upload your segmentation mask files (in TIFF format) by drag and dropping them into the Submissions folder on Jupyter lab, so that you can also see how they compare to other submissions.

Solutions

A few reference segmentation workflows are available in the solutions folder. We encourage you to take a look at them after the workshop!


Setup (for workshop organizers)

Intitial setup

  • Download or clone this repository on your computer.
  • Install the Python requirements.txt.
  • Run the script setup.py for the initial setup.

Run a shared Jupyter lab session

First, set up a password for Jupyter lab:

jupyter server password

Then, start juptyer lab with:

jupyter lab --ip=`0.0.0.0`

Take note of your IP address, and share a link to the jupyter lab session (and password) with participants. Ask them to drag and drop their segmentation mask files into the Submissions folder of the shared Jupyter lab to upload them.

Compute and display the leaderboards

In the shared Jupyter lab session:

  1. Open a new terminal. Run leaderboard.py to compute the leaderboards periodically.
python leaderboard.py
  1. In a new terminal window, run display.py to display the leaderboard of a particular challenge:
python display.py grains

Repeat this process for all challenges, then reorganize the layout so that the leaderboards are visible side-by-side:

leaderboards