One `imread` to rule them all
- Dominant language
- Python
- Stars
- 226
- Forks
- 56
- PR merge metrics
- No merged PRs in 30d
Description
A lot of people have put a lot of effort into `imread` lately. This is great, and it's really helped. However, we've still got a way to go.
This is where I see the four major areas problems pop up in:
1. Read image data into Dask arrays accurately. We need more simple test cases here. Bug report: https://github.com/dask/dask-image/issues/220
2. Reduce confusion. Currently, there are multiple implementations of a dask `imread` function. The two most easily confused are `dask_image.imread.imread()` and `dask.array.image.imread()`. We need to figure out which is best, and only use that one.
3. Read data in fast. For that, we'll need to have some proper benchmarks, and run them routinely as part of the CI. This will help us decide (2) above. Previous discussion:
* Imread performance issue https://github.com/dask/dask-image/issues/181
* Getting movie files into Dask efficiently https://github.com/dask/dask-image/issues/134
4. Process the image data fast, too. For that to happen, we need smart default choices for how we chunk image data in dask arrays. Jackson Maxfield Brown describes the problem well in [this short video here](https://www.youtube.com/watch?v=LNa_gGpSnvc&list=PLJ0vO2F_f6OBAY6hjRHM_mIQ9yh32mWr0&index=8)
Contributor guide
Research direction
Start by comparing dask_image.imread.imread() with dask.array.image.imread(), then read the linked issues 220, 181, and 134. The issue spans accuracy tests, implementation choice, performance benchmarks in CI, and chunking defaults; done would require decisions and work across these areas.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100