large-image-source-tifffile 1.28.2.dev26__tar.gz → 1.28.2.dev28__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.

Potentially problematic release.


This version of large-image-source-tifffile might be problematic. Click here for more details.

Files changed (15) hide show
  1. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/PKG-INFO +3 -3
  2. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile/__init__.py +16 -17
  3. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile.egg-info/PKG-INFO +3 -3
  4. large-image-source-tifffile-1.28.2.dev28/large_image_source_tifffile.egg-info/requires.txt +7 -0
  5. large-image-source-tifffile-1.28.2.dev26/large_image_source_tifffile.egg-info/requires.txt +0 -7
  6. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/LICENSE +0 -0
  7. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/README.rst +0 -0
  8. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile/girder_source.py +0 -0
  9. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile.egg-info/SOURCES.txt +0 -0
  10. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile.egg-info/dependency_links.txt +0 -0
  11. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile.egg-info/entry_points.txt +0 -0
  12. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/large_image_source_tifffile.egg-info/top_level.txt +0 -0
  13. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/pyproject.toml +0 -0
  14. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/setup.cfg +0 -0
  15. {large-image-source-tifffile-1.28.2.dev26 → large-image-source-tifffile-1.28.2.dev28}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-tifffile
3
- Version: 1.28.2.dev26
3
+ Version: 1.28.2.dev28
4
4
  Summary: A tifffile tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -17,12 +17,12 @@ Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.8
19
19
  License-File: LICENSE
20
- Requires-Dist: large-image>=1.28.2.dev26
20
+ Requires-Dist: large-image>=1.28.2.dev28
21
21
  Requires-Dist: dask[array]
22
22
  Requires-Dist: tifffile[all]
23
23
  Requires-Dist: zarr
24
24
  Provides-Extra: girder
25
- Requires-Dist: girder-large-image>=1.28.2.dev26; extra == "girder"
25
+ Requires-Dist: girder-large-image>=1.28.2.dev28; extra == "girder"
26
26
 
27
27
  A tifffile tilesource for large_image.
28
28
 
@@ -474,19 +474,12 @@ class TifffileFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
474
474
  sidx = frame // self._basis['P'][0]
475
475
  else:
476
476
  sidx = 0
477
- series = self._tf.series[self._series[sidx]]
478
477
  nonempty = [None] * self.levels
479
478
  nonempty[self.levels - 1] = True
479
+ series = self._tf.series[self._series[sidx]]
480
+ za, hasgbs = self._getZarrArray(series, sidx)
480
481
  xidx = series.axes.index('X')
481
482
  yidx = series.axes.index('Y')
482
- with self._zarrlock:
483
- if sidx not in self._zarrcache:
484
- if len(self._zarrcache) > 10:
485
- self._zarrcache = {}
486
- za = zarr.open(series.aszarr(), mode='r')
487
- hasgbs = hasattr(za[0], 'get_basic_selection')
488
- self._zarrcache[sidx] = (za, hasgbs)
489
- za, hasgbs = self._zarrcache[sidx]
490
483
  for ll in range(1, len(series.levels)):
491
484
  scale = round(math.log(max(za[0].shape[xidx] / za[ll].shape[xidx],
492
485
  za[0].shape[yidx] / za[ll].shape[yidx])) / math.log(2))
@@ -497,6 +490,19 @@ class TifffileFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
497
490
  self._nonempty_levels_list[frame] = nonempty
498
491
  return nonempty
499
492
 
493
+ def _getZarrArray(self, series, sidx):
494
+ with self._zarrlock:
495
+ if sidx not in self._zarrcache:
496
+ if len(self._zarrcache) > 10:
497
+ self._zarrcache = {}
498
+ za = zarr.open(series.aszarr(), mode='r')
499
+ hasgbs = hasattr(za[0], 'get_basic_selection')
500
+ if not hasgbs and math.prod(series.shape) < 256 * 1024 ** 2:
501
+ za = series.asarray()
502
+ self._zarrcache[sidx] = (za, hasgbs)
503
+ za, hasgbs = self._zarrcache[sidx]
504
+ return za, hasgbs
505
+
500
506
  @methodcache()
501
507
  def getTile(self, x, y, z, pilImageAllowed=False, numpyAllowed=False, **kwargs):
502
508
  frame = self._getFrame(**kwargs)
@@ -507,14 +513,7 @@ class TifffileFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
507
513
  else:
508
514
  sidx = 0
509
515
  series = self._tf.series[self._series[sidx]]
510
- with self._zarrlock:
511
- if sidx not in self._zarrcache:
512
- if len(self._zarrcache) > 10:
513
- self._zarrcache = {}
514
- za = zarr.open(series.aszarr(), mode='r')
515
- hasgbs = hasattr(za[0], 'get_basic_selection')
516
- self._zarrcache[sidx] = (za, hasgbs)
517
- za, hasgbs = self._zarrcache[sidx]
516
+ za, hasgbs = self._getZarrArray(series, sidx)
518
517
  xidx = series.axes.index('X')
519
518
  yidx = series.axes.index('Y')
520
519
  if hasgbs:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-tifffile
3
- Version: 1.28.2.dev26
3
+ Version: 1.28.2.dev28
4
4
  Summary: A tifffile tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -17,12 +17,12 @@ Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.8
19
19
  License-File: LICENSE
20
- Requires-Dist: large-image>=1.28.2.dev26
20
+ Requires-Dist: large-image>=1.28.2.dev28
21
21
  Requires-Dist: dask[array]
22
22
  Requires-Dist: tifffile[all]
23
23
  Requires-Dist: zarr
24
24
  Provides-Extra: girder
25
- Requires-Dist: girder-large-image>=1.28.2.dev26; extra == "girder"
25
+ Requires-Dist: girder-large-image>=1.28.2.dev28; extra == "girder"
26
26
 
27
27
  A tifffile tilesource for large_image.
28
28
 
@@ -0,0 +1,7 @@
1
+ large-image>=1.28.2.dev28
2
+ dask[array]
3
+ tifffile[all]
4
+ zarr
5
+
6
+ [girder]
7
+ girder-large-image>=1.28.2.dev28
@@ -1,7 +0,0 @@
1
- large-image>=1.28.2.dev26
2
- dask[array]
3
- tifffile[all]
4
- zarr
5
-
6
- [girder]
7
- girder-large-image>=1.28.2.dev26