girder-large-image 1.35.7.dev2__tar.gz → 1.35.7.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.
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/PKG-INFO +4 -3
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/__init__.py +50 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/PKG-INFO +4 -3
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/requires.txt +2 -2
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/setup.py +1 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_tiles_rest.py +56 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/LICENSE +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/README.rst +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/constants.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/girder_tilesource.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/loadmodelcache.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/models/__init__.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/models/image_item.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/rest/__init__.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/rest/item_meta.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/rest/large_image_resource.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/rest/tiles.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/eventStream.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/extra/.gitignore +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/index.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/main.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/package.json +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/routes.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/fileList.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/imageViewerSelectWidget.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/itemList.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/itemView.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/itemViewCodemirror.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/largeImageConfig.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/stylesheets/metadataWidget.styl +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/imageViewerSelectWidget.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/itemList.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/itemView.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/itemViewCodemirror.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/largeImageConfig.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/largeImage_fileAction.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/metadataWidget.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/templates/metadatumEditWidget.pug +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/configView.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/fileList.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerSelectWidget.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/base.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/geojs.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/index.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/leaflet.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/openlayers.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/openseadragon.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/setFrameQuad.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/imageViewerWidget/slideatlas.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/index.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/itemList.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/itemView.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/itemViewCodemirror.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/itemViewWidget.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/views/metadataWidget.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/vue/components/PresetsMenu.vue +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/webpack.helper.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/CompositeLayers.vue +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/DualInput.vue +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/FrameSelector.vue +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/HistogramEditor.vue +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/colors.json +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/web_client/widgets/components.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/SOURCES.txt +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/dependency_links.txt +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/entry_points.txt +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/not-zip-safe +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/scm_file_list.json +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image.egg-info/top_level.txt +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/pyproject.toml +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/setup.cfg +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/__init__.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/conftest.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/girder_utilities.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_large_image.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_web_client.py +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/web_client_specs/.eslintrc +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/web_client_specs/imageViewerSpec.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/web_client_specs/largeImageSpec.js +0 -0
- {girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/web_client_specs/otherFeatures.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: girder-large-image
|
|
3
|
-
Version: 1.35.7.
|
|
3
|
+
Version: 1.35.7.dev6
|
|
4
4
|
Summary: A Girder plugin to work with large, multiresolution images.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -14,14 +14,15 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
17
18
|
Requires-Python: >=3.10
|
|
18
19
|
Description-Content-Type: text/x-rst
|
|
19
20
|
License-File: LICENSE
|
|
20
21
|
Requires-Dist: girder<5,>=3.1.18
|
|
21
22
|
Requires-Dist: girder-jobs<5,>=3.0.3
|
|
22
|
-
Requires-Dist: large_image>=1.35.7.
|
|
23
|
+
Requires-Dist: large_image>=1.35.7.dev6
|
|
23
24
|
Provides-Extra: tasks
|
|
24
|
-
Requires-Dist: large-image-tasks[girder]>=1.35.7.
|
|
25
|
+
Requires-Dist: large-image-tasks[girder]>=1.35.7.dev6; extra == "tasks"
|
|
25
26
|
Requires-Dist: girder-worker[girder]<5,>=0.6.0; extra == "tasks"
|
|
26
27
|
Dynamic: author
|
|
27
28
|
Dynamic: author-email
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/__init__.py
RENAMED
|
@@ -207,6 +207,45 @@ def checkForMergeDicom(item):
|
|
|
207
207
|
Item().remove(item)
|
|
208
208
|
|
|
209
209
|
|
|
210
|
+
def checkForFlatLargeImage(item, imagePattern):
|
|
211
|
+
"""
|
|
212
|
+
Check if an item that contains a companion file of a folder/image style
|
|
213
|
+
image is adjacent to the image file itself ("flat" layout). The image
|
|
214
|
+
file can be another file in the same item or the sole file of another item
|
|
215
|
+
in the same folder. If found, try to make it a large image.
|
|
216
|
+
|
|
217
|
+
:param item: the item containing the companion file.
|
|
218
|
+
:param imagePattern: a regex that matches the name of the image file.
|
|
219
|
+
:returns: True if a large image was created.
|
|
220
|
+
"""
|
|
221
|
+
# A failed createImageItem can leave a partial largeImage record on the
|
|
222
|
+
# in-memory item, so always use a fresh copy
|
|
223
|
+
item = Item().load(item['_id'], force=True)
|
|
224
|
+
if not item.get('largeImage'):
|
|
225
|
+
for imageFile in File().find({'itemId': item['_id']}):
|
|
226
|
+
if not re.search(imagePattern, imageFile['name']):
|
|
227
|
+
continue
|
|
228
|
+
try:
|
|
229
|
+
ImageItem().createImageItem(item, imageFile, createJob=False)
|
|
230
|
+
return True
|
|
231
|
+
except Exception:
|
|
232
|
+
item = Item().load(item['_id'], force=True)
|
|
233
|
+
for imageItem in Item().find({
|
|
234
|
+
'folderId': item['folderId'], '_id': {'$ne': item['_id']},
|
|
235
|
+
'name': {'$regex': imagePattern}}):
|
|
236
|
+
if imageItem.get('largeImage'):
|
|
237
|
+
continue
|
|
238
|
+
files = list(Item().childFiles(item=imageItem, limit=2))
|
|
239
|
+
if len(files) != 1:
|
|
240
|
+
continue
|
|
241
|
+
try:
|
|
242
|
+
ImageItem().createImageItem(imageItem, files[0], createJob=False)
|
|
243
|
+
return True
|
|
244
|
+
except Exception:
|
|
245
|
+
pass
|
|
246
|
+
return False
|
|
247
|
+
|
|
248
|
+
|
|
210
249
|
def checkForLargeImageFiles(event): # noqa
|
|
211
250
|
file = event.info
|
|
212
251
|
if 'file.save' in event.name and 's3FinalizeRequest' in file:
|
|
@@ -245,6 +284,11 @@ def checkForLargeImageFiles(event): # noqa
|
|
|
245
284
|
'up': 1,
|
|
246
285
|
'folder': r'^(.*)$',
|
|
247
286
|
'image': '\\1.mrxs',
|
|
287
|
+
# Some openslide builds can read "flat" mirax files where the
|
|
288
|
+
# companion files are adjacent to the .mrxs file rather than in a
|
|
289
|
+
# subfolder. The companion files can be sibling items in the same
|
|
290
|
+
# folder or sibling files in the same item.
|
|
291
|
+
'flat': r'\.mrxs$',
|
|
248
292
|
},
|
|
249
293
|
'vsi': {
|
|
250
294
|
'match': r'^.*\.ets$',
|
|
@@ -255,6 +299,12 @@ def checkForLargeImageFiles(event): # noqa
|
|
|
255
299
|
}
|
|
256
300
|
for check in imageFolderRecords.values():
|
|
257
301
|
if re.match(check['match'], file['name']):
|
|
302
|
+
if check.get('flat'):
|
|
303
|
+
try:
|
|
304
|
+
if checkForFlatLargeImage(item, check['flat']):
|
|
305
|
+
return
|
|
306
|
+
except Exception:
|
|
307
|
+
pass
|
|
258
308
|
try:
|
|
259
309
|
folderId = item['folderId']
|
|
260
310
|
folder = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: girder-large-image
|
|
3
|
-
Version: 1.35.7.
|
|
3
|
+
Version: 1.35.7.dev6
|
|
4
4
|
Summary: A Girder plugin to work with large, multiresolution images.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -14,14 +14,15 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
17
18
|
Requires-Python: >=3.10
|
|
18
19
|
Description-Content-Type: text/x-rst
|
|
19
20
|
License-File: LICENSE
|
|
20
21
|
Requires-Dist: girder<5,>=3.1.18
|
|
21
22
|
Requires-Dist: girder-jobs<5,>=3.0.3
|
|
22
|
-
Requires-Dist: large_image>=1.35.7.
|
|
23
|
+
Requires-Dist: large_image>=1.35.7.dev6
|
|
23
24
|
Provides-Extra: tasks
|
|
24
|
-
Requires-Dist: large-image-tasks[girder]>=1.35.7.
|
|
25
|
+
Requires-Dist: large-image-tasks[girder]>=1.35.7.dev6; extra == "tasks"
|
|
25
26
|
Requires-Dist: girder-worker[girder]<5,>=0.6.0; extra == "tasks"
|
|
26
27
|
Dynamic: author
|
|
27
28
|
Dynamic: author-email
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_tiles_rest.py
RENAMED
|
@@ -1142,6 +1142,62 @@ def testTilesAutoSetOption(server, admin, fsAssetstore):
|
|
|
1142
1142
|
assert utilities.respStatus(resp) == 200
|
|
1143
1143
|
|
|
1144
1144
|
|
|
1145
|
+
@pytest.mark.usefixtures('unbindLargeImage')
|
|
1146
|
+
@pytest.mark.plugin('large_image')
|
|
1147
|
+
def testTilesAutoSetMiraxCompanionFiles(server, admin, fsAssetstore, tmp_path):
|
|
1148
|
+
# Mirax images are a small .mrxs file plus companion files, normally in a
|
|
1149
|
+
# subfolder named after the image. Some openslide builds can also read a
|
|
1150
|
+
# "flat" layout where the companion files are adjacent to the .mrxs file.
|
|
1151
|
+
# Adding the .mrxs file by itself can't make a large image, but adding the
|
|
1152
|
+
# companion files afterwards should. Files are imported rather than
|
|
1153
|
+
# uploaded so that openslide can find the companion files on disk.
|
|
1154
|
+
import zipfile
|
|
1155
|
+
|
|
1156
|
+
from girder.models.folder import Folder
|
|
1157
|
+
from girder.utility import assetstore_utilities
|
|
1158
|
+
|
|
1159
|
+
name = 'Mirax2-Fluorescence-1'
|
|
1160
|
+
with zipfile.ZipFile(utilities.datastore.fetch(name + '.mrxs.zip')) as archive:
|
|
1161
|
+
archive.extractall(tmp_path / 'src')
|
|
1162
|
+
srcMrxs = tmp_path / 'src' / (name + '.mrxs')
|
|
1163
|
+
srcCompanions = tmp_path / 'src' / name
|
|
1164
|
+
adapter = assetstore_utilities.getAssetstoreAdapter(fsAssetstore)
|
|
1165
|
+
public = utilities.namedFolder(admin)
|
|
1166
|
+
|
|
1167
|
+
for layout in ('nested', 'flat', 'item'):
|
|
1168
|
+
dest = tmp_path / layout
|
|
1169
|
+
dest.mkdir()
|
|
1170
|
+
shutil.copy(srcMrxs, dest)
|
|
1171
|
+
folder = Folder().createFolder(public, layout, creator=admin)
|
|
1172
|
+
item = Item().createItem(name + '.mrxs', admin, folder)
|
|
1173
|
+
mrxsFile = adapter.importFile(item, str(dest / (name + '.mrxs')), admin)
|
|
1174
|
+
# Without the companion files, this isn't a large image
|
|
1175
|
+
assert 'largeImage' not in Item().load(item['_id'], force=True)
|
|
1176
|
+
if layout == 'nested':
|
|
1177
|
+
companionDir = dest / name
|
|
1178
|
+
companionFolder = Folder().createFolder(folder, name, creator=admin)
|
|
1179
|
+
else:
|
|
1180
|
+
companionDir = dest
|
|
1181
|
+
companionFolder = folder
|
|
1182
|
+
shutil.copytree(srcCompanions, companionDir, dirs_exist_ok=True)
|
|
1183
|
+
# Slidedat.ini is what triggers rechecking the .mrxs file, so add it
|
|
1184
|
+
# last
|
|
1185
|
+
paths = sorted(path for path in companionDir.iterdir() if path.suffix == '.dat')
|
|
1186
|
+
paths.append(companionDir / 'Slidedat.ini')
|
|
1187
|
+
for path in paths:
|
|
1188
|
+
if layout == 'item':
|
|
1189
|
+
companionItem = item
|
|
1190
|
+
else:
|
|
1191
|
+
companionItem = Item().createItem(path.name, admin, companionFolder)
|
|
1192
|
+
adapter.importFile(companionItem, str(path), admin)
|
|
1193
|
+
item = Item().load(item['_id'], force=True)
|
|
1194
|
+
assert item.get('largeImage', {}).get('fileId') == mrxsFile['_id'], layout
|
|
1195
|
+
resp = server.request(path='/item/%s/tiles' % item['_id'], user=admin)
|
|
1196
|
+
assert utilities.respStatus(resp) == 200
|
|
1197
|
+
assert resp.json['sizeX'] == 10487
|
|
1198
|
+
assert resp.json['sizeY'] == 13350
|
|
1199
|
+
|
|
1200
|
+
|
|
1145
1201
|
@pytest.mark.usefixtures('unbindLargeImage')
|
|
1146
1202
|
@pytest.mark.plugin('large_image')
|
|
1147
1203
|
def testTilesAssociatedImages(server, admin, fsAssetstore):
|
|
File without changes
|
|
File without changes
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/constants.py
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
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/girder_large_image/rest/tiles.py
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/girder_utilities.py
RENAMED
|
File without changes
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_large_image.py
RENAMED
|
File without changes
|
{girder_large_image-1.35.7.dev2 → girder_large_image-1.35.7.dev6}/test_girder/test_web_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|