large-image-source-dicom 1.28.2__tar.gz → 1.28.2.dev2__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-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/PKG-INFO +3 -4
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/assetstore/dicomweb_assetstore_adapter.py +23 -63
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/assetstore/rest.py +30 -4
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/main.js +2 -1
- large-image-source-dicom-1.28.2.dev2/large_image_source_dicom/web_client/models/AssetstoreModel.js +20 -0
- large-image-source-dicom-1.28.2.dev2/large_image_source_dicom/web_client/routes.js +17 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreImportButton.pug +1 -1
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/views/DICOMwebImportView.js +4 -10
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom.egg-info/PKG-INFO +3 -4
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom.egg-info/SOURCES.txt +2 -0
- large-image-source-dicom-1.28.2.dev2/large_image_source_dicom.egg-info/requires.txt +5 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/setup.py +1 -4
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/test_dicom/web_client_specs/dicomWebSpec.js +2 -2
- large-image-source-dicom-1.28.2/large_image_source_dicom.egg-info/requires.txt +0 -6
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/LICENSE +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/README.rst +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/__init__.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/assetstore/__init__.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/dicom_metadata.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/dicom_tags.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/dicomweb_utils.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/girder_plugin.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/girder_source.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/constants.js +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/package.json +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/templates/assetstoreImport.pug +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreMixins.pug +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/views/AssetstoresView.js +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/views/AuthOptions.js +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/views/EditAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom/web_client/views/NewAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom.egg-info/dependency_links.txt +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom.egg-info/entry_points.txt +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/large_image_source_dicom.egg-info/top_level.txt +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/pyproject.toml +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/setup.cfg +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/test_dicom/__init__.py +0 -0
- {large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/test_dicom/test_web_client.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-dicom
|
|
3
|
-
Version: 1.28.2
|
|
3
|
+
Version: 1.28.2.dev2
|
|
4
4
|
Summary: A DICOM tilesource for large_image.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -17,11 +17,10 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Requires-Python: >=3.8
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: large-image>=1.28.2
|
|
20
|
+
Requires-Dist: large-image>=1.28.2.dev2
|
|
21
21
|
Requires-Dist: wsidicom>=0.9.0
|
|
22
22
|
Provides-Extra: girder
|
|
23
|
-
Requires-Dist: girder-large-image>=1.28.2; extra == "girder"
|
|
24
|
-
Requires-Dist: girder>=3.2.3; extra == "girder"
|
|
23
|
+
Requires-Dist: girder-large-image>=1.28.2.dev2; extra == "girder"
|
|
25
24
|
|
|
26
25
|
A DICOM tilesource for large_image.
|
|
27
26
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
import cherrypy
|
|
4
2
|
import requests
|
|
5
3
|
from large_image_source_dicom.dicom_tags import dicom_key_to_tag
|
|
@@ -396,10 +394,31 @@ class DICOMwebAssetstoreAdapter(AbstractAssetstoreAdapter):
|
|
|
396
394
|
except ValueError:
|
|
397
395
|
return
|
|
398
396
|
|
|
399
|
-
def
|
|
397
|
+
def importData(self, parent, parentType, params, progress, user, **kwargs):
|
|
398
|
+
"""
|
|
399
|
+
Import DICOMweb WSI instances from a DICOMweb server.
|
|
400
|
+
|
|
401
|
+
:param parent: The parent object to import into.
|
|
402
|
+
:param parentType: The model type of the parent object.
|
|
403
|
+
:type parentType: str
|
|
404
|
+
:param params: Additional parameters required for the import process.
|
|
405
|
+
This dictionary may include the following keys:
|
|
406
|
+
|
|
407
|
+
:limit: (optional) limit the number of studies imported.
|
|
408
|
+
:search_filters: (optional) a dictionary of additional search
|
|
409
|
+
filters to use with dicomweb_client's `search_for_series()`
|
|
410
|
+
function.
|
|
411
|
+
|
|
412
|
+
:type params: dict
|
|
413
|
+
:param progress: Object on which to record progress if possible.
|
|
414
|
+
:type progress: :py:class:`girder.utility.progress.ProgressContext`
|
|
415
|
+
:param user: The Girder user performing the import.
|
|
416
|
+
:type user: dict or None
|
|
417
|
+
:return: a list of items that were created
|
|
418
|
+
"""
|
|
400
419
|
if parentType not in ('folder', 'user', 'collection'):
|
|
401
420
|
msg = f'Invalid parent type: {parentType}'
|
|
402
|
-
raise
|
|
421
|
+
raise RuntimeError(msg)
|
|
403
422
|
|
|
404
423
|
limit = params.get('limit')
|
|
405
424
|
search_filters = params.get('search_filters', {})
|
|
@@ -493,65 +512,6 @@ class DICOMwebAssetstoreAdapter(AbstractAssetstoreAdapter):
|
|
|
493
512
|
|
|
494
513
|
return items
|
|
495
514
|
|
|
496
|
-
def importData(self, parent, parentType, params, progress, user, **kwargs):
|
|
497
|
-
"""
|
|
498
|
-
Import DICOMweb WSI instances from a DICOMweb server.
|
|
499
|
-
|
|
500
|
-
:param parent: The parent object to import into.
|
|
501
|
-
:param parentType: The model type of the parent object.
|
|
502
|
-
:type parentType: str
|
|
503
|
-
:param params: Additional parameters required for the import process.
|
|
504
|
-
This dictionary may include the following keys:
|
|
505
|
-
|
|
506
|
-
:limit: (optional) limit the number of studies imported.
|
|
507
|
-
:filters: (optional) a dictionary/JSON string of additional search
|
|
508
|
-
filters to use with dicomweb_client's `search_for_series()`
|
|
509
|
-
function.
|
|
510
|
-
|
|
511
|
-
:type params: dict
|
|
512
|
-
:param progress: Object on which to record progress if possible.
|
|
513
|
-
:type progress: :py:class:`girder.utility.progress.ProgressContext`
|
|
514
|
-
:param user: The Girder user performing the import.
|
|
515
|
-
:type user: dict or None
|
|
516
|
-
:return: a list of items that were created
|
|
517
|
-
"""
|
|
518
|
-
# Validate the parameters
|
|
519
|
-
limit = params.get('limit') or None
|
|
520
|
-
if limit is not None:
|
|
521
|
-
error_msg = f'Invalid limit: {limit}'
|
|
522
|
-
try:
|
|
523
|
-
limit = int(limit)
|
|
524
|
-
except ValueError:
|
|
525
|
-
raise ValidationException(error_msg)
|
|
526
|
-
|
|
527
|
-
if limit < 1:
|
|
528
|
-
raise ValidationException(error_msg)
|
|
529
|
-
|
|
530
|
-
search_filters = params.get('filters', {})
|
|
531
|
-
if isinstance(search_filters, str):
|
|
532
|
-
try:
|
|
533
|
-
search_filters = json.loads(search_filters)
|
|
534
|
-
except json.JSONDecodeError as e:
|
|
535
|
-
msg = f'Invalid filters: "{params.get("filters")}". {e}'
|
|
536
|
-
raise ValidationException(msg)
|
|
537
|
-
|
|
538
|
-
items = self._importData(
|
|
539
|
-
parent,
|
|
540
|
-
parentType,
|
|
541
|
-
{
|
|
542
|
-
'limit': limit,
|
|
543
|
-
'search_filters': search_filters,
|
|
544
|
-
},
|
|
545
|
-
progress,
|
|
546
|
-
user,
|
|
547
|
-
)
|
|
548
|
-
|
|
549
|
-
if not items:
|
|
550
|
-
msg = 'No studies matching the search filters were found'
|
|
551
|
-
raise ValidationException(msg)
|
|
552
|
-
|
|
553
|
-
return items
|
|
554
|
-
|
|
555
515
|
@property
|
|
556
516
|
def auth_session(self):
|
|
557
517
|
return _create_auth_session(self.assetstore_meta)
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
1
3
|
from girder.api import access
|
|
2
4
|
from girder.api.describe import Description, autoDescribeRoute
|
|
3
5
|
from girder.api.rest import Resource
|
|
4
6
|
from girder.constants import TokenScope
|
|
5
7
|
from girder.exceptions import RestException
|
|
6
8
|
from girder.models.assetstore import Assetstore
|
|
9
|
+
from girder.utility import assetstore_utilities
|
|
7
10
|
from girder.utility.model_importer import ModelImporter
|
|
8
11
|
from girder.utility.progress import ProgressContext
|
|
9
12
|
|
|
10
|
-
from .dicomweb_assetstore_adapter import DICOMwebAssetstoreAdapter
|
|
11
|
-
|
|
12
13
|
|
|
13
14
|
class DICOMwebAssetstoreResource(Resource):
|
|
14
15
|
def __init__(self):
|
|
@@ -33,14 +34,39 @@ class DICOMwebAssetstoreResource(Resource):
|
|
|
33
34
|
parent = ModelImporter.model(destinationType).load(params['destinationId'], force=True,
|
|
34
35
|
exc=True)
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
limit = params.get('limit') or None
|
|
38
|
+
if limit is not None:
|
|
39
|
+
error_msg = 'Invalid limit'
|
|
40
|
+
try:
|
|
41
|
+
limit = int(limit)
|
|
42
|
+
except ValueError:
|
|
43
|
+
raise RestException(error_msg)
|
|
44
|
+
|
|
45
|
+
if limit < 1:
|
|
46
|
+
raise RestException(error_msg)
|
|
47
|
+
|
|
48
|
+
try:
|
|
49
|
+
search_filters = json.loads(params.get('filters') or '{}')
|
|
50
|
+
except json.JSONDecodeError as e:
|
|
51
|
+
msg = f'Invalid filters: {e}'
|
|
52
|
+
raise RestException(msg)
|
|
53
|
+
|
|
54
|
+
adapter = assetstore_utilities.getAssetstoreAdapter(assetstore)
|
|
55
|
+
items = adapter.importData(
|
|
37
56
|
parent,
|
|
38
57
|
destinationType,
|
|
39
|
-
|
|
58
|
+
{
|
|
59
|
+
'limit': limit,
|
|
60
|
+
'search_filters': search_filters,
|
|
61
|
+
},
|
|
40
62
|
progress,
|
|
41
63
|
user,
|
|
42
64
|
)
|
|
43
65
|
|
|
66
|
+
if not items:
|
|
67
|
+
msg = 'No studies matching the search filters were found'
|
|
68
|
+
raise RestException(msg)
|
|
69
|
+
|
|
44
70
|
@access.admin(scope=TokenScope.DATA_WRITE)
|
|
45
71
|
@autoDescribeRoute(
|
|
46
72
|
Description('Import references to DICOM objects from a DICOMweb server')
|
large-image-source-dicom-1.28.2.dev2/large_image_source_dicom/web_client/models/AssetstoreModel.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AssetstoreModel from '@girder/core/models/AssetstoreModel';
|
|
2
|
+
import { restRequest } from '@girder/core/rest';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Extends the core assetstore model to add DICOMweb-specific functionality.
|
|
6
|
+
*/
|
|
7
|
+
AssetstoreModel.prototype.dicomwebImport = function (params) {
|
|
8
|
+
return restRequest({
|
|
9
|
+
url: 'dicomweb_assetstore/' + this.get('_id') + '/import',
|
|
10
|
+
type: 'POST',
|
|
11
|
+
data: params,
|
|
12
|
+
error: null
|
|
13
|
+
}).done(() => {
|
|
14
|
+
this.trigger('g:imported');
|
|
15
|
+
}).fail((err) => {
|
|
16
|
+
this.trigger('g:error', err);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default AssetstoreModel;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import router from '@girder/core/router';
|
|
2
|
+
import events from '@girder/core/events';
|
|
3
|
+
|
|
4
|
+
import AssetstoreModel from './models/AssetstoreModel';
|
|
5
|
+
import DICOMwebImportView from './views/DICOMwebImportView';
|
|
6
|
+
|
|
7
|
+
router.route('dicomweb_assetstore/:id/import', 'dwasImport', function (id) {
|
|
8
|
+
// Fetch the assetstore by id, then render the view.
|
|
9
|
+
const assetstore = new AssetstoreModel({ _id: id });
|
|
10
|
+
assetstore.once('g:fetched', function () {
|
|
11
|
+
events.trigger('g:navigateTo', DICOMwebImportView, {
|
|
12
|
+
model: assetstore
|
|
13
|
+
});
|
|
14
|
+
}).once('g:error', function () {
|
|
15
|
+
router.navigate('assetstores', { trigger: true });
|
|
16
|
+
}).fetch();
|
|
17
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.g-assetstore-import-button-container
|
|
2
2
|
a.g-dwas-import-button.btn.btn-sm.btn-success(
|
|
3
|
-
href=`#
|
|
3
|
+
href=`#dicomweb_assetstore/${assetstore.get('_id')}/import`,
|
|
4
4
|
title="Import references to DICOM objects from a DICOMweb server")
|
|
5
5
|
i.icon-link-ext
|
|
6
6
|
| Import data
|
|
@@ -5,9 +5,6 @@ import router from '@girder/core/router';
|
|
|
5
5
|
import View from '@girder/core/views/View';
|
|
6
6
|
import { restRequest } from '@girder/core/rest';
|
|
7
7
|
|
|
8
|
-
import { assetstoreImportViewMap } from '@girder/core/views/body/AssetstoresView';
|
|
9
|
-
import { AssetstoreType } from '@girder/core/constants';
|
|
10
|
-
|
|
11
8
|
import DWASImportTemplate from '../templates/assetstoreImport.pug';
|
|
12
9
|
|
|
13
10
|
const DICOMwebImportView = View.extend({
|
|
@@ -27,12 +24,12 @@ const DICOMwebImportView = View.extend({
|
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
this.$('.g-submit-dwas-import').addClass('disabled');
|
|
30
|
-
this.
|
|
27
|
+
this.model.off().on('g:imported', function () {
|
|
31
28
|
router.navigate(destinationType + '/' + destinationId, { trigger: true });
|
|
32
29
|
}, this).on('g:error', function (err) {
|
|
33
30
|
this.$('.g-submit-dwas-import').removeClass('disabled');
|
|
34
31
|
this.$('.g-validation-failed-message').html(err.responseJSON.message);
|
|
35
|
-
}, this).
|
|
32
|
+
}, this).dicomwebImport({
|
|
36
33
|
destinationId,
|
|
37
34
|
destinationType,
|
|
38
35
|
limit,
|
|
@@ -43,7 +40,7 @@ const DICOMwebImportView = View.extend({
|
|
|
43
40
|
'click .g-open-browser': '_openBrowser'
|
|
44
41
|
},
|
|
45
42
|
|
|
46
|
-
initialize: function (
|
|
43
|
+
initialize: function () {
|
|
47
44
|
this._browserWidgetView = new BrowserWidget({
|
|
48
45
|
parentView: this,
|
|
49
46
|
titleText: 'Destination',
|
|
@@ -78,13 +75,12 @@ const DICOMwebImportView = View.extend({
|
|
|
78
75
|
}
|
|
79
76
|
});
|
|
80
77
|
});
|
|
81
|
-
this.assetstore = settings.assetstore;
|
|
82
78
|
this.render();
|
|
83
79
|
},
|
|
84
80
|
|
|
85
81
|
render: function () {
|
|
86
82
|
this.$el.html(DWASImportTemplate({
|
|
87
|
-
assetstore: this.
|
|
83
|
+
assetstore: this.model
|
|
88
84
|
}));
|
|
89
85
|
|
|
90
86
|
return this;
|
|
@@ -95,6 +91,4 @@ const DICOMwebImportView = View.extend({
|
|
|
95
91
|
}
|
|
96
92
|
});
|
|
97
93
|
|
|
98
|
-
assetstoreImportViewMap[AssetstoreType.DICOMWEB] = DICOMwebImportView;
|
|
99
|
-
|
|
100
94
|
export default DICOMwebImportView;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: large-image-source-dicom
|
|
3
|
-
Version: 1.28.2
|
|
3
|
+
Version: 1.28.2.dev2
|
|
4
4
|
Summary: A DICOM tilesource for large_image.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -17,11 +17,10 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Requires-Python: >=3.8
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: large-image>=1.28.2
|
|
20
|
+
Requires-Dist: large-image>=1.28.2.dev2
|
|
21
21
|
Requires-Dist: wsidicom>=0.9.0
|
|
22
22
|
Provides-Extra: girder
|
|
23
|
-
Requires-Dist: girder-large-image>=1.28.2; extra == "girder"
|
|
24
|
-
Requires-Dist: girder>=3.2.3; extra == "girder"
|
|
23
|
+
Requires-Dist: girder-large-image>=1.28.2.dev2; extra == "girder"
|
|
25
24
|
|
|
26
25
|
A DICOM tilesource for large_image.
|
|
27
26
|
|
|
@@ -20,6 +20,8 @@ large_image_source_dicom/assetstore/rest.py
|
|
|
20
20
|
large_image_source_dicom/web_client/constants.js
|
|
21
21
|
large_image_source_dicom/web_client/main.js
|
|
22
22
|
large_image_source_dicom/web_client/package.json
|
|
23
|
+
large_image_source_dicom/web_client/routes.js
|
|
24
|
+
large_image_source_dicom/web_client/models/AssetstoreModel.js
|
|
23
25
|
large_image_source_dicom/web_client/templates/assetstoreImport.pug
|
|
24
26
|
large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug
|
|
25
27
|
large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug
|
|
@@ -41,14 +41,11 @@ entry_points = {
|
|
|
41
41
|
],
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
girder_extras = [f'girder-large-image{limit_version}']
|
|
45
|
-
|
|
46
44
|
if sys.version_info >= (3, 9):
|
|
47
45
|
# For Python >= 3.9, include the DICOMweb plugin
|
|
48
46
|
entry_points['girder.plugin'] = [
|
|
49
47
|
'dicomweb = large_image_source_dicom.girder_plugin:DICOMwebPlugin',
|
|
50
48
|
]
|
|
51
|
-
girder_extras.append('girder>=3.2.3')
|
|
52
49
|
|
|
53
50
|
setup(
|
|
54
51
|
name='large-image-source-dicom',
|
|
@@ -74,7 +71,7 @@ setup(
|
|
|
74
71
|
'wsidicom>=0.9.0',
|
|
75
72
|
],
|
|
76
73
|
extras_require={
|
|
77
|
-
'girder':
|
|
74
|
+
'girder': f'girder-large-image{limit_version}',
|
|
78
75
|
},
|
|
79
76
|
include_package_data=True,
|
|
80
77
|
keywords='large_image, tile source',
|
|
@@ -143,7 +143,7 @@ describe('DICOMWeb assetstore', function () {
|
|
|
143
143
|
});
|
|
144
144
|
|
|
145
145
|
waitsFor(function () {
|
|
146
|
-
return $('.g-validation-failed-message').html() === 'Invalid limit
|
|
146
|
+
return $('.g-validation-failed-message').html() === 'Invalid limit';
|
|
147
147
|
}, 'Invalid limit check (float)');
|
|
148
148
|
|
|
149
149
|
runs(function () {
|
|
@@ -156,7 +156,7 @@ describe('DICOMWeb assetstore', function () {
|
|
|
156
156
|
});
|
|
157
157
|
|
|
158
158
|
waitsFor(function () {
|
|
159
|
-
return $('.g-validation-failed-message').html() === 'Invalid limit
|
|
159
|
+
return $('.g-validation-failed-message').html() === 'Invalid limit';
|
|
160
160
|
}, 'Invalid limit check (negative)');
|
|
161
161
|
|
|
162
162
|
runs(function () {
|
|
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
|
{large-image-source-dicom-1.28.2 → large-image-source-dicom-1.28.2.dev2}/test_dicom/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|