large-image-source-dicom 1.28.2.dev16__tar.gz → 1.28.2.dev28__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.dev16 → large-image-source-dicom-1.28.2.dev28}/PKG-INFO +4 -3
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/assetstore/dicomweb_assetstore_adapter.py +63 -23
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/assetstore/rest.py +4 -30
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/main.js +1 -2
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreImportButton.pug +1 -1
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/views/DICOMwebImportView.js +10 -4
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom.egg-info/PKG-INFO +4 -3
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom.egg-info/SOURCES.txt +0 -2
- large-image-source-dicom-1.28.2.dev28/large_image_source_dicom.egg-info/requires.txt +6 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/setup.py +4 -1
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/test_dicom/web_client_specs/dicomWebSpec.js +2 -2
- large-image-source-dicom-1.28.2.dev16/large_image_source_dicom/web_client/models/AssetstoreModel.js +0 -20
- large-image-source-dicom-1.28.2.dev16/large_image_source_dicom/web_client/routes.js +0 -17
- large-image-source-dicom-1.28.2.dev16/large_image_source_dicom.egg-info/requires.txt +0 -5
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/LICENSE +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/README.rst +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/__init__.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/assetstore/__init__.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/dicom_metadata.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/dicom_tags.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/dicomweb_utils.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/girder_plugin.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/girder_source.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/constants.js +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/package.json +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/templates/assetstoreImport.pug +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreMixins.pug +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/views/AssetstoresView.js +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/views/AuthOptions.js +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/views/EditAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom/web_client/views/NewAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom.egg-info/dependency_links.txt +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom.egg-info/entry_points.txt +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/large_image_source_dicom.egg-info/top_level.txt +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/pyproject.toml +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/setup.cfg +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/test_dicom/__init__.py +0 -0
- {large-image-source-dicom-1.28.2.dev16 → large-image-source-dicom-1.28.2.dev28}/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.dev28
|
|
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,10 +17,11 @@ 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.dev28
|
|
21
21
|
Requires-Dist: wsidicom>=0.9.0
|
|
22
22
|
Provides-Extra: girder
|
|
23
|
-
Requires-Dist: girder-large-image>=1.28.2.
|
|
23
|
+
Requires-Dist: girder-large-image>=1.28.2.dev28; extra == "girder"
|
|
24
|
+
Requires-Dist: girder>=3.2.3; extra == "girder"
|
|
24
25
|
|
|
25
26
|
A DICOM tilesource for large_image.
|
|
26
27
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
1
3
|
import cherrypy
|
|
2
4
|
import requests
|
|
3
5
|
from large_image_source_dicom.dicom_tags import dicom_key_to_tag
|
|
@@ -394,31 +396,10 @@ class DICOMwebAssetstoreAdapter(AbstractAssetstoreAdapter):
|
|
|
394
396
|
except ValueError:
|
|
395
397
|
return
|
|
396
398
|
|
|
397
|
-
def
|
|
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
|
-
"""
|
|
399
|
+
def _importData(self, parent, parentType, params, progress, user):
|
|
419
400
|
if parentType not in ('folder', 'user', 'collection'):
|
|
420
401
|
msg = f'Invalid parent type: {parentType}'
|
|
421
|
-
raise
|
|
402
|
+
raise ValidationException(msg)
|
|
422
403
|
|
|
423
404
|
limit = params.get('limit')
|
|
424
405
|
search_filters = params.get('search_filters', {})
|
|
@@ -512,6 +493,65 @@ class DICOMwebAssetstoreAdapter(AbstractAssetstoreAdapter):
|
|
|
512
493
|
|
|
513
494
|
return items
|
|
514
495
|
|
|
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
|
+
|
|
515
555
|
@property
|
|
516
556
|
def auth_session(self):
|
|
517
557
|
return _create_auth_session(self.assetstore_meta)
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
from girder.api import access
|
|
4
2
|
from girder.api.describe import Description, autoDescribeRoute
|
|
5
3
|
from girder.api.rest import Resource
|
|
6
4
|
from girder.constants import TokenScope
|
|
7
5
|
from girder.exceptions import RestException
|
|
8
6
|
from girder.models.assetstore import Assetstore
|
|
9
|
-
from girder.utility import assetstore_utilities
|
|
10
7
|
from girder.utility.model_importer import ModelImporter
|
|
11
8
|
from girder.utility.progress import ProgressContext
|
|
12
9
|
|
|
10
|
+
from .dicomweb_assetstore_adapter import DICOMwebAssetstoreAdapter
|
|
11
|
+
|
|
13
12
|
|
|
14
13
|
class DICOMwebAssetstoreResource(Resource):
|
|
15
14
|
def __init__(self):
|
|
@@ -34,39 +33,14 @@ class DICOMwebAssetstoreResource(Resource):
|
|
|
34
33
|
parent = ModelImporter.model(destinationType).load(params['destinationId'], force=True,
|
|
35
34
|
exc=True)
|
|
36
35
|
|
|
37
|
-
|
|
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(
|
|
36
|
+
return DICOMwebAssetstoreAdapter(assetstore).importData(
|
|
56
37
|
parent,
|
|
57
38
|
destinationType,
|
|
58
|
-
|
|
59
|
-
'limit': limit,
|
|
60
|
-
'search_filters': search_filters,
|
|
61
|
-
},
|
|
39
|
+
params,
|
|
62
40
|
progress,
|
|
63
41
|
user,
|
|
64
42
|
)
|
|
65
43
|
|
|
66
|
-
if not items:
|
|
67
|
-
msg = 'No studies matching the search filters were found'
|
|
68
|
-
raise RestException(msg)
|
|
69
|
-
|
|
70
44
|
@access.admin(scope=TokenScope.DATA_WRITE)
|
|
71
45
|
@autoDescribeRoute(
|
|
72
46
|
Description('Import references to DICOM objects from a DICOMweb server')
|
|
@@ -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=`#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,6 +5,9 @@ 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
|
+
|
|
8
11
|
import DWASImportTemplate from '../templates/assetstoreImport.pug';
|
|
9
12
|
|
|
10
13
|
const DICOMwebImportView = View.extend({
|
|
@@ -24,12 +27,12 @@ const DICOMwebImportView = View.extend({
|
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
this.$('.g-submit-dwas-import').addClass('disabled');
|
|
27
|
-
this.
|
|
30
|
+
this.assetstore.off().on('g:imported', function () {
|
|
28
31
|
router.navigate(destinationType + '/' + destinationId, { trigger: true });
|
|
29
32
|
}, this).on('g:error', function (err) {
|
|
30
33
|
this.$('.g-submit-dwas-import').removeClass('disabled');
|
|
31
34
|
this.$('.g-validation-failed-message').html(err.responseJSON.message);
|
|
32
|
-
}, this).
|
|
35
|
+
}, this).import({
|
|
33
36
|
destinationId,
|
|
34
37
|
destinationType,
|
|
35
38
|
limit,
|
|
@@ -40,7 +43,7 @@ const DICOMwebImportView = View.extend({
|
|
|
40
43
|
'click .g-open-browser': '_openBrowser'
|
|
41
44
|
},
|
|
42
45
|
|
|
43
|
-
initialize: function () {
|
|
46
|
+
initialize: function (settings) {
|
|
44
47
|
this._browserWidgetView = new BrowserWidget({
|
|
45
48
|
parentView: this,
|
|
46
49
|
titleText: 'Destination',
|
|
@@ -75,12 +78,13 @@ const DICOMwebImportView = View.extend({
|
|
|
75
78
|
}
|
|
76
79
|
});
|
|
77
80
|
});
|
|
81
|
+
this.assetstore = settings.assetstore;
|
|
78
82
|
this.render();
|
|
79
83
|
},
|
|
80
84
|
|
|
81
85
|
render: function () {
|
|
82
86
|
this.$el.html(DWASImportTemplate({
|
|
83
|
-
assetstore: this.
|
|
87
|
+
assetstore: this.assetstore
|
|
84
88
|
}));
|
|
85
89
|
|
|
86
90
|
return this;
|
|
@@ -91,4 +95,6 @@ const DICOMwebImportView = View.extend({
|
|
|
91
95
|
}
|
|
92
96
|
});
|
|
93
97
|
|
|
98
|
+
assetstoreImportViewMap[AssetstoreType.DICOMWEB] = DICOMwebImportView;
|
|
99
|
+
|
|
94
100
|
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.dev28
|
|
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,10 +17,11 @@ 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.dev28
|
|
21
21
|
Requires-Dist: wsidicom>=0.9.0
|
|
22
22
|
Provides-Extra: girder
|
|
23
|
-
Requires-Dist: girder-large-image>=1.28.2.
|
|
23
|
+
Requires-Dist: girder-large-image>=1.28.2.dev28; extra == "girder"
|
|
24
|
+
Requires-Dist: girder>=3.2.3; extra == "girder"
|
|
24
25
|
|
|
25
26
|
A DICOM tilesource for large_image.
|
|
26
27
|
|
|
@@ -20,8 +20,6 @@ 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
|
|
25
23
|
large_image_source_dicom/web_client/templates/assetstoreImport.pug
|
|
26
24
|
large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug
|
|
27
25
|
large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug
|
|
@@ -41,11 +41,14 @@ entry_points = {
|
|
|
41
41
|
],
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
girder_extras = [f'girder-large-image{limit_version}']
|
|
45
|
+
|
|
44
46
|
if sys.version_info >= (3, 9):
|
|
45
47
|
# For Python >= 3.9, include the DICOMweb plugin
|
|
46
48
|
entry_points['girder.plugin'] = [
|
|
47
49
|
'dicomweb = large_image_source_dicom.girder_plugin:DICOMwebPlugin',
|
|
48
50
|
]
|
|
51
|
+
girder_extras.append('girder>=3.2.3')
|
|
49
52
|
|
|
50
53
|
setup(
|
|
51
54
|
name='large-image-source-dicom',
|
|
@@ -71,7 +74,7 @@ setup(
|
|
|
71
74
|
'wsidicom>=0.9.0',
|
|
72
75
|
],
|
|
73
76
|
extras_require={
|
|
74
|
-
'girder':
|
|
77
|
+
'girder': girder_extras,
|
|
75
78
|
},
|
|
76
79
|
include_package_data=True,
|
|
77
80
|
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: 1.3';
|
|
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: -1';
|
|
160
160
|
}, 'Invalid limit check (negative)');
|
|
161
161
|
|
|
162
162
|
runs(function () {
|
large-image-source-dicom-1.28.2.dev16/large_image_source_dicom/web_client/models/AssetstoreModel.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
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;
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
-
});
|
|
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.dev16 → large-image-source-dicom-1.28.2.dev28}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|