histomicsui 1.5.1.dev6__tar.gz → 1.5.1.dev8__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 (180) hide show
  1. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/PKG-INFO +1 -1
  2. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/metadataPlot.js +2 -1
  3. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/MetadataPlot.js +41 -7
  4. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/metadataPlot.pug +14 -3
  5. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/PKG-INFO +1 -1
  6. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/.circleci/config.yml +0 -0
  7. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/.editorconfig +0 -0
  8. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/.git-blame-ignore-revs +0 -0
  9. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/.gitignore +0 -0
  10. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/.pre-commit-config.yaml +0 -0
  11. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/LICENSE +0 -0
  12. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/MANIFEST.in +0 -0
  13. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/NOTICE +0 -0
  14. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/README.rst +0 -0
  15. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/codecov.yml +0 -0
  16. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/config_options.rst +0 -0
  17. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/controls.rst +0 -0
  18. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/images/difference.gif +0 -0
  19. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/images/intersect.gif +0 -0
  20. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/images/union.gif +0 -0
  21. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/docs/images/xor.gif +0 -0
  22. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/__init__.py +0 -0
  23. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/constants.py +0 -0
  24. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/handlers.py +0 -0
  25. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/__init__.py +0 -0
  26. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/aperio.py +0 -0
  27. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/case.py +0 -0
  28. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/cohort.py +0 -0
  29. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/image.py +0 -0
  30. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/meta.py +0 -0
  31. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/pathology.py +0 -0
  32. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/models/slide.py +0 -0
  33. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/__init__.py +0 -0
  34. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/aperio.py +0 -0
  35. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/hui_resource.py +0 -0
  36. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/image_browse_resource.py +0 -0
  37. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/system.py +0 -0
  38. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/rest/tcga.py +0 -0
  39. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/app.js +0 -0
  40. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/collections/StyleCollection.js +0 -0
  41. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/collections/UserCollection.js +0 -0
  42. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/collections/index.js +0 -0
  43. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/confirmDialog.js +0 -0
  44. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/editElement.js +0 -0
  45. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/editRegionOfInterest.js +0 -0
  46. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/editStyleGroups.js +0 -0
  47. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/index.js +0 -0
  48. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/openAnnotatedImage.js +0 -0
  49. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/openImage.js +0 -0
  50. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/dialogs/saveAnnotation.js +0 -0
  51. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/events.js +0 -0
  52. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/index.js +0 -0
  53. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/main.js +0 -0
  54. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/models/StyleModel.js +0 -0
  55. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/models/index.js +0 -0
  56. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/package.json +0 -0
  57. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/AnnotationSelector.js +0 -0
  58. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/DrawWidget.js +0 -0
  59. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/FrameSelectorWidget.js +0 -0
  60. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/MetadataWidget.js +0 -0
  61. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/OverviewWidget.js +0 -0
  62. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/RegionSelector.js +0 -0
  63. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/ZoomWidget.js +0 -0
  64. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/panels/index.js +0 -0
  65. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/router.js +0 -0
  66. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/routes.js +0 -0
  67. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/static/favicon.png +0 -0
  68. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/body/configView.styl +0 -0
  69. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/body/image.styl +0 -0
  70. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/dialogs/editStyleGroups.styl +0 -0
  71. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/dialogs/openAnnotatedImage.styl +0 -0
  72. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/dialogs/saveAnnotation.styl +0 -0
  73. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/layout/header.styl +0 -0
  74. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/layout/headerAnalyses.styl +0 -0
  75. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/layout/headerImage.styl +0 -0
  76. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/layout/layout.styl +0 -0
  77. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/annotationSelector.styl +0 -0
  78. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/drawWidget.styl +0 -0
  79. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/frameSelectorWidget.styl +0 -0
  80. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/metadataPlot.styl +0 -0
  81. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/metadataWidget.styl +0 -0
  82. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/overviewWidget.styl +0 -0
  83. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/regionSelector.styl +0 -0
  84. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/panels/zoomWidget.styl +0 -0
  85. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/popover/annotationContextMenu.styl +0 -0
  86. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/popover/annotationPopover.styl +0 -0
  87. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/views/itemList.styl +0 -0
  88. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/stylesheets/views/searchResultsView.styl +0 -0
  89. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/body/configView.pug +0 -0
  90. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/body/image.pug +0 -0
  91. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/annotatedImageList.pug +0 -0
  92. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/confirmDialog.pug +0 -0
  93. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/editElement.pug +0 -0
  94. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/editRegionOfInterest.pug +0 -0
  95. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/editStyleGroups.pug +0 -0
  96. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/openAnnotatedImage.pug +0 -0
  97. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/openImage.pug +0 -0
  98. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/dialogs/saveAnnotation.pug +0 -0
  99. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/layout/header.pug +0 -0
  100. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/layout/headerAnalyses.pug +0 -0
  101. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/layout/headerImage.pug +0 -0
  102. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/layout/headerUser.pug +0 -0
  103. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/layout/layout.pug +0 -0
  104. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/annotationSelector.pug +0 -0
  105. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/drawWidget.pug +0 -0
  106. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/drawWidgetElement.pug +0 -0
  107. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/frameSelectorWidget.pug +0 -0
  108. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/metadataPlot.pug +0 -0
  109. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/metadataWidgetPanel.pug +0 -0
  110. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/overviewWidget.pug +0 -0
  111. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/panel.pug +0 -0
  112. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/regionSelector.pug +0 -0
  113. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/panels/zoomWidget.pug +0 -0
  114. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/popover/annotationContextMenu.pug +0 -0
  115. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/popover/annotationPopover.pug +0 -0
  116. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/popover/annotationPopoverMetadata.pug +0 -0
  117. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/templates/popover/pixelmapContextMenu.pug +0 -0
  118. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/HierarchyWidget.js +0 -0
  119. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/JobDetailsWidget.js +0 -0
  120. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/View.js +0 -0
  121. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/body/ConfigView.js +0 -0
  122. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/body/ImageView.js +0 -0
  123. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/body/index.js +0 -0
  124. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/index.js +0 -0
  125. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/itemList.js +0 -0
  126. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/itemPage.js +0 -0
  127. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/layout/HeaderAnalysesView.js +0 -0
  128. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/layout/HeaderImageView.js +0 -0
  129. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/layout/HeaderUserView.js +0 -0
  130. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/layout/HeaderView.js +0 -0
  131. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/layout/index.js +0 -0
  132. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/popover/AnnotationContextMenu.js +0 -0
  133. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/popover/AnnotationPopover.js +0 -0
  134. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/popover/PixelmapContextMenu.js +0 -0
  135. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/popover/index.js +0 -0
  136. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/searchResultsView.js +0 -0
  137. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/views/utils.js +0 -0
  138. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/vue/components/ColorPickerInput.vue +0 -0
  139. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/vue/components/EditHeatmapOrGridData.vue +0 -0
  140. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/vue/components/EditHeatmapOrGridDataContainer.vue +0 -0
  141. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/web_client/webpack.helper.js +0 -0
  142. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui/webroot.mako +0 -0
  143. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/SOURCES.txt +0 -0
  144. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/dependency_links.txt +0 -0
  145. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/entry_points.txt +0 -0
  146. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/not-zip-safe +0 -0
  147. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/requires.txt +0 -0
  148. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/histomicsui.egg-info/top_level.txt +0 -0
  149. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/requirements-dev.txt +0 -0
  150. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/ruff.toml +0 -0
  151. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/setup.cfg +0 -0
  152. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/setup.py +0 -0
  153. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/__init__.py +0 -0
  154. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/datastore.py +0 -0
  155. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/girder_utilities.py +0 -0
  156. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/.histomicsui_config.yaml +0 -0
  157. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/sample.anot +0 -0
  158. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/sample.meta +0 -0
  159. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/sample_girder_id.anot +0 -0
  160. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/test_analysis_detection.xml +0 -0
  161. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_files/test_analysis_features.xml +0 -0
  162. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_handlers.py +0 -0
  163. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_hui_rest.py +0 -0
  164. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_image_browse_endpoints.py +0 -0
  165. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_load.py +0 -0
  166. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_tcga.py +0 -0
  167. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/test_web_client.py +0 -0
  168. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/.eslintrc +0 -0
  169. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/analysisSpec.js +0 -0
  170. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/annotationSpec.js +0 -0
  171. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/girderUISpec.js +0 -0
  172. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/huiSpec.js +0 -0
  173. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/huiTest.js +0 -0
  174. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/itemSpec.js +0 -0
  175. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/metadataPanelSpec.js +0 -0
  176. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/metadataPlotSpec.js +0 -0
  177. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/overviewPanelSpec.js +0 -0
  178. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/panelLayoutSpec.js +0 -0
  179. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tests/web_client_specs/pixelmapCategorySpec.js +0 -0
  180. {histomicsui-1.5.1.dev6 → histomicsui-1.5.1.dev8}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: histomicsui
3
- Version: 1.5.1.dev6
3
+ Version: 1.5.1.dev8
4
4
  Summary: Organize, visualize, and analyze histology images.
5
5
  Home-page: https://github.com/DigitalSlideArchive/histomicsui
6
6
  Author: Kitware, Inc.
@@ -26,7 +26,8 @@ const MetadataPlotDialog = View.extend({
26
26
  _submit(evt) {
27
27
  evt.preventDefault();
28
28
  const configOptions = {
29
- folder: this.$('#h-plot-folder').is(':checked')
29
+ folder: this.$('#h-plot-folder').is(':checked'),
30
+ format: this.$('#h-plot-format').val()
30
31
  };
31
32
  ['x', 'y', 'r', 'c', 's'].forEach((series) => {
32
33
  const val = this.$('#h-plot-series-' + series).val();
@@ -125,14 +125,24 @@ var MetadataPlot = Panel.extend({
125
125
  for (const [root, entry] of Object.entries(meta)) {
126
126
  if (_.isArray(entry) && entry.length >= 1 && _.isObject(entry[0])) {
127
127
  for (const [key, value] of Object.entries(entry[0])) {
128
- let type;
128
+ let type, distinct;
129
129
  if (_.isFinite(value)) {
130
130
  type = 'number';
131
131
  } else if (_.isString(value)) {
132
132
  type = 'string';
133
133
  }
134
+ if (Number.isInteger(value) || _.isString(value)) {
135
+ distinct = {};
136
+ const maxDistinct = 20;
137
+ for (let eidx = 0; eidx < entry.length && Object.keys(distinct).length <= maxDistinct; eidx += 1) {
138
+ distinct[entry[eidx][key]] = true;
139
+ }
140
+ if (Object.keys(distinct).length > maxDistinct) {
141
+ distinct = null;
142
+ }
143
+ }
134
144
  if (type) {
135
- results.push({root, key, type, sort: `${root}.${key}`.toLowerCase()});
145
+ results.push({root, key, type, distinct, sort: `${root}.${key}`.toLowerCase()});
136
146
  }
137
147
  }
138
148
  }
@@ -152,7 +162,7 @@ var MetadataPlot = Panel.extend({
152
162
  const plotOptions = this.getPlotOptions();
153
163
  const optDict = {};
154
164
  plotOptions.forEach((opt) => { optDict[opt.sort] = opt; });
155
- const plotData = {data: [], fieldToPlot: {}, plotToOpt: {}, ranges: {}};
165
+ const plotData = {data: [], fieldToPlot: {}, plotToOpt: {}, ranges: {}, format: plotConfig.format};
156
166
  const usedFields = ['x', 'y', 'r', 'c', 's'].filter((series) => plotConfig[series] && optDict[plotConfig[series]]).map((series) => {
157
167
  if (!plotData.fieldToPlot[plotConfig[series]]) {
158
168
  plotData.fieldToPlot[plotConfig[series]] = [];
@@ -190,8 +200,10 @@ var MetadataPlot = Panel.extend({
190
200
  if (value === undefined || (opt.type === 'number' && !_.isFinite(value))) {
191
201
  end = true;
192
202
  }
193
- if (opt.type === 'string') {
203
+ if (opt.type === 'string' || (['s', 'c'].includes(key) && opt.distinct)) {
194
204
  value = '' + value;
205
+ } else {
206
+ value = +value;
195
207
  }
196
208
  entry[key] = value;
197
209
  });
@@ -207,13 +219,13 @@ var MetadataPlot = Panel.extend({
207
219
  return;
208
220
  }
209
221
  if (!plotData.ranges[key]) {
210
- if (_.isFinite(value)) {
222
+ if (!_.isString(value)) {
211
223
  plotData.ranges[key] = {min: value, max: value};
212
224
  } else {
213
225
  plotData.ranges[key] = {distinct: {}};
214
226
  }
215
227
  }
216
- if (_.isFinite(value)) {
228
+ if (plotData.ranges[key].min !== undefined) {
217
229
  if (value < plotData.ranges[key].min) {
218
230
  plotData.ranges[key].min = value;
219
231
  }
@@ -222,11 +234,17 @@ var MetadataPlot = Panel.extend({
222
234
  }
223
235
  } else {
224
236
  plotData.ranges[key].distinct[value] = true;
237
+ }
238
+ });
239
+ });
240
+ if (plotData.data.length) {
241
+ Object.entries(plotData.data[0]).forEach(([key, value]) => {
242
+ if (plotData.ranges[key] && plotData.ranges[key].distinct) {
225
243
  plotData.ranges[key].list = Object.keys(plotData.ranges[key].distinct).sort();
226
244
  plotData.ranges[key].count = plotData.ranges[key].list.length;
227
245
  }
228
246
  });
229
- });
247
+ }
230
248
  return plotData;
231
249
  },
232
250
 
@@ -279,6 +297,22 @@ var MetadataPlot = Panel.extend({
279
297
  type: plotData.data.length > 100 ? 'scattergl' : 'scatter',
280
298
  mode: 'markers'
281
299
  };
300
+ if (plotData.format === 'violin') {
301
+ plotlyData.type = 'violin';
302
+ plotlyData.x = plotlyData.marker.symbol;
303
+ // plotlyData.points = none;
304
+ plotlyData.box = {visible: true};
305
+ plotlyData.meanline = {visible: true};
306
+ plotlyData.line = {color: plotlyData.marker.color};
307
+ plotlyData.yaxis = {zeroline: false};
308
+ if (plotData.ranges.c && plotData.ranges.c.distinct) {
309
+ plotlyData.transforms = [{
310
+ type: 'groupby',
311
+ groups: plotlyData.x,
312
+ styles: Object.keys(plotData.ranges.c.distinct).map((k, kidx) => ({target: kidx, value: {line: {color: colorBrewerPaired12[kidx]}}}))
313
+ }];
314
+ }
315
+ }
282
316
  return [plotlyData];
283
317
  },
284
318
 
@@ -6,21 +6,32 @@
6
6
  span(aria-hidden='true') &times;
7
7
  h4.modal-title Metadata Plot
8
8
  .modal-body
9
+ .form-group
10
+ label(for='h-plot-format') Format
11
+ -
12
+ var plotFormats = [
13
+ {key: 'scatter', label: 'Scatter'},
14
+ {key: 'violin', label: 'Violin'}]
15
+ select#h-plot-format.form-control
16
+ each opt in plotFormats
17
+ option(value=opt.key, selected=plotConfig.format === opt.key) #{opt.label}
9
18
  -
10
19
  var seriesList = [
11
- {key: 'x', label: 'x-axis', number: true},
20
+ {key: 'x', label: 'x-axis', number: true, comment: 'Used only for data length in violin plots'},
12
21
  {key: 'y', label: 'y-axis', number: true},
13
22
  {key: 'r', label: 'Radius'},
14
23
  {key: 'c', label: 'Color'},
15
- {key: 's', label: 'Symbol', string: true}]
24
+ {key: 's', label: 'Symbol', string: true, comment: 'Grouping for violin plots'}]
16
25
  for series in seriesList
17
26
  .form-group
18
27
  label(for='h-plot-series-' + series.key) #{series.label}
28
+ if series.comment
29
+ p.g-hui-description #{series.comment}
19
30
  select.form-control(id='h-plot-series-' + series.key)
20
31
  if !series.number
21
32
  option(value='_none_', selected=plotConfig[series.key] === undefined) None
22
33
  each opt in plotOptions
23
- if (!series.number || opt.type === 'number') && (!series.string || opt.type === 'string')
34
+ if (!series.number || opt.type === 'number') && (!series.string || opt.type === 'string' || opt.distinct)
24
35
  - var selected = plotConfig[series.key] === opt.sort
25
36
  option(value=opt.sort, selected=selected) #{opt.root + ' - ' + opt.key}
26
37
  .form-group
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: histomicsui
3
- Version: 1.5.1.dev6
3
+ Version: 1.5.1.dev8
4
4
  Summary: Organize, visualize, and analyze histology images.
5
5
  Home-page: https://github.com/DigitalSlideArchive/histomicsui
6
6
  Author: Kitware, Inc.