girder-large-image 1.29.2.dev4__tar.gz → 1.29.2.dev6__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 (80) hide show
  1. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/PKG-INFO +3 -3
  2. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/__init__.py +45 -4
  3. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/girder_tilesource.py +5 -2
  4. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/PKG-INFO +3 -3
  5. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/requires.txt +2 -2
  6. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/LICENSE +0 -0
  7. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/README.rst +0 -0
  8. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/constants.py +0 -0
  9. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/loadmodelcache.py +0 -0
  10. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/models/__init__.py +0 -0
  11. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/models/image_item.py +0 -0
  12. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/rest/__init__.py +0 -0
  13. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/rest/item_meta.py +0 -0
  14. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/rest/large_image_resource.py +0 -0
  15. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/rest/tiles.py +0 -0
  16. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/eventStream.js +0 -0
  17. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/extra/.gitignore +0 -0
  18. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/index.js +0 -0
  19. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/main.js +0 -0
  20. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/package.json +0 -0
  21. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/routes.js +0 -0
  22. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/fileList.styl +0 -0
  23. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/imageViewerSelectWidget.styl +0 -0
  24. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/itemList.styl +0 -0
  25. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/itemView.styl +0 -0
  26. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/itemViewCodemirror.styl +0 -0
  27. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/largeImageConfig.styl +0 -0
  28. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/stylesheets/metadataWidget.styl +0 -0
  29. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/imageViewerSelectWidget.pug +0 -0
  30. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/itemList.pug +0 -0
  31. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/itemView.pug +0 -0
  32. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/itemViewCodemirror.pug +0 -0
  33. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/largeImageConfig.pug +0 -0
  34. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/largeImage_fileAction.pug +0 -0
  35. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/metadataWidget.pug +0 -0
  36. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/templates/metadatumEditWidget.pug +0 -0
  37. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/configView.js +0 -0
  38. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/fileList.js +0 -0
  39. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerSelectWidget.js +0 -0
  40. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/base.js +0 -0
  41. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/geojs.js +0 -0
  42. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/index.js +0 -0
  43. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/leaflet.js +0 -0
  44. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/openlayers.js +0 -0
  45. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/openseadragon.js +0 -0
  46. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/setFrameQuad.js +0 -0
  47. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/imageViewerWidget/slideatlas.js +0 -0
  48. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/index.js +0 -0
  49. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/itemList.js +0 -0
  50. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/itemView.js +0 -0
  51. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/itemViewCodemirror.js +0 -0
  52. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/itemViewWidget.js +0 -0
  53. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/views/metadataWidget.js +0 -0
  54. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/components/CompositeLayers.vue +0 -0
  55. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/components/DualInput.vue +0 -0
  56. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/components/FrameSelector.vue +0 -0
  57. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/components/HistogramEditor.vue +0 -0
  58. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/components/PresetsMenu.vue +0 -0
  59. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/utils/clamp.js +0 -0
  60. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/utils/colors.js +0 -0
  61. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/vue/utils/drag.js +0 -0
  62. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image/web_client/webpack.helper.js +0 -0
  63. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/SOURCES.txt +0 -0
  64. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/dependency_links.txt +0 -0
  65. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/entry_points.txt +0 -0
  66. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/not-zip-safe +0 -0
  67. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/girder_large_image.egg-info/top_level.txt +0 -0
  68. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/pyproject.toml +0 -0
  69. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/setup.cfg +0 -0
  70. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/setup.py +0 -0
  71. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/__init__.py +0 -0
  72. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/conftest.py +0 -0
  73. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/girder_utilities.py +0 -0
  74. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/test_large_image.py +0 -0
  75. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/test_tiles_rest.py +0 -0
  76. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/test_web_client.py +0 -0
  77. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/web_client_specs/.eslintrc +0 -0
  78. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/web_client_specs/imageViewerSpec.js +0 -0
  79. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/web_client_specs/largeImageSpec.js +0 -0
  80. {girder-large-image-1.29.2.dev4 → girder-large-image-1.29.2.dev6}/test_girder/web_client_specs/otherFeatures.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-large-image
3
- Version: 1.29.2.dev4
3
+ Version: 1.29.2.dev6
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -19,9 +19,9 @@ Requires-Python: >=3.8
19
19
  License-File: LICENSE
20
20
  Requires-Dist: girder>=3.1.18
21
21
  Requires-Dist: girder-jobs>=3.0.3
22
- Requires-Dist: large_image>=1.29.2.dev4
22
+ Requires-Dist: large_image>=1.29.2.dev6
23
23
  Provides-Extra: tasks
24
- Requires-Dist: large-image-tasks[girder]>=1.29.2.dev4; extra == "tasks"
24
+ Requires-Dist: large-image-tasks[girder]>=1.29.2.dev6; extra == "tasks"
25
25
  Requires-Dist: girder-worker[girder]>=0.6.0; extra == "tasks"
26
26
 
27
27
  A Girder plugin to work with large, multiresolution images.
@@ -158,7 +158,7 @@ def _updateJob(event):
158
158
  datetime.timedelta(seconds=30)))
159
159
 
160
160
 
161
- def checkForLargeImageFiles(event):
161
+ def checkForLargeImageFiles(event): # noqa
162
162
  file = event.info
163
163
  logger.info('Handling file %s (%s)', file['_id'], file['name'])
164
164
  possible = False
@@ -178,10 +178,51 @@ def checkForLargeImageFiles(event):
178
178
  return
179
179
  try:
180
180
  ImageItem().createImageItem(item, file, createJob=False)
181
+ return
181
182
  except Exception:
182
- # We couldn't automatically set this as a large image
183
- girder.logger.info(
184
- 'Saved file %s cannot be automatically used as a largeImage' % str(file['_id']))
183
+ pass
184
+ # Check for files that are from folder/image style images. This is custom
185
+ # per folder/image format
186
+ imageFolderRecords = {
187
+ 'mrxs': {
188
+ 'match': r'^Slidedat.ini$',
189
+ 'up': 1,
190
+ 'folder': r'^(.*)$',
191
+ 'image': '\\1.mrxs',
192
+ },
193
+ 'vsi': {
194
+ 'match': r'^.*\.ets$',
195
+ 'up': 2,
196
+ 'folder': r'^_(\.*)_$',
197
+ 'image': '\\1.vsi',
198
+ },
199
+ }
200
+ for check in imageFolderRecords.values():
201
+ if re.match(check['match'], file['name']):
202
+ try:
203
+ folderId = item['folderId']
204
+ folder = None
205
+ for _ in range(check['up']):
206
+ folder = Folder().load(folderId, force=True)
207
+ if not folder:
208
+ break
209
+ folderId = folder['parentId']
210
+ if not folder or not re.match(check['folder'], folder['name']):
211
+ continue
212
+ imageName = re.sub(check['folder'], check['image'], folder['name'])
213
+ parentItem = Item().findOne({'folderId': folder['parentId'], 'name': imageName})
214
+ if not parentItem:
215
+ continue
216
+ files = list(Item().childFiles(item=parentItem, limit=2))
217
+ if len(files) == 1:
218
+ parentFile = files[0]
219
+ ImageItem().createImageItem(parentItem, parentFile, createJob=False)
220
+ return
221
+ except Exception:
222
+ pass
223
+ # We couldn't automatically set this as a large image
224
+ girder.logger.info(
225
+ 'Saved file %s cannot be automatically used as a largeImage' % str(file['_id']))
185
226
 
186
227
 
187
228
  def removeThumbnails(event):
@@ -5,7 +5,7 @@ from girder.constants import AccessType
5
5
  from girder.exceptions import FilePathException, ValidationException
6
6
  from girder.models.file import File
7
7
  from girder.models.item import Item
8
- from large_image import tilesource
8
+ from large_image import config, tilesource
9
9
  from large_image.constants import SourcePriority
10
10
  from large_image.exceptions import TileSourceAssetstoreError, TileSourceError
11
11
 
@@ -164,6 +164,9 @@ def getGirderTileSourceName(item, file=None, *args, **kwargs): # noqa
164
164
  properties = {}
165
165
  if localPath:
166
166
  properties['_geospatial_source'] = tilesource.isGeospatial(localPath)
167
+ ignored_names = config.getConfig('all_sources_ignored_names')
168
+ ignoreName = (ignored_names and re.search(
169
+ ignored_names, baseName, flags=re.IGNORECASE))
167
170
  sourceList = []
168
171
  for sourceName in availableSources:
169
172
  if not getattr(availableSources[sourceName], 'girderSource', False):
@@ -183,7 +186,7 @@ def getGirderTileSourceName(item, file=None, *args, **kwargs): # noqa
183
186
  if ext in sourceExtensions:
184
187
  priority = min(priority, sourceExtensions[ext])
185
188
  fallback = False
186
- if priority >= SourcePriority.MANUAL:
189
+ if priority >= SourcePriority.MANUAL or (ignoreName and fallback):
187
190
  continue
188
191
  propertiesClash = any(
189
192
  getattr(availableSources[sourceName], k, False) != v
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-large-image
3
- Version: 1.29.2.dev4
3
+ Version: 1.29.2.dev6
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -19,9 +19,9 @@ Requires-Python: >=3.8
19
19
  License-File: LICENSE
20
20
  Requires-Dist: girder>=3.1.18
21
21
  Requires-Dist: girder-jobs>=3.0.3
22
- Requires-Dist: large_image>=1.29.2.dev4
22
+ Requires-Dist: large_image>=1.29.2.dev6
23
23
  Provides-Extra: tasks
24
- Requires-Dist: large-image-tasks[girder]>=1.29.2.dev4; extra == "tasks"
24
+ Requires-Dist: large-image-tasks[girder]>=1.29.2.dev6; extra == "tasks"
25
25
  Requires-Dist: girder-worker[girder]>=0.6.0; extra == "tasks"
26
26
 
27
27
  A Girder plugin to work with large, multiresolution images.
@@ -1,7 +1,7 @@
1
1
  girder>=3.1.18
2
2
  girder-jobs>=3.0.3
3
- large_image>=1.29.2.dev4
3
+ large_image>=1.29.2.dev6
4
4
 
5
5
  [tasks]
6
- large-image-tasks[girder]>=1.29.2.dev4
6
+ large-image-tasks[girder]>=1.29.2.dev6
7
7
  girder-worker[girder]>=0.6.0