large-image-source-multi 1.30.4.dev2__tar.gz → 1.30.5__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_multi-1.30.4.dev2/large_image_source_multi.egg-info → large_image_source_multi-1.30.5}/PKG-INFO +3 -3
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi/__init__.py +17 -7
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5/large_image_source_multi.egg-info}/PKG-INFO +3 -3
- large_image_source_multi-1.30.5/large_image_source_multi.egg-info/requires.txt +9 -0
- large_image_source_multi-1.30.4.dev2/large_image_source_multi.egg-info/requires.txt +0 -9
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/LICENSE +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/README.rst +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/docs/specification.rst +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi/girder_source.py +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi.egg-info/SOURCES.txt +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi.egg-info/dependency_links.txt +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi.egg-info/entry_points.txt +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/large_image_source_multi.egg-info/top_level.txt +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/pyproject.toml +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/setup.cfg +0 -0
- {large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-multi
|
|
3
|
-
Version: 1.30.
|
|
3
|
+
Version: 1.30.5
|
|
4
4
|
Summary: A tilesource for large_image to composite other tile sources
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -20,12 +20,12 @@ Requires-Python: >=3.6
|
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
Requires-Dist: jsonschema
|
|
23
|
-
Requires-Dist: large-image>=1.30.
|
|
23
|
+
Requires-Dist: large-image>=1.30.5
|
|
24
24
|
Requires-Dist: pyyaml
|
|
25
25
|
Provides-Extra: all
|
|
26
26
|
Requires-Dist: scikit-image; extra == "all"
|
|
27
27
|
Provides-Extra: girder
|
|
28
|
-
Requires-Dist: girder-large-image>=1.30.
|
|
28
|
+
Requires-Dist: girder-large-image>=1.30.5; extra == "girder"
|
|
29
29
|
|
|
30
30
|
A tilesource for large_image to composite other tile sources
|
|
31
31
|
|
|
@@ -300,10 +300,12 @@ SourceEntrySchema = {
|
|
|
300
300
|
'sampleScale is applied',
|
|
301
301
|
'type': 'number',
|
|
302
302
|
},
|
|
303
|
-
'style': {
|
|
303
|
+
'style': {
|
|
304
|
+
'description': 'A style specification to pass to the base tile source',
|
|
305
|
+
'type': 'object',
|
|
306
|
+
},
|
|
304
307
|
'params': {
|
|
305
|
-
'description':
|
|
306
|
-
'Additional parameters to pass to the base tile source',
|
|
308
|
+
'description': 'Additional parameters to pass to the base tile source',
|
|
307
309
|
'type': 'object',
|
|
308
310
|
},
|
|
309
311
|
},
|
|
@@ -1035,7 +1037,8 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1035
1037
|
base[y:y + tile.shape[0], x:x + tile.shape[1], :] = tile
|
|
1036
1038
|
return base
|
|
1037
1039
|
|
|
1038
|
-
def _getTransformedTile(self, ts, transform, corners, scale, frame,
|
|
1040
|
+
def _getTransformedTile(self, ts, transform, corners, scale, frame,
|
|
1041
|
+
crop=None, firstMerge=False):
|
|
1039
1042
|
"""
|
|
1040
1043
|
Determine where the target tile's corners are located on the source.
|
|
1041
1044
|
Fetch that so that we have at least sqrt(2) more resolution, then use
|
|
@@ -1052,6 +1055,9 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1052
1055
|
:param crop: an optional dictionary to crop the source image in full
|
|
1053
1056
|
resolution, untransformed coordinates. This may contain left, top,
|
|
1054
1057
|
right, and bottom values in pixels.
|
|
1058
|
+
:param firstMerge: if False and using an alpha channel, transform
|
|
1059
|
+
with nearest neighbor rather than a higher order function to
|
|
1060
|
+
avoid transparency effects.
|
|
1055
1061
|
:returns: a numpy array tile or None, x, y coordinates within the
|
|
1056
1062
|
target tile for the placement of the numpy tile array.
|
|
1057
1063
|
"""
|
|
@@ -1143,9 +1149,12 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1143
1149
|
destShape = [min(destShape[0], outh - y), min(destShape[1], outw - x)]
|
|
1144
1150
|
if destShape[0] <= 0 or destShape[1] <= 0:
|
|
1145
1151
|
return None, None, None
|
|
1146
|
-
# Add an alpha band if needed
|
|
1152
|
+
# Add an alpha band if needed. This has to be done before the
|
|
1153
|
+
# transform if it isn't the first tile, since the unused transformed
|
|
1154
|
+
# areas need to have a zero alpha value
|
|
1147
1155
|
if srcImage.shape[2] in {1, 3}:
|
|
1148
1156
|
_, srcImage = _makeSameChannelDepth(np.zeros((1, 1, srcImage.shape[2] + 1)), srcImage)
|
|
1157
|
+
useNearest = srcImage.shape[2] in {2, 4} and not firstMerge
|
|
1149
1158
|
# skimage.transform.warp is faster and has less artifacts than
|
|
1150
1159
|
# scipy.ndimage.affine_transform. It is faster than using cupy's
|
|
1151
1160
|
# version of scipy's affine_transform when the source and destination
|
|
@@ -1155,7 +1164,7 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1155
1164
|
# provide any speed improvement
|
|
1156
1165
|
srcImage.astype(float),
|
|
1157
1166
|
skimage.transform.AffineTransform(np.linalg.inv(transform)),
|
|
1158
|
-
order=3,
|
|
1167
|
+
order=0 if useNearest else 3,
|
|
1159
1168
|
output_shape=(destShape[0], destShape[1], srcImage.shape[2]),
|
|
1160
1169
|
).astype(srcImage.dtype)
|
|
1161
1170
|
return destImage, x, y
|
|
@@ -1232,7 +1241,8 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1232
1241
|
else:
|
|
1233
1242
|
sourceTile, x, y = self._getTransformedTile(
|
|
1234
1243
|
ts, transform, corners, scale, sourceEntry.get('frame', 0),
|
|
1235
|
-
source.get('position', {}).get('crop')
|
|
1244
|
+
source.get('position', {}).get('crop'),
|
|
1245
|
+
firstMerge=tile is None)
|
|
1236
1246
|
if sourceTile is not None and all(dim > 0 for dim in sourceTile.shape):
|
|
1237
1247
|
targetDtype = np.dtype(self._info.get('dtype', ts.dtype))
|
|
1238
1248
|
changeDtype = sourceTile.dtype != targetDtype
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-multi
|
|
3
|
-
Version: 1.30.
|
|
3
|
+
Version: 1.30.5
|
|
4
4
|
Summary: A tilesource for large_image to composite other tile sources
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -20,12 +20,12 @@ Requires-Python: >=3.6
|
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
Requires-Dist: jsonschema
|
|
23
|
-
Requires-Dist: large-image>=1.30.
|
|
23
|
+
Requires-Dist: large-image>=1.30.5
|
|
24
24
|
Requires-Dist: pyyaml
|
|
25
25
|
Provides-Extra: all
|
|
26
26
|
Requires-Dist: scikit-image; extra == "all"
|
|
27
27
|
Provides-Extra: girder
|
|
28
|
-
Requires-Dist: girder-large-image>=1.30.
|
|
28
|
+
Requires-Dist: girder-large-image>=1.30.5; extra == "girder"
|
|
29
29
|
|
|
30
30
|
A tilesource for large_image to composite other tile sources
|
|
31
31
|
|
|
File without changes
|
|
File without changes
|
{large_image_source_multi-1.30.4.dev2 → large_image_source_multi-1.30.5}/docs/specification.rst
RENAMED
|
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
|