dask / dask/dask-image

jp2 slicing

Open
#359 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
226
Forks
56
PR merge metrics
No merged PRs in 30d

Description

**Describe the issue**: Hi, I am trying to use dask_image.imread.imread() to speed up the sub-volume extraction on my dataset of .jp2 format, but it throws an error when I extract multiple slices.

**Psudocode Example**:

```python
import dask_image.imread

def read_subvol_stack(path, file_type):
img_array_dask = dask_image.imread.imread(f"{path}/*.{file_type}")
print(img_array_dask)
img_array = img_array_dask[0:900, :, :].compute()
return img_array
```
The print() function gives:
```
dask.array<_map_read_frame, shape=(3770, 1898, 1898), dtype=uint16, chunksize=(1, 1898, 1898), chunktype=numpy.ndarray>
```
When the compute() is running, an error occurs:
```
ValueError: could not broadcast input array from shape (1,1898,1898) into shape (1,1,1898)
```
I have checked, when compute() function activated, the imread() will read an image in shape of (1,1,1898, 1898), so the chunk size of (1, 1898, 1898) can’t be broadcast.

The code works well for .tif or .png images.

**Anything else we need to know?**:
I replicate the error if it helps: https://github.com/YangForever/DaskImageSlicing/tree/main

**Environment**:

- Dask version: 2023.11.0
- Python version: 3.9
- Operating System: Ubuntu 20.04
- Install method (conda, pip, source): conda

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.