large-image-source-openslide 1.32.0a3__py3-none-any.whl → 1.32.1a106__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ import os
20
20
  from importlib.metadata import PackageNotFoundError
21
21
  from importlib.metadata import version as _importlib_version
22
22
 
23
+ import numpy as np
23
24
  import openslide
24
25
  import PIL
25
26
  import tifftools
@@ -186,6 +187,12 @@ class OpenslideFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
186
187
  self._svslevels = self._svslevels[prevlevels - self.levels:]
187
188
  except Exception:
188
189
  pass
190
+ try:
191
+ self._background = tuple(int(
192
+ self._openslide.properties['openslide.background-color']
193
+ [i * 2:i * 2 + 2], 16) for i in range(3))
194
+ except Exception:
195
+ self._background = None
189
196
  self._populatedLevels = len({l['svslevel'] for l in self._svslevels})
190
197
 
191
198
  def _getTileSize(self):
@@ -356,6 +363,10 @@ class OpenslideFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
356
363
  retries -= 1
357
364
  if retries <= 0:
358
365
  raise TileSourceError(msg)
366
+ if tile.mode == 'RGBA' and self._background:
367
+ tile = np.array(tile)
368
+ tile[tile[:, :, -1] == 0, :3] = self._background
369
+ tile = PIL.Image.fromarray(tile, 'RGBA')
359
370
  # Always scale to the svs level 0 tile size.
360
371
  if svslevel['scale'] != 1:
361
372
  tile = tile.resize((self.tileWidth, self.tileHeight),
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: large-image-source-openslide
3
- Version: 1.32.0a3
3
+ Version: 1.32.1a106
4
4
  Summary: An Openslide tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.13
19
19
  Requires-Python: >=3.8
20
20
  Description-Content-Type: text/x-rst
21
21
  License-File: LICENSE
22
- Requires-Dist: large-image>=1.32.0a3
22
+ Requires-Dist: large-image>=1.32.1.a106
23
23
  Requires-Dist: openslide-python>=1.4.1
24
24
  Requires-Dist: openslide-bin; platform_system == "Linux" and platform_machine == "x86_64"
25
25
  Requires-Dist: openslide-bin; platform_system == "Linux" and platform_machine == "aarch64"
@@ -28,7 +28,7 @@ Requires-Dist: openslide-bin; platform_system == "Darwin" and platform_machine =
28
28
  Requires-Dist: openslide-bin; platform_system == "Darwin" and platform_machine == "x86_64"
29
29
  Requires-Dist: tifftools>=1.2.0
30
30
  Provides-Extra: girder
31
- Requires-Dist: girder-large-image>=1.32.0a3; extra == "girder"
31
+ Requires-Dist: girder-large-image>=1.32.1.a106; extra == "girder"
32
32
  Dynamic: author
33
33
  Dynamic: author-email
34
34
  Dynamic: classifier
@@ -37,6 +37,7 @@ Dynamic: description-content-type
37
37
  Dynamic: home-page
38
38
  Dynamic: keywords
39
39
  Dynamic: license
40
+ Dynamic: license-file
40
41
  Dynamic: provides-extra
41
42
  Dynamic: requires-dist
42
43
  Dynamic: requires-python
@@ -0,0 +1,8 @@
1
+ large_image_source_openslide/__init__.py,sha256=UVdsXIFt66wHuohQnIhhhP4QUW4-AxrEWPEgrTPoGU4,20979
2
+ large_image_source_openslide/girder_source.py,sha256=ntLgOinO7xcO85wFbjx6XEBmTgEtx5cuPZ_K6wXZzqA,1199
3
+ large_image_source_openslide-1.32.1a106.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
4
+ large_image_source_openslide-1.32.1a106.dist-info/METADATA,sha256=8u4T_bPIAcwSfCb28gI-cOwSpGrkQdg7mPuf5GzRi6E,1876
5
+ large_image_source_openslide-1.32.1a106.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
6
+ large_image_source_openslide-1.32.1a106.dist-info/entry_points.txt,sha256=4Z5cf63yeesvHxiR9W1dY3rfz5_V4Ck2xYhPUp4A1qA,196
7
+ large_image_source_openslide-1.32.1a106.dist-info/top_level.txt,sha256=wqaQQDWQl9a_l9s6n07tTxfjeEXePtHBhz1np6aUwQE,29
8
+ large_image_source_openslide-1.32.1a106.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,8 +0,0 @@
1
- large_image_source_openslide/__init__.py,sha256=O1-E-D7ZdY6Ta_ngId_HV0uqqxAbuY_J9fKTNVOFulE,20495
2
- large_image_source_openslide/girder_source.py,sha256=ntLgOinO7xcO85wFbjx6XEBmTgEtx5cuPZ_K6wXZzqA,1199
3
- large_image_source_openslide-1.32.0a3.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
4
- large_image_source_openslide-1.32.0a3.dist-info/METADATA,sha256=vjyLl4LBhkNQra44wtXtbBb43n0yTBZnXQogQKM2mww,1846
5
- large_image_source_openslide-1.32.0a3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
6
- large_image_source_openslide-1.32.0a3.dist-info/entry_points.txt,sha256=4Z5cf63yeesvHxiR9W1dY3rfz5_V4Ck2xYhPUp4A1qA,196
7
- large_image_source_openslide-1.32.0a3.dist-info/top_level.txt,sha256=wqaQQDWQl9a_l9s6n07tTxfjeEXePtHBhz1np6aUwQE,29
8
- large_image_source_openslide-1.32.0a3.dist-info/RECORD,,