histomicsui 1.7.1.dev16__tar.gz → 1.7.2.dev4__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 (184) hide show
  1. {histomicsui-1.7.1.dev16/histomicsui.egg-info → histomicsui-1.7.2.dev4}/PKG-INFO +1 -1
  2. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/config_options.rst +14 -0
  3. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/saveAnnotation.js +5 -5
  4. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/AnnotationSelector.js +4 -1
  5. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/DrawWidget.js +9 -1
  6. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/body/ImageView.js +70 -5
  7. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/popover/AnnotationContextMenu.js +3 -3
  8. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4/histomicsui.egg-info}/PKG-INFO +1 -1
  9. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/.circleci/config.yml +0 -0
  10. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/.editorconfig +0 -0
  11. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/.git-blame-ignore-revs +0 -0
  12. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/.gitignore +0 -0
  13. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/.pre-commit-config.yaml +0 -0
  14. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/LICENSE +0 -0
  15. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/MANIFEST.in +0 -0
  16. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/NOTICE +0 -0
  17. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/README.rst +0 -0
  18. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/codecov.yml +0 -0
  19. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/controls.rst +0 -0
  20. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/images/difference.gif +0 -0
  21. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/images/intersect.gif +0 -0
  22. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/images/union.gif +0 -0
  23. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/images/xor.gif +0 -0
  24. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/docs/slicer_cli_plugins.rst +0 -0
  25. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/__init__.py +0 -0
  26. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/constants.py +0 -0
  27. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/handlers.py +0 -0
  28. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/__init__.py +0 -0
  29. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/aperio.py +0 -0
  30. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/case.py +0 -0
  31. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/cohort.py +0 -0
  32. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/image.py +0 -0
  33. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/meta.py +0 -0
  34. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/pathology.py +0 -0
  35. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/models/slide.py +0 -0
  36. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/__init__.py +0 -0
  37. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/aperio.py +0 -0
  38. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/hui_resource.py +0 -0
  39. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/image_browse_resource.py +0 -0
  40. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/system.py +0 -0
  41. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/rest/tcga.py +0 -0
  42. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/app.js +0 -0
  43. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/collections/StyleCollection.js +0 -0
  44. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/collections/UserCollection.js +0 -0
  45. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/collections/index.js +0 -0
  46. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/confirmDialog.js +0 -0
  47. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/editElement.js +0 -0
  48. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/editRegionOfInterest.js +0 -0
  49. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/editStyleGroups.js +0 -0
  50. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/index.js +0 -0
  51. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/metadataPlot.js +0 -0
  52. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/openAnnotatedImage.js +0 -0
  53. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/dialogs/openImage.js +0 -0
  54. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/events.js +0 -0
  55. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/index.js +0 -0
  56. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/main.js +0 -0
  57. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/models/StyleModel.js +0 -0
  58. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/models/index.js +0 -0
  59. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/package.json +0 -0
  60. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/FrameSelectorWidget.js +0 -0
  61. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/MetadataPlot.js +0 -0
  62. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/MetadataWidget.js +0 -0
  63. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/OverviewWidget.js +0 -0
  64. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/RegionSelector.js +0 -0
  65. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/ZoomWidget.js +0 -0
  66. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/panels/index.js +0 -0
  67. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/router.js +0 -0
  68. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/routes.js +0 -0
  69. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/static/favicon.png +0 -0
  70. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/body/configView.styl +0 -0
  71. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/body/image.styl +0 -0
  72. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/dialogs/editStyleGroups.styl +0 -0
  73. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/dialogs/metadataPlot.styl +0 -0
  74. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/dialogs/openAnnotatedImage.styl +0 -0
  75. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/dialogs/saveAnnotation.styl +0 -0
  76. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/layout/header.styl +0 -0
  77. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/layout/headerAnalyses.styl +0 -0
  78. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/layout/headerImage.styl +0 -0
  79. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/layout/layout.styl +0 -0
  80. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/annotationSelector.styl +0 -0
  81. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/drawWidget.styl +0 -0
  82. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/frameSelectorWidget.styl +0 -0
  83. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/metadataPlot.styl +0 -0
  84. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/metadataWidget.styl +0 -0
  85. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/overviewWidget.styl +0 -0
  86. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/regionSelector.styl +0 -0
  87. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/panels/zoomWidget.styl +0 -0
  88. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/popover/annotationContextMenu.styl +0 -0
  89. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/popover/annotationPopover.styl +0 -0
  90. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/views/itemList.styl +0 -0
  91. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/stylesheets/views/searchResultsView.styl +0 -0
  92. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/body/configView.pug +0 -0
  93. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/body/image.pug +0 -0
  94. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/annotatedImageList.pug +0 -0
  95. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/confirmDialog.pug +0 -0
  96. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/editElement.pug +0 -0
  97. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/editRegionOfInterest.pug +0 -0
  98. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/editStyleGroups.pug +0 -0
  99. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/metadataPlot.pug +0 -0
  100. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/openAnnotatedImage.pug +0 -0
  101. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/openImage.pug +0 -0
  102. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/dialogs/saveAnnotation.pug +0 -0
  103. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/layout/header.pug +0 -0
  104. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/layout/headerAnalyses.pug +0 -0
  105. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/layout/headerImage.pug +0 -0
  106. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/layout/headerUser.pug +0 -0
  107. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/layout/layout.pug +0 -0
  108. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/annotationSelector.pug +0 -0
  109. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/drawWidget.pug +0 -0
  110. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/drawWidgetElement.pug +0 -0
  111. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/frameSelectorWidget.pug +0 -0
  112. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/metadataPlot.pug +0 -0
  113. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/metadataWidgetPanel.pug +0 -0
  114. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/overviewWidget.pug +0 -0
  115. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/panel.pug +0 -0
  116. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/regionSelector.pug +0 -0
  117. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/panels/zoomWidget.pug +0 -0
  118. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/popover/annotationContextMenu.pug +0 -0
  119. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/popover/annotationPopover.pug +0 -0
  120. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/popover/annotationPopoverMetadata.pug +0 -0
  121. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/templates/popover/pixelmapContextMenu.pug +0 -0
  122. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/HierarchyWidget.js +0 -0
  123. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/JobDetailsWidget.js +0 -0
  124. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/View.js +0 -0
  125. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/body/ConfigView.js +0 -0
  126. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/body/index.js +0 -0
  127. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/index.js +0 -0
  128. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/itemList.js +0 -0
  129. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/itemPage.js +0 -0
  130. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/HeaderAnalysesView.js +0 -0
  131. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/HeaderImageView.js +0 -0
  132. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/HeaderUserView.js +0 -0
  133. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/HeaderView.js +0 -0
  134. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/LoginView.js +0 -0
  135. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/layout/index.js +0 -0
  136. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/popover/AnnotationPopover.js +0 -0
  137. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/popover/PixelmapContextMenu.js +0 -0
  138. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/popover/index.js +0 -0
  139. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/searchResultsView.js +0 -0
  140. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/views/utils.js +0 -0
  141. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/vue/components/ColorPickerInput.vue +0 -0
  142. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/vue/components/EditHeatmapOrGridData.vue +0 -0
  143. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/vue/components/EditHeatmapOrGridDataContainer.vue +0 -0
  144. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/web_client/webpack.helper.js +0 -0
  145. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui/webroot.mako +0 -0
  146. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/SOURCES.txt +0 -0
  147. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/dependency_links.txt +0 -0
  148. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/entry_points.txt +0 -0
  149. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/not-zip-safe +0 -0
  150. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/requires.txt +0 -0
  151. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/histomicsui.egg-info/top_level.txt +0 -0
  152. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/pyproject.toml +0 -0
  153. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/requirements-dev.txt +0 -0
  154. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/ruff.toml +0 -0
  155. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/setup.cfg +0 -0
  156. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/setup.py +0 -0
  157. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/__init__.py +0 -0
  158. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/datastore.py +0 -0
  159. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/girder_utilities.py +0 -0
  160. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/.histomicsui_config.yaml +0 -0
  161. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/sample.anot +0 -0
  162. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/sample.meta +0 -0
  163. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/sample_girder_id.anot +0 -0
  164. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/test_analysis_detection.xml +0 -0
  165. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_files/test_analysis_features.xml +0 -0
  166. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_handlers.py +0 -0
  167. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_hui_rest.py +0 -0
  168. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_image_browse_endpoints.py +0 -0
  169. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_load.py +0 -0
  170. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_tcga.py +0 -0
  171. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/test_web_client.py +0 -0
  172. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/.eslintrc +0 -0
  173. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/analysisSpec.js +0 -0
  174. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/annotationSpec.js +0 -0
  175. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/girderUISpec.js +0 -0
  176. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/huiSpec.js +0 -0
  177. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/huiTest.js +0 -0
  178. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/itemSpec.js +0 -0
  179. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/metadataPanelSpec.js +0 -0
  180. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/metadataPlotSpec.js +0 -0
  181. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/overviewPanelSpec.js +0 -0
  182. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/panelLayoutSpec.js +0 -0
  183. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tests/web_client_specs/pixelmapCategorySpec.js +0 -0
  184. {histomicsui-1.7.1.dev16 → histomicsui-1.7.2.dev4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: histomicsui
3
- Version: 1.7.1.dev16
3
+ Version: 1.7.2.dev4
4
4
  Summary: Organize, visualize, and analyze histology images.
5
5
  Home-page: https://github.com/DigitalSlideArchive/histomicsui
6
6
  Author: Kitware, Inc.
@@ -50,6 +50,7 @@ _________________
50
50
  fillColor: rgba(255, 0, 0, 0.25)
51
51
  lineColor: rgb(255, 0, 0)
52
52
  lineWidth: 2
53
+ hotkey: r
53
54
  -
54
55
  id: Green
55
56
  fillColor: rgba(0, 128, 0, 0.25)
@@ -61,6 +62,19 @@ _________________
61
62
  lineColor: rgb(0, 0, 255)
62
63
  lineWidth: 2
63
64
 
65
+ If a hotkey is specified for a group, it will only be active if the group was loaded from the config file. That is, moving to another folder where the config file does not apply will disable the hotkey. If you want hotkeys to have modifiers (e.g., require that alt, ctrl, or meta be pressed or explicitly NOT pressed), you can add a hotkey section:
66
+
67
+ ::
68
+
69
+ ---
70
+ hotkeys:
71
+ -
72
+ key: r
73
+ ctrl: true
74
+ alt: false
75
+ action: group
76
+ param: Red
77
+
64
78
  UI Settings
65
79
  ___________
66
80
 
@@ -467,26 +467,26 @@ var SaveAnnotation = View.extend({
467
467
 
468
468
  // all valid
469
469
  if (setFillColor || setLineColor || setLineWidth) {
470
- this.annotation.elements().each((element, idx) => { /* eslint-disable backbone/no-silent */
470
+ this.annotation.elements().each((element, idx) => {
471
471
  if (setFillColor) {
472
472
  if (setFillColor === 'func') {
473
473
  fillColor = colorFromFunc(element, idx, fillColorParam, this._styleableFuncs[fillColorParam.key]);
474
474
  }
475
- element.set('fillColor', fillColor, {silent: true});
475
+ element.set('fillColor', fillColor, {delaySave: true});
476
476
  }
477
477
  if (setLineColor) {
478
478
  if (setLineColor === 'func') {
479
479
  lineColor = colorFromFunc(element, idx, lineColorParam, this._styleableFuncs[lineColorParam.key]);
480
480
  }
481
- element.set('lineColor', lineColor, {silent: true});
481
+ element.set('lineColor', lineColor, {delaySave: true});
482
482
  }
483
483
  if (setLineWidth) {
484
- element.set('lineWidth', lineWidth, {silent: true});
484
+ element.set('lineWidth', lineWidth, {delaySave: true});
485
485
  }
486
486
  });
487
487
  const annotationData = _.extend({}, this.annotation.get('annotation'));
488
488
  annotationData.elements = this.annotation.elements().toJSON();
489
- this.annotation.set('annotation', annotationData, {silent: true});
489
+ this.annotation.set('annotation', annotationData, {delaySave: true});
490
490
  }
491
491
 
492
492
  const visible = this.$('#h-annotation-visible').prop('checked');
@@ -441,7 +441,10 @@ var AnnotationSelector = Panel.extend({
441
441
  );
442
442
  },
443
443
 
444
- _saveAnnotation(annotation) {
444
+ _saveAnnotation(annotation, options) {
445
+ if (options && options.delaySave) {
446
+ return;
447
+ }
445
448
  if (this.viewer && !this.viewer._saving) {
446
449
  this.viewer._saving = {};
447
450
  }
@@ -435,7 +435,7 @@ var DrawWidget = Panel.extend({
435
435
  }
436
436
  return result;
437
437
  }).filter((annot) => !annot.points || annot.points.length);
438
- Object.keys(oldids).forEach((id) => this.deleteElement(undefined, id, {silent: elements.length}));
438
+ Object.keys(oldids).forEach((id) => this.deleteElement(undefined, id, {delaySave: elements.length}));
439
439
  this.addElements(
440
440
  _.map(elements, (el) => {
441
441
  el = _.extend(el, _.omit(this._style.toJSON(), 'id'));
@@ -997,6 +997,14 @@ var DrawWidget = Panel.extend({
997
997
  this._setStyleGroup(this._groups.get(prevGroup).toJSON());
998
998
  },
999
999
 
1000
+ setStyleGroupById(groupId) {
1001
+ const group = this._groups.get(groupId);
1002
+ if (!group) {
1003
+ return;
1004
+ }
1005
+ this._setStyleGroup(group.toJSON());
1006
+ },
1007
+
1000
1008
  getStyleGroup() {
1001
1009
  return this._style;
1002
1010
  },
@@ -1168,6 +1168,38 @@ var ImageView = View.extend({
1168
1168
  l: 'line',
1169
1169
  b: 'brush'
1170
1170
  };
1171
+ if (this._hotkeys && this._hotkeys[evt.key.toLowerCase()]) {
1172
+ let used = false;
1173
+ this._hotkeys[evt.key.toLowerCase()].forEach((keyset) => {
1174
+ if (keyset.ctrl !== undefined && evt.originalEvent.ctrlKey !== keyset.ctrl) {
1175
+ return;
1176
+ }
1177
+ if (keyset.alt !== undefined && evt.originalEvent.altKey !== keyset.alt) {
1178
+ return;
1179
+ }
1180
+ if (keyset.meta !== undefined && evt.originalEvent.metaKey !== keyset.meta) {
1181
+ return;
1182
+ }
1183
+ if (keyset.shift !== undefined && evt.originalEvent.shiftKey !== keyset.shift) {
1184
+ return;
1185
+ }
1186
+ if (keyset.shift === undefined && evt.originalEvent.shiftKey && evt.key.toLowerCase() === keyset.key) {
1187
+ return;
1188
+ }
1189
+ switch (keyset.action) {
1190
+ case 'group':
1191
+ if (this.drawWidget) {
1192
+ this.drawWidget.setStyleGroupById(keyset.param);
1193
+ used = true;
1194
+ }
1195
+ break;
1196
+ }
1197
+ });
1198
+ if (used) {
1199
+ evt.preventDefault();
1200
+ return;
1201
+ }
1202
+ }
1171
1203
  switch (evt.key) {
1172
1204
  case 'a':
1173
1205
  this._showOrHideAnnotations();
@@ -1560,12 +1592,11 @@ var ImageView = View.extend({
1560
1592
  const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);
1561
1593
  _.each(groupedAnnotations, (elements, annotationId) => {
1562
1594
  const annotation = this.annotations.get(annotationId);
1563
- _.each(elements, (element) => { /* eslint-disable backbone/no-silent */
1595
+ _.each(elements, (element) => {
1564
1596
  const annotationElement = annotation.elements().get(element.id);
1565
- // silence the event because we want to make one save call for each annotation.
1566
- annotationElement.set(element.toJSON(), {silent: true});
1597
+ annotationElement.set(element.toJSON(), {delaySave: true});
1567
1598
  if (!element.get('group')) {
1568
- annotationElement.unset('group', {silent: true});
1599
+ annotationElement.unset('group', {delaySave: true});
1569
1600
  }
1570
1601
  });
1571
1602
  if (!elements.length) {
@@ -1581,7 +1612,7 @@ var ImageView = View.extend({
1581
1612
  _.each(groupedAnnotations, (elements, annotationId) => { /* eslint-disable backbone/no-silent */
1582
1613
  // silence the event because we want to make one save call for each annotation.
1583
1614
  const elementsCollection = this.annotations.get(annotationId).elements();
1584
- elementsCollection.remove(elements, {silent: true});
1615
+ elementsCollection.remove(elements, {delaySave: true});
1585
1616
  elementsCollection.trigger('reset', elementsCollection);
1586
1617
  });
1587
1618
  },
@@ -1663,10 +1694,33 @@ var ImageView = View.extend({
1663
1694
  return null;
1664
1695
  });
1665
1696
  },
1697
+ _addHotKey(keyset) {
1698
+ if (keyset.key === undefined || keyset.action === undefined || !keyset.key.length) {
1699
+ return;
1700
+ }
1701
+ keyset = Object.assign({}, keyset);
1702
+ let key = keyset.key;
1703
+ const parts = key.replace(/([+-])(?!$)/g, '\n').split('\n');
1704
+ const modifiers = ['ctrl', 'alt', 'meta', 'shift'];
1705
+ for (let i = 0; i < parts.length - 1; i++) {
1706
+ const mod = parts[i].toLowerCase();
1707
+ if (modifiers.includes(mod)) {
1708
+ keyset[mod] = true;
1709
+ }
1710
+ }
1711
+ key = parts[parts.length - 1];
1712
+ keyset.key = key;
1713
+ key = key.toLowerCase();
1714
+ if (!this._hotkeys[key]) {
1715
+ this._hotkeys[key] = [];
1716
+ }
1717
+ this._hotkeys[key].push(keyset);
1718
+ },
1666
1719
  _getConfig(modelId) {
1667
1720
  if (modelId !== this._folderConfigId) {
1668
1721
  this._folderConfigId = modelId;
1669
1722
  this._folderConfig = {};
1723
+ this._hotkeys = {};
1670
1724
  }
1671
1725
  restRequest({
1672
1726
  url: `folder/${this.model.get('folderId')}/yaml_config/.histomicsui_config.yaml`
@@ -1676,7 +1730,18 @@ var ImageView = View.extend({
1676
1730
  return;
1677
1731
  }
1678
1732
  this._folderConfig = val;
1733
+ this._hotkeys = {};
1734
+ if (val.hotkeys) {
1735
+ (val.hotkeys || []).forEach((keyset) => {
1736
+ this._addHotKey(keyset);
1737
+ });
1738
+ }
1679
1739
  if (val.annotationGroups) {
1740
+ (val.annotationGroups.groups || []).forEach((group) => {
1741
+ if (group.hotkey) {
1742
+ this._addHotKey({key: group.hotkey, action: 'group', param: group.id});
1743
+ }
1744
+ });
1680
1745
  const groups = new StyleCollection();
1681
1746
  groups.fetch().done(() => {
1682
1747
  if (!val || this.model.id !== modelId) {
@@ -68,7 +68,7 @@ const AnnotationContextMenu = View.extend({
68
68
  }
69
69
  });
70
70
  let refresh = false;
71
- this.collection.each((element) => { /* eslint-disable backbone/no-silent */
71
+ this.collection.each((element) => {
72
72
  if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id &&
73
73
  element.attributes.group !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {
74
74
  this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);
@@ -78,9 +78,9 @@ const AnnotationContextMenu = View.extend({
78
78
  if (group) {
79
79
  styleAttrs.group = group;
80
80
  } else {
81
- element.unset('group', {silent: true});
81
+ element.unset('group', {delaySave: true});
82
82
  }
83
- element.set(styleAttrs, {silent: true});
83
+ element.set(styleAttrs, {delaySave: true});
84
84
  });
85
85
  this.collection.trigger('h:save');
86
86
  this.trigger('h:close');
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: histomicsui
3
- Version: 1.7.1.dev16
3
+ Version: 1.7.2.dev4
4
4
  Summary: Organize, visualize, and analyze histology images.
5
5
  Home-page: https://github.com/DigitalSlideArchive/histomicsui
6
6
  Author: Kitware, Inc.