Open
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: <COMPRESSION.LZW: 5> requires the 'imagecodecs' package
To Reproduce
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.
(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 (#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!