From b5ee42886b132e25a8f5a14c5d8a36daace860cc Mon Sep 17 00:00:00 2001 From: measty <20169086+measty@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:27:06 +0000 Subject: [PATCH 1/4] fix zarr checking --- tiatoolbox/wsicore/wsireader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiatoolbox/wsicore/wsireader.py b/tiatoolbox/wsicore/wsireader.py index 482a503f4..98df59e5a 100644 --- a/tiatoolbox/wsicore/wsireader.py +++ b/tiatoolbox/wsicore/wsireader.py @@ -129,7 +129,7 @@ def is_ngff( # noqa: PLR0911 store = zarr.SQLiteStore(str(path)) if path.is_file() and is_sqlite3(path) else path try: zarr_group = zarr.open(store, mode="r") - except (zarr.errors.FSPathExistNotDir, zarr.errors.PathNotFoundError): + except Exception: # skipcq: PYL-W0703 # noqa: BLE001 return False if not isinstance(zarr_group, zarr.hierarchy.Group): return False From 1ac61c5c42fd625774b812de00b651f42c52ca40 Mon Sep 17 00:00:00 2001 From: measty <20169086+measty@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:44:27 +0000 Subject: [PATCH 2/4] use cross-version syntax for zarr.group --- tiatoolbox/wsicore/wsireader.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tiatoolbox/wsicore/wsireader.py b/tiatoolbox/wsicore/wsireader.py index 98df59e5a..e8d5ed731 100644 --- a/tiatoolbox/wsicore/wsireader.py +++ b/tiatoolbox/wsicore/wsireader.py @@ -131,7 +131,7 @@ def is_ngff( # noqa: PLR0911 zarr_group = zarr.open(store, mode="r") except Exception: # skipcq: PYL-W0703 # noqa: BLE001 return False - if not isinstance(zarr_group, zarr.hierarchy.Group): + if not isinstance(zarr_group, zarr.Group): return False group_attrs = zarr_group.attrs.asdict() try: @@ -3506,8 +3506,8 @@ def page_area(page: tifffile.TiffPage) -> float: ) self._zarr_lru_cache = zarr.LRUStoreCache(self._zarr_store, max_size=cache_size) self._zarr_group = zarr.open(self._zarr_lru_cache) - if not isinstance(self._zarr_group, zarr.hierarchy.Group): - group = zarr.hierarchy.group() + if not isinstance(self._zarr_group, zarr.Group): + group = zarr.group() group[0] = self._zarr_group self._zarr_group = group self.level_arrays = { @@ -4746,7 +4746,7 @@ def __init__(self: NGFFWSIReader, path: str | Path, **kwargs: dict) -> None: numcodecs.register_codecs() store = zarr.SQLiteStore(path) if is_sqlite3(path) else path - self._zarr_group: zarr.hierarchy.Group = zarr.open(store, mode="r") + self._zarr_group: zarr.Group = zarr.open(store, mode="r") attrs = self._zarr_group.attrs multiscales = attrs["multiscales"][0] axes = multiscales["axes"] From f12b048c08caad7a85b50b3e29d484da00f21f92 Mon Sep 17 00:00:00 2001 From: measty <20169086+measty@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:52:46 +0000 Subject: [PATCH 3/4] more zarr v3 changes --- tiatoolbox/wsicore/wsireader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiatoolbox/wsicore/wsireader.py b/tiatoolbox/wsicore/wsireader.py index e8d5ed731..a4546a896 100644 --- a/tiatoolbox/wsicore/wsireader.py +++ b/tiatoolbox/wsicore/wsireader.py @@ -3507,7 +3507,7 @@ def page_area(page: tifffile.TiffPage) -> float: self._zarr_lru_cache = zarr.LRUStoreCache(self._zarr_store, max_size=cache_size) self._zarr_group = zarr.open(self._zarr_lru_cache) if not isinstance(self._zarr_group, zarr.Group): - group = zarr.group() + group = zarr.open_group() group[0] = self._zarr_group self._zarr_group = group self.level_arrays = { From 9d19a5ecead2a2f9b112f2daa14f7bca1613e926 Mon Sep 17 00:00:00 2001 From: Shan E Ahmed Raza <13048456+shaneahmed@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:19:46 +0000 Subject: [PATCH 4/4] :pushpin: Remove Pin from Zarr --- requirements/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index a803eb698..c9053d632 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -34,4 +34,4 @@ torchvision>=0.15.0 tqdm>=4.64.1 umap-learn>=0.5.3 wsidicom>=0.18.0 -zarr>=2.13.3, <3.0.0 +zarr>=2.13.3