large-image-source-vips 1.30.7.dev2__tar.gz → 1.30.7.dev4__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.
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/PKG-INFO +2 -2
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips/__init__.py +16 -4
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/PKG-INFO +2 -2
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/requires.txt +1 -1
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/LICENSE +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/README.rst +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips/girder_source.py +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/SOURCES.txt +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/dependency_links.txt +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/entry_points.txt +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/large_image_source_vips.egg-info/top_level.txt +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/pyproject.toml +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/setup.cfg +0 -0
- {large_image_source_vips-1.30.7.dev2 → large_image_source_vips-1.30.7.dev4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-vips
|
|
3
|
-
Version: 1.30.7.
|
|
3
|
+
Version: 1.30.7.dev4
|
|
4
4
|
Summary: A libvips 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.30.7.
|
|
22
|
+
Requires-Dist: large-image>=1.30.7.dev4
|
|
23
23
|
Requires-Dist: numpy
|
|
24
24
|
Requires-Dist: packaging
|
|
25
25
|
Requires-Dist: pyvips
|
|
@@ -60,7 +60,7 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
60
60
|
|
|
61
61
|
_tileSize = 256
|
|
62
62
|
|
|
63
|
-
def __init__(self, path, **kwargs):
|
|
63
|
+
def __init__(self, path, **kwargs): # noqa
|
|
64
64
|
"""
|
|
65
65
|
Initialize the tile class. See the base class for other available
|
|
66
66
|
parameters.
|
|
@@ -70,6 +70,7 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
70
70
|
super().__init__(path, **kwargs)
|
|
71
71
|
self.addKnownExtensions()
|
|
72
72
|
|
|
73
|
+
self._suffix = ''
|
|
73
74
|
if str(path).startswith(NEW_IMAGE_PATH_FLAG):
|
|
74
75
|
self._initNew(**kwargs)
|
|
75
76
|
return
|
|
@@ -85,6 +86,11 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
85
86
|
raise TileSourceFileNotFoundError(self._largeImagePath) from None
|
|
86
87
|
msg = 'File cannot be opened via pyvips'
|
|
87
88
|
raise TileSourceError(msg)
|
|
89
|
+
# Ask pdfs to render at a higher resolution
|
|
90
|
+
if ('vips-loader' in self._image.get_fields() and
|
|
91
|
+
self._image.get('vips-loader') in {'pdfload'}):
|
|
92
|
+
self._suffix = ',dpi=144'
|
|
93
|
+
self._image = pyvips.Image.new_from_file(self._largeImagePath + '[dpi=300]')
|
|
88
94
|
self.sizeX = self._image.width
|
|
89
95
|
self.sizeY = self._image.height
|
|
90
96
|
self.tileWidth = self.tileHeight = self._tileSize
|
|
@@ -93,7 +99,7 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
93
99
|
pages = self._image.get('n-pages')
|
|
94
100
|
self._frames = [0]
|
|
95
101
|
for page in range(1, pages):
|
|
96
|
-
subInputPath = self._largeImagePath + '[page
|
|
102
|
+
subInputPath = self._largeImagePath + f'[page={page}{self._suffix}]'
|
|
97
103
|
with _newFromFileLock:
|
|
98
104
|
try:
|
|
99
105
|
subImage = pyvips.Image.new_from_file(subInputPath)
|
|
@@ -102,6 +108,10 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
102
108
|
if subImage.width == self.sizeX and subImage.height == self.sizeY:
|
|
103
109
|
self._frames.append(page)
|
|
104
110
|
continue
|
|
111
|
+
if (self.sizeX - 16 < subImage.width <= self.sizeX and
|
|
112
|
+
self.sizeY - 16 < subImage.height <= self.sizeY):
|
|
113
|
+
self._frames.append(page)
|
|
114
|
+
continue
|
|
105
115
|
if subImage.width * subImage.height < self.sizeX * self.sizeY:
|
|
106
116
|
continue
|
|
107
117
|
self._frames = [page]
|
|
@@ -197,7 +207,7 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
197
207
|
if frame > 0:
|
|
198
208
|
with self._frameLock:
|
|
199
209
|
if frame not in self._recentFrames:
|
|
200
|
-
subpath = self._largeImagePath + '[page
|
|
210
|
+
subpath = self._largeImagePath + f'[page={self._frames[frame]}{self._suffix}]'
|
|
201
211
|
with _newFromFileLock:
|
|
202
212
|
img = pyvips.Image.new_from_file(subpath)
|
|
203
213
|
self._recentFrames[frame] = img
|
|
@@ -223,7 +233,9 @@ class VipsFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
223
233
|
self._xyzInRange(x, y, z, frame, len(self._frames))
|
|
224
234
|
img = self._getFrameImage(frame)
|
|
225
235
|
x0, y0, x1, y1, step = self._xyzToCorners(x, y, z)
|
|
226
|
-
tileimg = img.crop(x0,
|
|
236
|
+
tileimg = img.crop(min(x0, img.width), min(y0, img.height),
|
|
237
|
+
min(x1, img.width) - min(x0, img.width),
|
|
238
|
+
min(y1, img.height) - min(y0, img.height))
|
|
227
239
|
try:
|
|
228
240
|
if step != 1:
|
|
229
241
|
tileimg = tileimg.resize(1.0 / step, kernel=pyvips.enums.Kernel.NEAREST, gap=0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-vips
|
|
3
|
-
Version: 1.30.7.
|
|
3
|
+
Version: 1.30.7.dev4
|
|
4
4
|
Summary: A libvips 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.30.7.
|
|
22
|
+
Requires-Dist: large-image>=1.30.7.dev4
|
|
23
23
|
Requires-Dist: numpy
|
|
24
24
|
Requires-Dist: packaging
|
|
25
25
|
Requires-Dist: pyvips
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|