large-image-source-dicom 1.27.1.dev5__tar.gz → 1.27.1.dev7__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.dev5 → large-image-source-dicom-1.27.1.dev7}/PKG-INFO +1 -1
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/__init__.py +34 -8
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/girder_source.py +1 -1
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom.egg-info/PKG-INFO +1 -1
- large-image-source-dicom-1.27.1.dev7/large_image_source_dicom.egg-info/requires.txt +5 -0
- large-image-source-dicom-1.27.1.dev5/large_image_source_dicom.egg-info/requires.txt +0 -5
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/LICENSE +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/README.rst +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/assetstore/__init__.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/assetstore/dicomweb_assetstore_adapter.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/assetstore/rest.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/dicom_metadata.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/dicom_tags.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/dicomweb_utils.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/girder_plugin.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/constants.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/main.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/models/AssetstoreModel.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/package.json +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/routes.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/templates/assetstoreImport.pug +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreCreate.pug +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreEditFields.pug +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreImportButton.pug +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/templates/dicomwebAssetstoreMixins.pug +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/views/AssetstoresView.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/views/AuthOptions.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/views/DICOMwebImportView.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/views/EditAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/web_client/views/NewAssetstoreWidget.js +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom.egg-info/SOURCES.txt +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom.egg-info/dependency_links.txt +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom.egg-info/entry_points.txt +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom.egg-info/top_level.txt +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/pyproject.toml +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/setup.cfg +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/setup.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/__init__.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/test_web_client.py +0 -0
- {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/web_client_specs/dicomWebSpec.js +0 -0
|
@@ -48,6 +48,13 @@ def _lazyImport():
|
|
|
48
48
|
warnings.filterwarnings('ignore', category=UserWarning, module='pydicom')
|
|
49
49
|
|
|
50
50
|
|
|
51
|
+
def _lazyImportPydicom():
|
|
52
|
+
global pydicom
|
|
53
|
+
|
|
54
|
+
if pydicom is None:
|
|
55
|
+
import pydicom
|
|
56
|
+
|
|
57
|
+
|
|
51
58
|
def dicom_to_dict(ds, base=None):
|
|
52
59
|
"""
|
|
53
60
|
Convert a pydicom dataset to a fairly flat python dictionary for purposes
|
|
@@ -134,7 +141,7 @@ class DICOMFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
134
141
|
self._largeImagePath = [
|
|
135
142
|
os.path.join(root, entry) for entry in os.listdir(root)
|
|
136
143
|
if os.path.isfile(os.path.join(root, entry)) and
|
|
137
|
-
self._pathMightBeDicom(entry, path)]
|
|
144
|
+
self._pathMightBeDicom(os.path.join(root, entry), path)]
|
|
138
145
|
if (path not in self._largeImagePath and
|
|
139
146
|
os.path.join(root, os.path.basename(path)) not in self._largeImagePath):
|
|
140
147
|
self._largeImagePath = [path]
|
|
@@ -213,19 +220,38 @@ class DICOMFileTileSource(FileTileSource, metaclass=LruCacheMetaclass):
|
|
|
213
220
|
:param path: the path to check.
|
|
214
221
|
:returns: True if this might be a dicom, False otherwise.
|
|
215
222
|
"""
|
|
223
|
+
mightbe = False
|
|
224
|
+
origpath = path
|
|
216
225
|
path = os.path.basename(path)
|
|
217
226
|
if (basepath is not None and
|
|
218
227
|
os.path.splitext(os.path.basename(basepath))[-1][1:] not in self.extensions):
|
|
219
228
|
if os.path.splitext(path)[-1] == os.path.splitext(os.path.basename(basepath))[-1]:
|
|
220
|
-
|
|
229
|
+
mightbe = True
|
|
221
230
|
elif os.path.splitext(path)[-1][1:] in self.extensions:
|
|
222
231
|
|
|
223
|
-
|
|
224
|
-
if re.match(r'^([1-9][0-9]*|0)(\.([1-9][0-9]*|0))+$', path) and
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
232
|
+
mightbe = True
|
|
233
|
+
if (not mightbe and re.match(r'^([1-9][0-9]*|0)(\.([1-9][0-9]*|0))+$', path) and
|
|
234
|
+
len(path) <= 64):
|
|
235
|
+
mightbe = True
|
|
236
|
+
if not mightbe and re.match(r'^DCM_\d+$', path):
|
|
237
|
+
mightbe = True
|
|
238
|
+
if mightbe and basepath:
|
|
239
|
+
try:
|
|
240
|
+
_lazyImportPydicom()
|
|
241
|
+
base_series_uid = pydicom.filereader.dcmread(
|
|
242
|
+
basepath, stop_before_pixels=True,
|
|
243
|
+
)[pydicom.tag.Tag('SeriesInstanceUID')].value
|
|
244
|
+
except Exception:
|
|
245
|
+
base_series_uid = None
|
|
246
|
+
if base_series_uid:
|
|
247
|
+
try:
|
|
248
|
+
series_uid = pydicom.filereader.dcmread(
|
|
249
|
+
origpath, stop_before_pixels=True,
|
|
250
|
+
)[pydicom.tag.Tag('SeriesInstanceUID')].value
|
|
251
|
+
mightbe = base_series_uid == series_uid
|
|
252
|
+
except Exception:
|
|
253
|
+
mightbe = False
|
|
254
|
+
return mightbe
|
|
229
255
|
|
|
230
256
|
def getNativeMagnification(self):
|
|
231
257
|
"""
|
|
@@ -53,7 +53,7 @@ class DICOMGirderTileSource(DICOMFileTileSource, GirderTileSource):
|
|
|
53
53
|
for item in Folder().childItems(folder):
|
|
54
54
|
if len(list(Item().childFiles(item, limit=2))) == 1:
|
|
55
55
|
file = next(Item().childFiles(item, limit=2))
|
|
56
|
-
if self._pathMightBeDicom(file
|
|
56
|
+
if self._pathMightBeDicom(File().getLocalFilePath(file)):
|
|
57
57
|
filelist.append(File().getLocalFilePath(file))
|
|
58
58
|
return filelist
|
|
59
59
|
|
|
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.dev5 → large-image-source-dicom-1.27.1.dev7}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|