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.
Files changed (40) hide show
  1. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/PKG-INFO +1 -1
  2. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/large_image_source_dicom/__init__.py +34 -8
  3. {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
  4. {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
  5. large-image-source-dicom-1.27.1.dev7/large_image_source_dicom.egg-info/requires.txt +5 -0
  6. large-image-source-dicom-1.27.1.dev5/large_image_source_dicom.egg-info/requires.txt +0 -5
  7. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/LICENSE +0 -0
  8. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/README.rst +0 -0
  9. {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
  10. {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
  11. {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
  12. {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
  13. {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
  14. {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
  15. {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
  16. {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
  17. {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
  18. {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
  19. {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
  20. {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
  21. {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
  22. {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
  23. {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
  24. {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
  25. {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
  26. {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
  27. {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
  28. {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
  29. {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
  30. {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
  31. {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
  32. {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
  33. {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
  34. {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
  35. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/pyproject.toml +0 -0
  36. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/setup.cfg +0 -0
  37. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/setup.py +0 -0
  38. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/__init__.py +0 -0
  39. {large-image-source-dicom-1.27.1.dev5 → large-image-source-dicom-1.27.1.dev7}/test_dicom/test_web_client.py +0 -0
  40. {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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-dicom
3
- Version: 1.27.1.dev5
3
+ Version: 1.27.1.dev7
4
4
  Summary: A DICOM tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -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
- return True
229
+ mightbe = True
221
230
  elif os.path.splitext(path)[-1][1:] in self.extensions:
222
231
 
223
- return True
224
- if re.match(r'^([1-9][0-9]*|0)(\.([1-9][0-9]*|0))+$', path) and len(path) <= 64:
225
- return True
226
- if re.match(r'^DCM_\d+$', path):
227
- return True
228
- return False
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['name']):
56
+ if self._pathMightBeDicom(File().getLocalFilePath(file)):
57
57
  filelist.append(File().getLocalFilePath(file))
58
58
  return filelist
59
59
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image-source-dicom
3
- Version: 1.27.1.dev5
3
+ Version: 1.27.1.dev7
4
4
  Summary: A DICOM tilesource for large_image.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -0,0 +1,5 @@
1
+ large-image>=1.27.1.dev7
2
+ wsidicom>=0.9.0
3
+
4
+ [girder]
5
+ girder-large-image>=1.27.1.dev7
@@ -1,5 +0,0 @@
1
- large-image>=1.27.1.dev5
2
- wsidicom>=0.9.0
3
-
4
- [girder]
5
- girder-large-image>=1.27.1.dev5