large-image-source-multi 1.30.5.dev2__tar.gz → 1.30.5.dev6__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.5.dev2/large_image_source_multi.egg-info → large_image_source_multi-1.30.5.dev6}/PKG-INFO +3 -3
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi/__init__.py +12 -4
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6/large_image_source_multi.egg-info}/PKG-INFO +3 -3
- large_image_source_multi-1.30.5.dev6/large_image_source_multi.egg-info/requires.txt +9 -0
- large_image_source_multi-1.30.5.dev2/large_image_source_multi.egg-info/requires.txt +0 -9
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/LICENSE +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/README.rst +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/docs/specification.rst +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi/girder_source.py +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi.egg-info/SOURCES.txt +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi.egg-info/dependency_links.txt +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi.egg-info/entry_points.txt +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/large_image_source_multi.egg-info/top_level.txt +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/pyproject.toml +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/setup.cfg +0 -0
- {large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/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.5.
|
|
3
|
+
Version: 1.30.5.dev6
|
|
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.5.
|
|
23
|
+
Requires-Dist: large-image>=1.30.5.dev6
|
|
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.5.
|
|
28
|
+
Requires-Dist: girder-large-image>=1.30.5.dev6; extra == "girder"
|
|
29
29
|
|
|
30
30
|
A tilesource for large_image to composite other tile sources
|
|
31
31
|
|
|
@@ -1037,7 +1037,8 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1037
1037
|
base[y:y + tile.shape[0], x:x + tile.shape[1], :] = tile
|
|
1038
1038
|
return base
|
|
1039
1039
|
|
|
1040
|
-
def _getTransformedTile(self, ts, transform, corners, scale, frame,
|
|
1040
|
+
def _getTransformedTile(self, ts, transform, corners, scale, frame,
|
|
1041
|
+
crop=None, firstMerge=False):
|
|
1041
1042
|
"""
|
|
1042
1043
|
Determine where the target tile's corners are located on the source.
|
|
1043
1044
|
Fetch that so that we have at least sqrt(2) more resolution, then use
|
|
@@ -1054,6 +1055,9 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1054
1055
|
:param crop: an optional dictionary to crop the source image in full
|
|
1055
1056
|
resolution, untransformed coordinates. This may contain left, top,
|
|
1056
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.
|
|
1057
1061
|
:returns: a numpy array tile or None, x, y coordinates within the
|
|
1058
1062
|
target tile for the placement of the numpy tile array.
|
|
1059
1063
|
"""
|
|
@@ -1145,9 +1149,12 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1145
1149
|
destShape = [min(destShape[0], outh - y), min(destShape[1], outw - x)]
|
|
1146
1150
|
if destShape[0] <= 0 or destShape[1] <= 0:
|
|
1147
1151
|
return None, None, None
|
|
1148
|
-
# 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
|
|
1149
1155
|
if srcImage.shape[2] in {1, 3}:
|
|
1150
1156
|
_, srcImage = _makeSameChannelDepth(np.zeros((1, 1, srcImage.shape[2] + 1)), srcImage)
|
|
1157
|
+
useNearest = srcImage.shape[2] in {2, 4} and not firstMerge
|
|
1151
1158
|
# skimage.transform.warp is faster and has less artifacts than
|
|
1152
1159
|
# scipy.ndimage.affine_transform. It is faster than using cupy's
|
|
1153
1160
|
# version of scipy's affine_transform when the source and destination
|
|
@@ -1157,7 +1164,7 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1157
1164
|
# provide any speed improvement
|
|
1158
1165
|
srcImage.astype(float),
|
|
1159
1166
|
skimage.transform.AffineTransform(np.linalg.inv(transform)),
|
|
1160
|
-
order=3,
|
|
1167
|
+
order=0 if useNearest else 3,
|
|
1161
1168
|
output_shape=(destShape[0], destShape[1], srcImage.shape[2]),
|
|
1162
1169
|
).astype(srcImage.dtype)
|
|
1163
1170
|
return destImage, x, y
|
|
@@ -1234,7 +1241,8 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1234
1241
|
else:
|
|
1235
1242
|
sourceTile, x, y = self._getTransformedTile(
|
|
1236
1243
|
ts, transform, corners, scale, sourceEntry.get('frame', 0),
|
|
1237
|
-
source.get('position', {}).get('crop')
|
|
1244
|
+
source.get('position', {}).get('crop'),
|
|
1245
|
+
firstMerge=tile is None)
|
|
1238
1246
|
if sourceTile is not None and all(dim > 0 for dim in sourceTile.shape):
|
|
1239
1247
|
targetDtype = np.dtype(self._info.get('dtype', ts.dtype))
|
|
1240
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.5.
|
|
3
|
+
Version: 1.30.5.dev6
|
|
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.5.
|
|
23
|
+
Requires-Dist: large-image>=1.30.5.dev6
|
|
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.5.
|
|
28
|
+
Requires-Dist: girder-large-image>=1.30.5.dev6; 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.5.dev2 → large_image_source_multi-1.30.5.dev6}/docs/specification.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{large_image_source_multi-1.30.5.dev2 → large_image_source_multi-1.30.5.dev6}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|