Kaggle / Kaggle/docker-python

Add imagecodecs packages

未關閉
#1,439 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug help wanted
主要語言
Python
星號
2.7k
分支
1k
平均合併
7 天 14 小時
30 天內合併 PR
2

描述

## 🐛 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!

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

先檢視 Kaggle/docker-python PR #1425 中移除套件的變更,並使用提供的 TIFF 下載檔重現回報的 imageio.imread("data.tif") 失敗。找出此映像檔在哪裡提供 Python 套件,在該處還原 imagecodecs,並確認重現結果能以 shape (512, 512) 解碼 TIFF。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
docker, python
領域
build-system, infrastructure
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。