large-image-source-multi 1.28.2__tar.gz → 1.28.2.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-multi-1.28.2/large_image_source_multi.egg-info → large-image-source-multi-1.28.2.dev4}/PKG-INFO +3 -3
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi/__init__.py +9 -12
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4/large_image_source_multi.egg-info}/PKG-INFO +3 -3
- large-image-source-multi-1.28.2.dev4/large_image_source_multi.egg-info/requires.txt +9 -0
- large-image-source-multi-1.28.2/large_image_source_multi.egg-info/requires.txt +0 -9
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/LICENSE +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/README.rst +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/docs/specification.rst +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi/girder_source.py +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi.egg-info/SOURCES.txt +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi.egg-info/dependency_links.txt +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi.egg-info/entry_points.txt +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/large_image_source_multi.egg-info/top_level.txt +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/pyproject.toml +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/setup.cfg +0 -0
- {large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-multi
|
|
3
|
-
Version: 1.28.2
|
|
3
|
+
Version: 1.28.2.dev4
|
|
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.
|
|
@@ -18,12 +18,12 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Requires-Python: >=3.6
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: jsonschema
|
|
21
|
-
Requires-Dist: large-image>=1.28.2
|
|
21
|
+
Requires-Dist: large-image>=1.28.2.dev4
|
|
22
22
|
Requires-Dist: pyyaml
|
|
23
23
|
Provides-Extra: all
|
|
24
24
|
Requires-Dist: scikit-image; extra == "all"
|
|
25
25
|
Provides-Extra: girder
|
|
26
|
-
Requires-Dist: girder-large-image>=1.28.2; extra == "girder"
|
|
26
|
+
Requires-Dist: girder-large-image>=1.28.2.dev4; extra == "girder"
|
|
27
27
|
|
|
28
28
|
A tilesource for large_image to composite other tile sources
|
|
29
29
|
|
|
@@ -828,8 +828,7 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
828
828
|
with self._lastOpenSourceLock:
|
|
829
829
|
if (hasattr(self, '_lastOpenSource') and
|
|
830
830
|
self._lastOpenSource['source'] == source and
|
|
831
|
-
|
|
832
|
-
params == {} and self._lastOpenSource['params'] is None))):
|
|
831
|
+
self._lastOpenSource['params'] == params):
|
|
833
832
|
return self._lastOpenSource['ts']
|
|
834
833
|
if not len(large_image.tilesource.AvailableTileSources):
|
|
835
834
|
large_image.tilesource.loadTileSources()
|
|
@@ -842,7 +841,6 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
842
841
|
if params is None:
|
|
843
842
|
params = source.get('params', {})
|
|
844
843
|
ts = openFunc(source['path'], **params)
|
|
845
|
-
source['sourceName'] = ts.name
|
|
846
844
|
with self._lastOpenSourceLock:
|
|
847
845
|
self._lastOpenSource = {
|
|
848
846
|
'source': source,
|
|
@@ -896,7 +894,7 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
896
894
|
"""
|
|
897
895
|
Return additional known metadata about the tile source. Data returned
|
|
898
896
|
from this method is not guaranteed to be in any particular format or
|
|
899
|
-
have specific values.
|
|
897
|
+
have specific values.
|
|
900
898
|
|
|
901
899
|
:returns: a dictionary of data or None.
|
|
902
900
|
"""
|
|
@@ -905,7 +903,7 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
905
903
|
'sources': copy.deepcopy(self._sources),
|
|
906
904
|
'sourceFiles': [],
|
|
907
905
|
}
|
|
908
|
-
for path in
|
|
906
|
+
for path in self._sourcePaths.values():
|
|
909
907
|
source = self._sources[min(path['sourcenum'])]
|
|
910
908
|
ts = self._openSource(source)
|
|
911
909
|
result['sourceFiles'].append({
|
|
@@ -939,28 +937,28 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
939
937
|
(tile.shape[0] + y - base.shape[0], base.shape[1], base.shape[2]),
|
|
940
938
|
dtype=base.dtype)
|
|
941
939
|
if base.shape[2] in {2, 4}:
|
|
942
|
-
vfill[:, :, -1] = fullAlphaValue(
|
|
940
|
+
vfill[:, :, -1] = fullAlphaValue(self.dtype)
|
|
943
941
|
base = np.vstack((base, vfill))
|
|
944
942
|
if base.shape[1] < tile.shape[1] + x:
|
|
945
943
|
hfill = np.zeros(
|
|
946
944
|
(base.shape[0], tile.shape[1] + x - base.shape[1], base.shape[2]),
|
|
947
945
|
dtype=base.dtype)
|
|
948
946
|
if base.shape[2] in {2, 4}:
|
|
949
|
-
hfill[:, :, -1] = fullAlphaValue(
|
|
947
|
+
hfill[:, :, -1] = fullAlphaValue(self.dtype)
|
|
950
948
|
base = np.hstack((base, hfill))
|
|
951
949
|
if base.flags.writeable is False:
|
|
952
950
|
base = base.copy()
|
|
953
951
|
if base.shape[2] in {2, 4}:
|
|
954
952
|
baseA = base[y:y + tile.shape[0], x:x + tile.shape[1], -1].astype(
|
|
955
|
-
float) / fullAlphaValue(
|
|
956
|
-
tileA = tile[:, :, -1].astype(float) / fullAlphaValue(
|
|
953
|
+
float) / fullAlphaValue(self.dtype)
|
|
954
|
+
tileA = tile[:, :, -1].astype(float) / fullAlphaValue(self.dtype)
|
|
957
955
|
outA = tileA + baseA * (1 - tileA)
|
|
958
956
|
base[y:y + tile.shape[0], x:x + tile.shape[1], :-1] = (
|
|
959
957
|
np.where(tileA[..., np.newaxis], tile[:, :, :-1], 0) +
|
|
960
958
|
base[y:y + tile.shape[0], x:x + tile.shape[1], :-1] * baseA[..., np.newaxis] *
|
|
961
959
|
(1 - tileA[..., np.newaxis])
|
|
962
960
|
) / np.where(outA[..., np.newaxis], outA[..., np.newaxis], 1)
|
|
963
|
-
base[y:y + tile.shape[0], x:x + tile.shape[1], -1] = outA * fullAlphaValue(
|
|
961
|
+
base[y:y + tile.shape[0], x:x + tile.shape[1], -1] = outA * fullAlphaValue(self.dtype)
|
|
964
962
|
else:
|
|
965
963
|
base[y:y + tile.shape[0], x:x + tile.shape[1], :] = tile
|
|
966
964
|
return base
|
|
@@ -1100,12 +1098,12 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1100
1098
|
:returns: a numpy array of the tile.
|
|
1101
1099
|
"""
|
|
1102
1100
|
source = self._sources[sourceEntry['sourcenum']]
|
|
1101
|
+
ts = self._openSource(source, sourceEntry['kwargs'])
|
|
1103
1102
|
# If tile is outside of bounding box, skip it
|
|
1104
1103
|
bbox = source['bbox']
|
|
1105
1104
|
if (corners[2][0] <= bbox['left'] or corners[0][0] >= bbox['right'] or
|
|
1106
1105
|
corners[2][1] <= bbox['top'] or corners[0][1] >= bbox['bottom']):
|
|
1107
1106
|
return tile
|
|
1108
|
-
ts = self._openSource(source, sourceEntry['kwargs'])
|
|
1109
1107
|
transform = bbox.get('transform')
|
|
1110
1108
|
x = y = 0
|
|
1111
1109
|
# If there is no transform or the diagonals are positive and there is
|
|
@@ -1157,7 +1155,6 @@ class MultiFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
1157
1155
|
ts, transform, corners, scale, sourceEntry.get('frame', 0),
|
|
1158
1156
|
source.get('position', {}).get('crop'))
|
|
1159
1157
|
if sourceTile is not None and all(dim > 0 for dim in sourceTile.shape):
|
|
1160
|
-
sourceTile = sourceTile.astype(ts.dtype)
|
|
1161
1158
|
tile = self._mergeTiles(tile, sourceTile, x, y)
|
|
1162
1159
|
return tile
|
|
1163
1160
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-multi
|
|
3
|
-
Version: 1.28.2
|
|
3
|
+
Version: 1.28.2.dev4
|
|
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.
|
|
@@ -18,12 +18,12 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Requires-Python: >=3.6
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: jsonschema
|
|
21
|
-
Requires-Dist: large-image>=1.28.2
|
|
21
|
+
Requires-Dist: large-image>=1.28.2.dev4
|
|
22
22
|
Requires-Dist: pyyaml
|
|
23
23
|
Provides-Extra: all
|
|
24
24
|
Requires-Dist: scikit-image; extra == "all"
|
|
25
25
|
Provides-Extra: girder
|
|
26
|
-
Requires-Dist: girder-large-image>=1.28.2; extra == "girder"
|
|
26
|
+
Requires-Dist: girder-large-image>=1.28.2.dev4; extra == "girder"
|
|
27
27
|
|
|
28
28
|
A tilesource for large_image to composite other tile sources
|
|
29
29
|
|
|
File without changes
|
|
File without changes
|
{large-image-source-multi-1.28.2 → large-image-source-multi-1.28.2.dev4}/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
|