large-image-source-pil 1.29.7.dev20__tar.gz → 1.29.7.dev24__tar.gz

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.
Files changed (14) hide show
  1. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/PKG-INFO +3 -3
  2. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil/__init__.py +21 -11
  3. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/PKG-INFO +3 -3
  4. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/requires.txt +2 -2
  5. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/LICENSE +0 -0
  6. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/README.rst +0 -0
  7. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil/girder_source.py +0 -0
  8. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/SOURCES.txt +0 -0
  9. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/dependency_links.txt +0 -0
  10. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/entry_points.txt +0 -0
  11. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/large_image_source_pil.egg-info/top_level.txt +0 -0
  12. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/pyproject.toml +0 -0
  13. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/setup.cfg +0 -0
  14. {large-image-source-pil-1.29.7.dev20 → large-image-source-pil-1.29.7.dev24}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-pil
3
- Version: 1.29.7.dev20
3
+ Version: 1.29.7.dev24
4
4
  Summary: A Pillow tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -18,14 +18,14 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.8
19
19
  Description-Content-Type: text/x-rst
20
20
  License-File: LICENSE
21
- Requires-Dist: large-image>=1.29.7.dev20
21
+ Requires-Dist: large-image>=1.29.7.dev24
22
22
  Provides-Extra: all
23
23
  Requires-Dist: rawpy; extra == "all"
24
24
  Requires-Dist: pillow-heif; extra == "all"
25
25
  Requires-Dist: pillow-jxl-plugin; extra == "all"
26
26
  Requires-Dist: pillow-jpls; extra == "all"
27
27
  Provides-Extra: girder
28
- Requires-Dist: girder-large-image>=1.29.7.dev20; extra == "girder"
28
+ Requires-Dist: girder-large-image>=1.29.7.dev24; extra == "girder"
29
29
 
30
30
  A Pillow tilesource for large_image.
31
31
 
@@ -104,7 +104,7 @@ class PILFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
104
104
  'image/jpeg': SourcePriority.LOW,
105
105
  }
106
106
 
107
- def __init__(self, path, maxSize=None, **kwargs):
107
+ def __init__(self, path, maxSize=None, **kwargs): # noqa
108
108
  """
109
109
  Initialize the tile class. See the base class for other available
110
110
  parameters.
@@ -167,9 +167,16 @@ class PILFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
167
167
  pilImageMode = self._pilImage.mode.split(';')[0]
168
168
  self._factor = None
169
169
  if pilImageMode in ('I', 'F'):
170
- imgdata = np.asarray(self._pilImage)
170
+ try:
171
+ imgdata = np.asarray(self._pilImage)
172
+ if np.isnan(np.sum(imgdata)):
173
+ imgdata = imgdata.copy()
174
+ imgdata[np.isnan(imgdata)] = 0
175
+ except Exception:
176
+ msg = 'PIL cannot find loader for this file.'
177
+ raise TileSourceError(msg)
171
178
  maxval = 256 ** math.ceil(math.log(np.max(imgdata) + 1, 256)) - 1
172
- self._factor = 255.0 / maxval
179
+ self._factor = 255.0 / max(maxval, 1)
173
180
  self._pilImage = PIL.Image.fromarray(np.uint8(np.multiply(
174
181
  imgdata, self._factor)))
175
182
  self.sizeX = self._pilImage.width
@@ -187,14 +194,17 @@ class PILFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
187
194
  self._frames = None
188
195
  self._frameCount = 1
189
196
  if hasattr(self._pilImage, 'seek'):
190
- baseSize, baseMode = self._pilImage.size, self._pilImage.mode
191
- self._frames = [
192
- idx for idx, frame in enumerate(PIL.ImageSequence.Iterator(self._pilImage))
193
- if frame.size == baseSize and frame.mode == baseMode]
194
- self._pilImage.seek(0)
195
- self._frameImage = self._pilImage
196
- self._frameCount = len(self._frames)
197
- self._tileLock = threading.RLock()
197
+ try:
198
+ baseSize, baseMode = self._pilImage.size, self._pilImage.mode
199
+ self._frames = [
200
+ idx for idx, frame in enumerate(PIL.ImageSequence.Iterator(self._pilImage))
201
+ if frame.size == baseSize and frame.mode == baseMode]
202
+ self._pilImage.seek(0)
203
+ self._frameImage = self._pilImage
204
+ self._frameCount = len(self._frames)
205
+ self._tileLock = threading.RLock()
206
+ except Exception:
207
+ self._pilImage.seek(0)
198
208
 
199
209
  def _fromRawpy(self, largeImagePath):
200
210
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-pil
3
- Version: 1.29.7.dev20
3
+ Version: 1.29.7.dev24
4
4
  Summary: A Pillow tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -18,14 +18,14 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.8
19
19
  Description-Content-Type: text/x-rst
20
20
  License-File: LICENSE
21
- Requires-Dist: large-image>=1.29.7.dev20
21
+ Requires-Dist: large-image>=1.29.7.dev24
22
22
  Provides-Extra: all
23
23
  Requires-Dist: rawpy; extra == "all"
24
24
  Requires-Dist: pillow-heif; extra == "all"
25
25
  Requires-Dist: pillow-jxl-plugin; extra == "all"
26
26
  Requires-Dist: pillow-jpls; extra == "all"
27
27
  Provides-Extra: girder
28
- Requires-Dist: girder-large-image>=1.29.7.dev20; extra == "girder"
28
+ Requires-Dist: girder-large-image>=1.29.7.dev24; extra == "girder"
29
29
 
30
30
  A Pillow tilesource for large_image.
31
31
 
@@ -1,4 +1,4 @@
1
- large-image>=1.29.7.dev20
1
+ large-image>=1.29.7.dev24
2
2
 
3
3
  [all]
4
4
  rawpy
@@ -7,4 +7,4 @@ pillow-jxl-plugin
7
7
  pillow-jpls
8
8
 
9
9
  [girder]
10
- girder-large-image>=1.29.7.dev20
10
+ girder-large-image>=1.29.7.dev24