Kaggle / Kaggle/docker-python

Add imagecodecs packages

Open
#1,439 1 comment 0 reactions 0 assignees View on GitHub
bug help wanted
Dominant language
Python
Stars
2.7k
Forks
1k
Avg merge
7d 14h
Merged PRs (30d)
2

Description

## 🐛 Bug

TLDR error: `imagecodecs` is not found by `tifffile` for decoding input images.

Error trace:
```
/opt/conda/lib/python3.10/site-packages/imageio/v3.py in ?(uri, index, plugin, extension, format_hint, **kwargs)
50 if index is not None:
51 call_kwargs["index"] = index
52
53 with imopen(uri, "r", **plugin_kwargs) as img_file:
---> 54 return np.asarray(img_file.read(**call_kwargs))

/opt/conda/lib/python3.10/site-packages/imageio/plugins/tifffile_v3.py in ?(self, index, page, **kwargs)
165 # read all series in the file and return them as a batch
166 ndimage = np.stack([x for x in self.iter(**kwargs)])
167 else:
168 index = None if index is Ellipsis else index
--> 169 ndimage = self._fh.asarray(series=index, **kwargs)
170
171 return ndimage

/opt/conda/lib/python3.10/site-packages/tifffile/tifffile.py in ?(self, key, series, level, squeeze, out, maxworkers, buffersize)

/opt/conda/lib/python3.10/site-packages/tifffile/tifffile.py in ?(self, out, squeeze, lock, maxworkers, buffersize)

/opt/conda/lib/python3.10/site-packages/tifffile/tifffile.py in ?(self, lock, maxworkers, func, sort, buffersize, _fullsize)

/opt/conda/lib/python3.10/site-packages/tifffile/tifffile.py in ?(args, decodeargs, decode)
9179 def get_resolution(
-> 9180 self,
9181 unit: RESUNIT | int | str | None = None,
9182 scale: float | int | None = None,
9183 ) -> tuple[int | float, int | float]:

/opt/conda/lib/python3.10/site-packages/tifffile/tifffile.py in ?(exc, *args, **kwargs)
8603 def unpack(data: bytes, /) -> NDArray[Any]:
-> 8604 # return NumPy array from packed integers
8605 return imagecodecs.packints_decode(
8606 data, dtype, self.bitspersample, runlen=stwidth * samples
8607 )

ValueError: requires the 'imagecodecs' package
```

### To Reproduce

```python
import imageio.v3 as imageio
!wget -q https://owncloud.gwdg.de/index.php/s/3gAgXzzObADpAoL/download -O data.tif
image = imageio.imread("data.tif")
```

### Expected behavior

This works seamlessly in my local system.

```bash
(sam) anwai@anwai:~/data/test$ python
Python 3.10.0 | packaged by conda-forge | (default, Nov 20 2021, 02:24:10) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import imageio.v3 as imageio
>>> import subprocess
>>> subprocess.run(["wget", "https://owncloud.gwdg.de/index.php/s/3gAgXzzObADpAoL/download", "-O", "data.tif"])
--2024-11-13 18:34:14-- https://owncloud.gwdg.de/index.php/s/3gAgXzzObADpAoL/download
Resolving owncloud.gwdg.de (owncloud.gwdg.de)... 134.76.23.45
Connecting to owncloud.gwdg.de (owncloud.gwdg.de)|134.76.23.45|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 215312 (210K) [image/tiff]
Saving to: ‘data.tif’

data.tif 100%[================================================================>] 210,27K --.-KB/s in 0,02s

2024-11-13 18:34:15 (12,5 MB/s) - ‘data.tif’ saved [215312/215312]

CompletedProcess(args=['wget', 'https://owncloud.gwdg.de/index.php/s/3gAgXzzObADpAoL/download', '-O', 'data.tif'], returncode=0)
>>> image = imageio.imread("data.tif")
>>> image.shape
(512, 512)
```

### Additional context

Seems like the package was removed in this PR (https://github.com/Kaggle/docker-python/pull/1425).

Also, installing this using `pip` or `conda` (using `pip install imagecodecs` / `conda install -c conda-forge imagecodecs`) does not seem to resolve the issue.

Thanks in advance!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.