Skip to content

Add imagecodecs packages #1439

Open
Open
@anwai98

Description

@anwai98

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugbug & failures with existing packageshelp wanted

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions