carpentries-incubator / carpentries-incubator/bioimage-analysis-python

Episode 7, Exercise 1 proposal

Open
#26 0 comments 1 reaction 0 assignees View on GitHub
exercise-proposal
Dominant language
HTML
Stars
12
Forks
6
Avg merge
1m
Merged PRs (30d)
1

Description

### Brief description

From the previous episode (6), we should have some nuclei segmented via thresholding followed by connected components.

#### Exercise 1 - Identifying problems in the segmentation

A short, discussion based exercise where learners look at their segmented images in small groups + identify potential issues. This could be prompted by questions like:
- How many nuclei does your segmentation identify? (aiming for them to use `segmentation.max()` or similar)
- How many nuclei does the image actually contain?
- How many pixels does each nuclei contain? Are there any outliers?
- What issues can you identify with your segmentation that leads to inaccurate nucleus number or size?

This should hopefully lead nicely into discussion of how to fix common issues like: separating merged objects, filling holes, removing objects touching the border etc. in the episode text.

The third question may potentially be too challenging at this stage (as it is before the `regionprops` episode). We could always provide suggestions on how to loop over the segmented nuclei + count pixels directly via numpy slicing etc which has already been covered though. The hope is this would help to highlight very large nuclei (which are likely due to merged nuclei) + very small nuclei (which are either segmentation errors, or nuclei that are touching the edge of the image).

----
I'll submit another issue with a follow up exercise where learners then fix these identified problems.

### Learning objective(s)

This exercise starts to address the ['Cleaning segmentation' objective](https://github.com/carpentries-incubator/bioimage-analysis-python/wiki/Learning-Objectives#cleaning-segmentation). I'll submit another issue for a follow up exercise that will complete it.

This exercise demonstrates common issues encountered with segmented images, as a lead-in to explaining how to fix them later in the episode.

### Volunteer(s)
@K-Meech

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the previous episode's thresholding and connected-components segmentation, then read the Cleaning segmentation learning objective. The exercise is done when learners can inspect nucleus counts and sizes, identify segmentation problems, and connect those observations to later fixes such as separating merged objects or removing border objects.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.