large-image-source-dicom 1.27.1.dev59__tar.gz → 1.27.1.dev63__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.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/PKG-INFO +1 -1
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/__init__.py +7 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/girder_source.py +8 -2
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom.egg-info/PKG-INFO +1 -1
- large-image-source-dicom-1.27.1.dev63/large_image_source_dicom.egg-info/requires.txt +5 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/test_dicom/test_web_client.py +7 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/test_dicom/web_client_specs/dicomWebSpec.js +8 -2
- large-image-source-dicom-1.27.1.dev59/large_image_source_dicom.egg-info/requires.txt +0 -5
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/LICENSE +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/README.rst +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/assetstore/__init__.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/assetstore/dicomweb_assetstore_adapter.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/assetstore/rest.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/dicom_metadata.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/dicom_tags.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/dicomweb_utils.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/girder_plugin.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/constants.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/main.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/models/AssetstoreModel.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/package.json +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/routes.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/templates/assetstoreImport.pug +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreImportButton.pug +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreMixins.pug +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/views/AssetstoresView.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/views/AuthOptions.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/views/DICOMwebImportView.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/views/EditAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom/web_client/views/NewAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom.egg-info/SOURCES.txt +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom.egg-info/dependency_links.txt +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom.egg-info/entry_points.txt +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/large_image_source_dicom.egg-info/top_level.txt +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/pyproject.toml +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/setup.cfg +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/setup.py +0 -0
- {large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/test_dicom/__init__.py +0 -0
|
@@ -53,6 +53,7 @@ def _lazyImportPydicom():
|
|
|
53
53
|
|
|
54
54
|
if pydicom is None:
|
|
55
55
|
import pydicom
|
|
56
|
+
return pydicom
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
def dicom_to_dict(ds, base=None):
|
|
@@ -138,6 +139,12 @@ class DICOMFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
138
139
|
if not os.path.isfile(path):
|
|
139
140
|
raise TileSourceFileNotFoundError(path) from None
|
|
140
141
|
root = os.path.dirname(path) or '.'
|
|
142
|
+
try:
|
|
143
|
+
_lazyImportPydicom()
|
|
144
|
+
pydicom.filereader.dcmread(path, stop_before_pixels=True)
|
|
145
|
+
except Exception as exc:
|
|
146
|
+
msg = f'File cannot be opened via dicom tile source ({exc}).'
|
|
147
|
+
raise TileSourceError(msg)
|
|
141
148
|
self._largeImagePath = [
|
|
142
149
|
os.path.join(root, entry) for entry in os.listdir(root)
|
|
143
150
|
if os.path.isfile(os.path.join(root, entry)) and
|
|
@@ -5,8 +5,9 @@ from girder.models.file import File
|
|
|
5
5
|
from girder.models.folder import Folder
|
|
6
6
|
from girder.models.item import Item
|
|
7
7
|
from girder.utility import assetstore_utilities
|
|
8
|
+
from large_image.exceptions import TileSourceError
|
|
8
9
|
|
|
9
|
-
from . import DICOMFileTileSource
|
|
10
|
+
from . import DICOMFileTileSource, _lazyImportPydicom
|
|
10
11
|
from .assetstore import DICOMWEB_META_KEY
|
|
11
12
|
|
|
12
13
|
|
|
@@ -46,8 +47,13 @@ class DICOMGirderTileSource(DICOMFileTileSource, GirderTileSource):
|
|
|
46
47
|
filelist = [
|
|
47
48
|
File().getLocalFilePath(file) for file in Item().childFiles(self.item)
|
|
48
49
|
if self._pathMightBeDicom(file['name'])]
|
|
49
|
-
if len(filelist)
|
|
50
|
+
if len(filelist) != 1:
|
|
50
51
|
return filelist
|
|
52
|
+
try:
|
|
53
|
+
_lazyImportPydicom().filereader.dcmread(filelist[0], stop_before_pixels=True)
|
|
54
|
+
except Exception as exc:
|
|
55
|
+
msg = f'File cannot be opened via dicom tile source ({exc}).'
|
|
56
|
+
raise TileSourceError(msg)
|
|
51
57
|
filelist = []
|
|
52
58
|
folder = Folder().load(self.item['folderId'], force=True)
|
|
53
59
|
for item in Folder().childItems(folder):
|
|
@@ -28,6 +28,13 @@ def testDICOMWebClient(boundServer, fsAssetstore, db):
|
|
|
28
28
|
dicomweb_test_url = os.environ['DICOMWEB_TEST_URL']
|
|
29
29
|
data = data.replace('DICOMWEB_TEST_URL', f"'{dicomweb_test_url}'")
|
|
30
30
|
|
|
31
|
+
dicomweb_test_token = os.getenv('DICOMWEB_TEST_TOKEN')
|
|
32
|
+
if dicomweb_test_token:
|
|
33
|
+
dicomweb_test_token = f"'{dicomweb_test_token}'"
|
|
34
|
+
else:
|
|
35
|
+
dicomweb_test_token = 'null'
|
|
36
|
+
data = data.replace('DICOMWEB_TEST_TOKEN', dicomweb_test_token)
|
|
37
|
+
|
|
31
38
|
# Need to avoid context manager for this to work on Windows
|
|
32
39
|
tf = tempfile.NamedTemporaryFile(delete=False)
|
|
33
40
|
try:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// These will be replaced by templating
|
|
2
2
|
const url = DICOMWEB_TEST_URL;
|
|
3
|
+
const token = DICOMWEB_TEST_TOKEN;
|
|
3
4
|
|
|
4
5
|
girderTest.importPlugin('jobs', 'large_image', 'dicomweb');
|
|
5
6
|
|
|
@@ -59,8 +60,13 @@ describe('DICOMWeb assetstore', function () {
|
|
|
59
60
|
}, 'No token provided check');
|
|
60
61
|
|
|
61
62
|
runs(function () {
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
if (token == null) {
|
|
64
|
+
// Change the auth type back to None
|
|
65
|
+
$('#g-new-dwas-auth-type').val(null);
|
|
66
|
+
} else {
|
|
67
|
+
// Set the token
|
|
68
|
+
$('#g-new-dwas-auth-token').val(token);
|
|
69
|
+
}
|
|
64
70
|
|
|
65
71
|
// This should work now
|
|
66
72
|
$('#g-new-dwas-form input.btn-primary').click();
|
|
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
|
{large-image-source-dicom-1.27.1.dev59 → large-image-source-dicom-1.27.1.dev63}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|