Registry / data / dask-image

dask-image

JSON →
library2026.5.0pypypi✓ verified 90d ago

Dask-Image provides distributed image processing capabilities built on Dask, enabling scalable operations on large image datasets that exceed memory. It is currently at version 2025.11.0 and typically releases on an annual cadence, often in sync with other Dask ecosystem projects, with bug fix releases as needed.

pip install dask-image
INSTALL
IMPORT
SIG · DASK-IMAGE
D
dask-image
datapythonv2026.5.0
Install
14.5s avg
Import
2074ms
Disk
515MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v2026.5.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.940 runs
installs and imports cleanly · install 0.0s · import 2.123s · 526.2MB
glibc
py 3.10–3.940 runs
installs and imports cleanly · install 14.5s · import 2.025s · 490MB
515MB installed
● package 515MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

imread
✓ from dask_image.imread import imread
✗ from dask.array.image import imread
The image loading utility was moved from dask.array to dask_image.imread in older versions.
gaussian_filter
✓ from dask_image.ndfilters import gaussian_filter
label
✓ from dask_image.ndmeasure import label

This quickstart demonstrates how to create a Dask Array from a dummy NumPy array (simulating a large image) and perform a basic Dask computation (calculating the mean intensity). For actual image files, `dask_image.imread.imread` is used. Note that many `dask-image` functions leverage underlying libraries like scikit-image, which might need to be installed separately for full functionality (e.g., `pip install 'dask-image[complete]'`).

import dask.array as da import dask_image.imread import numpy as np # Simulate loading a large image (e.g., a multi-gigabyte TIFF file) # In a real scenario, you'd use: image_dask = dask_image.imread.imread('path/to/your/large_image.tif') # For quickstart, create a dummy Dask array: dummy_data = np.random.rand(2000, 2000, 3).astype(np.float32) image_dask = da.from_array(dummy_data, chunks=(512, 512, 3)) print(f"Dask Array shape: {image_dask.shape}") print(f"Dask Array chunks: {image_dask.chunks}") # Perform a simple Dask computation (e.g., calculate the mean intensity) mean_intensity = image_dask.mean().compute() print(f"Mean intensity of the image: {mean_intensity:.4f}") # Example using a filter (requires 'dask-image[complete]' for scikit-image) # from dask_image.ndfilters import gaussian_filter # filtered_image_dask = gaussian_filter(image_dask, sigma=1) # print(f"Filtered Dask Array shape: {filtered_image_dask.shape}") # print(f"Filtered image mean: {filtered_image_dask.mean().compute():.4f}")
Debug
Known issues
gotchaDirectly using NumPy or SciPy functions on Dask Arrays without Dask-Image wrappers will often fail or lead to inefficient computations.
fix
Always use `dask_image.ndfilters`, `dask_image.ndmeasure`, etc., or `dask.array` methods where available. For example, use `dask_image.ndfilters.gaussian_filter` instead of `scipy.ndimage.gaussian_filter` on a Dask array.
affects: All versions
gotchaPoor chunking strategies can lead to severe performance issues or out-of-memory errors, especially when processing large images.
fix
Carefully consider your Dask array chunk sizes. For 3D+ data, matching chunks to processor cache or natural image tile boundaries is often optimal. Use `image_dask.rechunk()` to adjust if necessary. Monitor the Dask dashboard for memory usage.
affects: All versions
deprecatedThe `imread` function for image loading was moved from `dask.array.image` to `dask_image.imread`.
fix
Update your import statement from `from dask.array.image import imread` to `from dask_image.imread import imread`. This is an older change but can still affect users following outdated tutorials.
affects: < 0.3.0 (dask-image) / Dask versions prior to 2021.06.0
Errors
Common errors & fixes
AttributeError: module 'dask.array' has no attribute 'image'
Attempting to import `imread` from the old `dask.array.image` path, which no longer exists.
fix
Change the import to `from dask_image.imread import imread`.
NotImplementedError: The 'scipy.ndimage.gaussian_filter' function is not implemented for Dask arrays.
Trying to apply a raw SciPy (or NumPy) function directly to a Dask Array, which does not automatically distribute the operation.
fix
Use the equivalent function from `dask_image.ndfilters` (e.g., `from dask_image.ndfilters import gaussian_filter`) or a `dask.array` method if one exists.
ModuleNotFoundError: No module named 'tifffile'
Attempting to load TIFF files using `dask_image.imread.imread` without the necessary `tifffile` dependency installed.
fix
Install `tifffile` via `pip install tifffile` or install `dask-image` with complete extras: `pip install 'dask-image[complete]'`.
Upgrade
Version history
2026.5.0latest on PyPI · released May 27, 2026
Audit
Dependencies
daskrequiredCore dependency for distributed computing.
numpyrequiredUnderlying array operations.
scikit-imageoptionalCommonly used for many image processing functions (e.g., filters, morphology) leveraged by dask-image.
tifffileoptionalUsed by `dask_image.imread` for reading TIFF files.
Agent activity
16 hits · last 30 days
node
14
OpenAI (training)
1
Resources
dask-image — pip install dask-image · libregistry