carpentries-incubator / carpentries-incubator/bioimage-analysis-python
Episode 3, Exercise 2 proposal - Physical Units
- Dominant language
- HTML
- Stars
- 12
- Forks
- 6
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
### Brief description
Building on [the previous exercise](https://github.com/carpentries-incubator/bioimage-analysis-python/issues/19), learners now estimate the size of objects in the example image (e.g. width of nuclei).
1. Present learners with a specific Z slice from the image, and ask them to estimate the width of a few nuclei:
- first in pixel units (not sure if it's possible to interactively draw a line on matplotlib images to get a width, so may have to present the images with a a pixel grid overlay so they can manually count)
- second in physical units, using the sizes from [`bio-io`'s `.physical_pixel_sizes`](https://bioio-devs.github.io/bioio/OVERVIEW.html#metadata-reading)
2. Present learners with e.g. a YZ slice from the image, and ask them to estimate the height of a few nuclei:
- first in pixel units
- second in physical units. Ideally this dataset is anisotropic, with a larger pixel size in Z than X/Y.
### Learning objective(s)
Covers the ['Physical units from metadata' objective](https://github.com/carpentries-incubator/bioimage-analysis-python/wiki/Learning-Objectives#physical-units-from-metadata)
This exercise will demonstrate the difference between pixel units + physical units, and show learners how to extract this information with `bio-io`. If we use an anisotropic image (with a lower resolution in Z), it will also demonstrate that units can vary between different image dimensions + how to select the correct dimensions / units for our measurements.
### Volunteer(s)
@K-Meech
Contributor guide
Research direction
Review issue 19 and the linked bio-io metadata documentation first. Define the exercise using a specific Z slice and a YZ slice, with pixel- and physical-unit nucleus measurements; completion should cover dimension-specific physical sizes and, ideally, anisotropic Z resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100