dask / dask/dask-image

One `imread` to rule them all

Open
#229 9 comments 3 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.