girder-large-image-annotation 1.29.3.dev2__tar.gz → 1.29.3.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.
- {girder-large-image-annotation-1.29.3.dev2/girder_large_image_annotation.egg-info → girder-large-image-annotation-1.29.3.dev4}/PKG-INFO +3 -3
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/utils/__init__.py +23 -15
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4/girder_large_image_annotation.egg-info}/PKG-INFO +3 -3
- girder-large-image-annotation-1.29.3.dev4/girder_large_image_annotation.egg-info/requires.txt +6 -0
- girder-large-image-annotation-1.29.3.dev2/girder_large_image_annotation.egg-info/requires.txt +0 -6
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/LICENSE +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/README.rst +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/docs/annotations.rst +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/__init__.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/constants.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/handlers.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/models/__init__.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/models/annotation.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/models/annotationelement.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/rest/__init__.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/rest/annotation.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/convert.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/convertFeatures.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/circle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/ellipse.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/point.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/polyline.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/defaults/rectangle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/common.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/convert.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/coordinates/array.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/coordinates/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/coordinates/point.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/circle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/ellipse.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/line.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/point.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/polygon.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geojs/types/rectangle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/circle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/ellipse.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/point.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/polyline.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/geometry/rectangle.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/rotate.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/annotations/style.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/collections/AnnotationCollection.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/collections/ElementCollection.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/collections/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/main.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/models/AnnotationModel.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/models/ElementModel.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/models/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/package.json +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/routes.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/stylesheets/annotationListWidget.styl +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/stylesheets/itemList.styl +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/templates/annotationListWidget.pug +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/templates/imageViewerAnnotationList.pug +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/templates/largeImageAnnotationConfig.pug +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/annotationListWidget.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/configView.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/hierarchyWidget.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/imageViewerSelectWidget.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/imageViewerWidget/base.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/imageViewerWidget/geojs.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/imageViewerWidget/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/index.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation/web_client/views/itemList.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation.egg-info/SOURCES.txt +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation.egg-info/dependency_links.txt +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation.egg-info/entry_points.txt +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation.egg-info/not-zip-safe +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/girder_large_image_annotation.egg-info/top_level.txt +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/pyproject.toml +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/setup.cfg +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/setup.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/__init__.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/conftest.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/girder_utilities.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/test_annotations.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/test_annotations_rest.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/test_web_client.py +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/.eslintrc +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/annotationListSpec.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/annotationSpec.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/geojsAnnotationSpec.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/geojsSpec.js +0 -0
- {girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/test_annotation/web_client_specs/sample_annotation.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: girder-large-image-annotation
|
|
3
|
-
Version: 1.29.3.
|
|
3
|
+
Version: 1.29.3.dev4
|
|
4
4
|
Summary: A Girder plugin to store and display annotations on large, multiresolution images.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -18,10 +18,10 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Requires-Python: >=3.8
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: jsonschema>=2.5.1
|
|
21
|
-
Requires-Dist: girder-large-image>=1.29.3.
|
|
21
|
+
Requires-Dist: girder-large-image>=1.29.3.dev4
|
|
22
22
|
Requires-Dist: orjson
|
|
23
23
|
Provides-Extra: tasks
|
|
24
|
-
Requires-Dist: girder-large-image[tasks]>=1.29.3.
|
|
24
|
+
Requires-Dist: girder-large-image[tasks]>=1.29.3.dev4; extra == "tasks"
|
|
25
25
|
|
|
26
26
|
A Girder plugin to store and display annotations on large, multiresolution images.
|
|
27
27
|
|
|
@@ -443,7 +443,7 @@ class PlottableItemData:
|
|
|
443
443
|
if hashkey in self._columnKeyCache:
|
|
444
444
|
return self._columnKeyCache[hashkey]
|
|
445
445
|
fullkey = f'{root}.{key}.{source}'.lower()
|
|
446
|
-
title = f'{root} {key}'
|
|
446
|
+
title = f'{root} {key}' if root is not None else f'{key}'
|
|
447
447
|
keymap = {
|
|
448
448
|
r'(?i)(item|image)_(id|name)$': {'key': '_0_item.name', 'title': 'Item Name'},
|
|
449
449
|
r'(?i)(low|min)(_|)x': {'key': '_bbox.x0', 'title': 'Bounding Box Low X'},
|
|
@@ -459,7 +459,7 @@ class PlottableItemData:
|
|
|
459
459
|
self._columnKeyCache[hashkey] = fullkey, title
|
|
460
460
|
return fullkey, title
|
|
461
461
|
|
|
462
|
-
def _scanColumnByKey(self, result, key, entry, where=0, auxidx=0, item=None):
|
|
462
|
+
def _scanColumnByKey(self, result, key, entry, where=0, auxidx=0, auxidx2=0, item=None):
|
|
463
463
|
if result['type'] == 'number':
|
|
464
464
|
try:
|
|
465
465
|
[float(record[key]) for record in entry
|
|
@@ -481,16 +481,19 @@ class PlottableItemData:
|
|
|
481
481
|
result['min'] = min(result['min'], v)
|
|
482
482
|
result['max'] = max(result['max'], v)
|
|
483
483
|
if self._datacolumns and result['key'] in self._datacolumns:
|
|
484
|
-
self._datacolumns[result['key']][(where, (auxidx, ridx))] = v
|
|
484
|
+
self._datacolumns[result['key']][(where, (auxidx, auxidx2, ridx))] = v
|
|
485
485
|
if item is not None:
|
|
486
|
-
self._datacolumns['_0_item.name'][
|
|
487
|
-
|
|
486
|
+
self._datacolumns['_0_item.name'][
|
|
487
|
+
(where, (auxidx, auxidx2, ridx))] = item['name']
|
|
488
|
+
self._datacolumns['_2_item.id'][
|
|
489
|
+
(where, (auxidx, auxidx2, ridx))] = str(item['_id'])
|
|
488
490
|
|
|
489
|
-
def _scanColumn(self, meta, source, columns, auxmeta=None, items=None):
|
|
490
|
-
for root, entry in meta.items():
|
|
491
|
+
def _scanColumn(self, meta, source, columns, auxmeta=None, auxidx2=0, items=None):
|
|
492
|
+
for root, entry in (list(meta.items()) + [(None, [meta])]):
|
|
491
493
|
if not isinstance(entry, list) or not len(entry) or not isinstance(entry[0], dict):
|
|
492
494
|
continue
|
|
493
495
|
for key in entry[0]:
|
|
496
|
+
print(key)
|
|
494
497
|
if not isinstance(entry[0][key], self.allowedTypes):
|
|
495
498
|
continue
|
|
496
499
|
fullkey, title = self._columnKey(source, root, key)
|
|
@@ -498,16 +501,22 @@ class PlottableItemData:
|
|
|
498
501
|
columns, fullkey, title, root, key, source)
|
|
499
502
|
result = columns[fullkey]
|
|
500
503
|
self._scanColumnByKey(
|
|
501
|
-
result, key, entry, where, 0,
|
|
504
|
+
result, key, entry, where, 0, auxidx2,
|
|
502
505
|
items[0] if items and len(items) > 0 else None)
|
|
503
506
|
if auxmeta:
|
|
504
507
|
for auxidx, aux in enumerate(auxmeta):
|
|
505
|
-
if
|
|
508
|
+
if root is None:
|
|
509
|
+
if isinstance(aux, dict) and key in aux:
|
|
510
|
+
self._scanColumnByKey(
|
|
511
|
+
result, key, [aux], where, auxidx + 1, auxidx2,
|
|
512
|
+
items[auxidx + 1] if items and len(items) > auxidx + 1 else
|
|
513
|
+
None)
|
|
514
|
+
elif (isinstance(aux.get(root), list) and
|
|
506
515
|
len(aux[root]) and
|
|
507
516
|
isinstance(aux[root][0], dict) and
|
|
508
517
|
key in aux[root][0]):
|
|
509
518
|
self._scanColumnByKey(
|
|
510
|
-
result, key, aux[root], where, auxidx + 1,
|
|
519
|
+
result, key, aux[root], where, auxidx + 1, auxidx2,
|
|
511
520
|
items[auxidx + 1] if items and len(items) > auxidx + 1 else None)
|
|
512
521
|
|
|
513
522
|
@property
|
|
@@ -542,11 +551,12 @@ class PlottableItemData:
|
|
|
542
551
|
self._scanColumn(self.folder.get('meta', {}), 'folder', columns)
|
|
543
552
|
self._scanColumn(self.item.get('meta', {}), 'item', columns,
|
|
544
553
|
[item.get('meta', {}) for item in self.items[1:]],
|
|
545
|
-
self.items)
|
|
554
|
+
items=self.items)
|
|
546
555
|
for anidx, annot in enumerate(self.annotations[0] if self.annotations is not None else []):
|
|
547
556
|
self._scanColumn(
|
|
548
|
-
annot.get('
|
|
549
|
-
|
|
557
|
+
annot.get('annotation', {}).get('attributes', {}),
|
|
558
|
+
'annotation', columns, None, anidx,
|
|
559
|
+
[itemannot[anidx].get('annotaiton').get('attributes', {})
|
|
550
560
|
for itemannot in self.annotations[1:]
|
|
551
561
|
if itemannot[anidx] is not None])
|
|
552
562
|
if not anidx:
|
|
@@ -569,7 +579,6 @@ class PlottableItemData:
|
|
|
569
579
|
columns, '_bbox.y1', 'Bounding Box High Y', 'bbox',
|
|
570
580
|
'highy', 'annotationelement')
|
|
571
581
|
# TODO: add annotation elements
|
|
572
|
-
# TODO: bbox could be from min/max query
|
|
573
582
|
# TODO: Add csv
|
|
574
583
|
for result in columns.values():
|
|
575
584
|
if len(result['distinct']) <= self.maxDistinct:
|
|
@@ -597,7 +606,6 @@ class PlottableItemData:
|
|
|
597
606
|
columns = columns.split(',')
|
|
598
607
|
if not isinstance(requiredColumns, list):
|
|
599
608
|
requiredColumns = requiredColumns.split(',') if requiredColumns is not None else []
|
|
600
|
-
# TODO: Always augment columns with item id, annotation id?
|
|
601
609
|
self._datacolumns = {c: {} for c in columns}
|
|
602
610
|
rows = set()
|
|
603
611
|
# collects data as a side effect
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: girder-large-image-annotation
|
|
3
|
-
Version: 1.29.3.
|
|
3
|
+
Version: 1.29.3.dev4
|
|
4
4
|
Summary: A Girder plugin to store and display annotations on large, multiresolution images.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -18,10 +18,10 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
18
|
Requires-Python: >=3.8
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: jsonschema>=2.5.1
|
|
21
|
-
Requires-Dist: girder-large-image>=1.29.3.
|
|
21
|
+
Requires-Dist: girder-large-image>=1.29.3.dev4
|
|
22
22
|
Requires-Dist: orjson
|
|
23
23
|
Provides-Extra: tasks
|
|
24
|
-
Requires-Dist: girder-large-image[tasks]>=1.29.3.
|
|
24
|
+
Requires-Dist: girder-large-image[tasks]>=1.29.3.dev4; extra == "tasks"
|
|
25
25
|
|
|
26
26
|
A Girder plugin to store and display annotations on large, multiresolution images.
|
|
27
27
|
|
{girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/LICENSE
RENAMED
|
File without changes
|
{girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/README.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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/setup.cfg
RENAMED
|
File without changes
|
{girder-large-image-annotation-1.29.3.dev2 → girder-large-image-annotation-1.29.3.dev4}/setup.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
|