dcscope 2.26.0__tar.gz → 2.26.1__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 (444) hide show
  1. {dcscope-2.26.0 → dcscope-2.26.1}/CHANGELOG +16 -1
  2. {dcscope-2.26.0/dcscope.egg-info → dcscope-2.26.1}/PKG-INFO +2 -2
  3. dcscope-2.26.1/dcscope/_version.py +24 -0
  4. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_filter.py +1 -1
  5. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_plot.py +55 -61
  6. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_plot.ui +144 -144
  7. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/main.py +55 -30
  8. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_element.py +7 -2
  9. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/pipeline_plot.py +73 -77
  10. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/preferences.py +49 -13
  11. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/preferences.ui +137 -8
  12. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/quick_view/qv_main.py +15 -7
  13. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/quick_view/qv_scatter.py +48 -15
  14. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/idiom.py +1 -7
  15. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/core.py +2 -2
  16. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/dataslot.py +2 -2
  17. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/plot.py +16 -6
  18. {dcscope-2.26.0 → dcscope-2.26.1/dcscope.egg-info}/PKG-INFO +2 -2
  19. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope.egg-info/SOURCES.txt +0 -1
  20. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope.egg-info/requires.txt +1 -1
  21. {dcscope-2.26.0 → dcscope-2.26.1}/pyproject.toml +1 -1
  22. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_pipeline_plot.py +0 -71
  23. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_plotting.py +4 -4
  24. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_session.py +26 -3
  25. dcscope-2.26.0/dcscope/_version.py +0 -34
  26. dcscope-2.26.0/dcscope/plotting.py +0 -45
  27. {dcscope-2.26.0 → dcscope-2.26.1}/.github/workflows/check.yml +0 -0
  28. {dcscope-2.26.0 → dcscope-2.26.1}/.github/workflows/deploy_github.yml +0 -0
  29. {dcscope-2.26.0 → dcscope-2.26.1}/.github/workflows/deploy_pypi.yml +0 -0
  30. {dcscope-2.26.0 → dcscope-2.26.1}/.gitignore +0 -0
  31. {dcscope-2.26.0 → dcscope-2.26.1}/.readthedocs.yml +0 -0
  32. {dcscope-2.26.0 → dcscope-2.26.1}/LICENSE +0 -0
  33. {dcscope-2.26.0 → dcscope-2.26.1}/MANIFEST.in +0 -0
  34. {dcscope-2.26.0 → dcscope-2.26.1}/README.rst +0 -0
  35. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/DCscope.icns +0 -0
  36. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/DCscope.ico +0 -0
  37. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/DCscopeLauncher.py +0 -0
  38. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/Readme.md +0 -0
  39. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/hook-dcscope.py +0 -0
  40. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/macos_DCscope.spec +0 -0
  41. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/macos_build_app.sh +0 -0
  42. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/macos_build_requirements.txt +0 -0
  43. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/win_DCscope.spec +0 -0
  44. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/win_build_requirements.txt +0 -0
  45. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/win_dcscope.iss_dummy +0 -0
  46. {dcscope-2.26.0 → dcscope-2.26.1}/build-recipes/win_make_iss.py +0 -0
  47. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/__init__.py +0 -0
  48. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/__main__.py +0 -0
  49. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/extensions.py +0 -0
  50. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/__init__.py +0 -0
  51. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/__init__.py +0 -0
  52. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_basins.py +0 -0
  53. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_basins.ui +0 -0
  54. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_filter.ui +0 -0
  55. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_log.py +0 -0
  56. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_log.ui +0 -0
  57. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_meta.py +0 -0
  58. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_meta.ui +0 -0
  59. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_slot.py +0 -0
  60. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_slot.ui +0 -0
  61. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_tables.py +0 -0
  62. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_tables.ui +0 -0
  63. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_view.py +0 -0
  64. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/ana_view.ui +0 -0
  65. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/dlg_slot_reorder.py +0 -0
  66. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/analysis/dlg_slot_reorder.ui +0 -0
  67. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/bulk/__init__.py +0 -0
  68. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/bulk/bulk_emodulus.py +0 -0
  69. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/bulk/bulk_emodulus.ui +0 -0
  70. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/__init__.py +0 -0
  71. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4.py +0 -0
  72. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4.ui +0 -0
  73. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4_dataset.py +0 -0
  74. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4_dataset.ui +0 -0
  75. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4_results.py +0 -0
  76. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_lme4_results.ui +0 -0
  77. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_stats.py +0 -0
  78. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/compute/comp_stats.ui +0 -0
  79. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/dcor/__init__.py +0 -0
  80. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/dcor/dcor.ui +0 -0
  81. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/__init__.py +0 -0
  82. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2data.py +0 -0
  83. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2data.ui +0 -0
  84. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2filter.py +0 -0
  85. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2filter.ui +0 -0
  86. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2plot.py +0 -0
  87. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/export/e2plot.ui +0 -0
  88. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/helpers.py +0 -0
  89. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/main.ui +0 -0
  90. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/Readme.md +0 -0
  91. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/__init__.py +0 -0
  92. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/block_matrix.py +0 -0
  93. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/block_matrix.ui +0 -0
  94. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/data_matrix.py +0 -0
  95. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_dataset.py +0 -0
  96. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_dataset.ui +0 -0
  97. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_element.ui +0 -0
  98. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_filter.py +0 -0
  99. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/dm_filter.ui +0 -0
  100. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/plot_matrix.py +0 -0
  101. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/pm_element.py +0 -0
  102. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/pm_plot.py +0 -0
  103. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/matrix/pm_plot.ui +0 -0
  104. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/pipeline_plot.ui +0 -0
  105. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/quick_view/__init__.py +0 -0
  106. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/quick_view/qv_main.ui +0 -0
  107. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/quick_view/qv_style.css +0 -0
  108. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/settings.py +0 -0
  109. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/update.py +0 -0
  110. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/__init__.py +0 -0
  111. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/bg_thread.py +0 -0
  112. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/bulk_list.py +0 -0
  113. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/bulk_list.ui +0 -0
  114. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/double_spin_box_nan.py +0 -0
  115. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/feature_combobox.py +0 -0
  116. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/get_path.py +0 -0
  117. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/key_value_table_widget.css +0 -0
  118. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/key_value_table_widget.py +0 -0
  119. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/mdi_subwindow_wo_close.py +0 -0
  120. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/qrangeslider.py +0 -0
  121. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/rangecontrol.py +0 -0
  122. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/rangecontrol.ui +0 -0
  123. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/simple_image_view.py +0 -0
  124. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/simple_plot_widget.py +0 -0
  125. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/so_colorbaritem.py +0 -0
  126. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/gui/widgets/wait_cursor.py +0 -0
  127. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/__init__.py +0 -0
  128. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/COPYING-ICONS +0 -0
  129. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/COPYING.LIB +0 -0
  130. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/README +0 -0
  131. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/application-exit.svg +0 -0
  132. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/code-context.svg +0 -0
  133. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/dialog-cancel.svg +0 -0
  134. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/dialog-close.svg +0 -0
  135. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/dialog-messages.svg +0 -0
  136. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/dialog-ok-apply.svg +0 -0
  137. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/dialog-ok.svg +0 -0
  138. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/document-open-folder.svg +0 -0
  139. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/document-open.svg +0 -0
  140. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/document-save.svg +0 -0
  141. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/documentinfo.svg +0 -0
  142. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/draw-watercolor.svg +0 -0
  143. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/edit-clear-all.svg +0 -0
  144. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/edit-clear.svg +0 -0
  145. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/edit-paste.svg +0 -0
  146. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/globe.svg +0 -0
  147. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/gtk-preferences.svg +0 -0
  148. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/list-add.svg +0 -0
  149. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/messagebox_warning.svg +0 -0
  150. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/object-columns.svg +0 -0
  151. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/object-order-lower.svg +0 -0
  152. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/object-rows.svg +0 -0
  153. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/office-chart-line-stacked.svg +0 -0
  154. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/office-chart-ring.svg +0 -0
  155. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/office-chart-scatter.svg +0 -0
  156. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/path-mode-polyline.svg +0 -0
  157. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/preferences-activities.svg +0 -0
  158. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/remove.svg +0 -0
  159. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/search.svg +0 -0
  160. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/show-grid.svg +0 -0
  161. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/special_paste.svg +0 -0
  162. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/tools-wizard.svg +0 -0
  163. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/view-calendar-list.svg +0 -0
  164. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/view-filter.svg +0 -0
  165. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/view-list-tree.svg +0 -0
  166. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/view-statistics.svg +0 -0
  167. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/16/visibility.svg +0 -0
  168. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/application-exit.svg +0 -0
  169. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/code-context.svg +0 -0
  170. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/dialog-cancel.svg +0 -0
  171. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/dialog-close.svg +0 -0
  172. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/dialog-messages.svg +0 -0
  173. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/dialog-ok-apply.svg +0 -0
  174. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/dialog-ok.svg +0 -0
  175. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/document-open-folder.svg +0 -0
  176. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/document-open.svg +0 -0
  177. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/document-save.svg +0 -0
  178. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/documentinfo.svg +0 -0
  179. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/draw-watercolor.svg +0 -0
  180. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/edit-clear-all.svg +0 -0
  181. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/edit-clear.svg +0 -0
  182. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/edit-paste.svg +0 -0
  183. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/globe.svg +0 -0
  184. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/gtk-preferences.svg +0 -0
  185. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/list-add.svg +0 -0
  186. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/messagebox_warning.svg +0 -0
  187. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/object-columns.svg +0 -0
  188. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/object-order-lower.svg +0 -0
  189. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/object-rows.svg +0 -0
  190. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/office-chart-line-stacked.svg +0 -0
  191. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/office-chart-ring.svg +0 -0
  192. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/office-chart-scatter.svg +0 -0
  193. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/path-mode-polyline.svg +0 -0
  194. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/preferences-activities.svg +0 -0
  195. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/remove.svg +0 -0
  196. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/special_paste.svg +0 -0
  197. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/tools-wizard.svg +0 -0
  198. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/view-calendar-list.svg +0 -0
  199. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/view-filter.svg +0 -0
  200. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/view-list-tree.svg +0 -0
  201. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/view-statistics.svg +0 -0
  202. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/22/visibility.svg +0 -0
  203. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/application-exit.svg +0 -0
  204. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/code-context.svg +0 -0
  205. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/dialog-cancel.svg +0 -0
  206. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/dialog-close.svg +0 -0
  207. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/dialog-messages.svg +0 -0
  208. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/dialog-ok-apply.svg +0 -0
  209. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/dialog-ok.svg +0 -0
  210. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/document-open-folder.svg +0 -0
  211. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/document-open.svg +0 -0
  212. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/document-save.svg +0 -0
  213. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/documentinfo.svg +0 -0
  214. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/draw-watercolor.svg +0 -0
  215. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/edit-clear-all.svg +0 -0
  216. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/edit-clear.svg +0 -0
  217. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/edit-paste.svg +0 -0
  218. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/globe.svg +0 -0
  219. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/gtk-preferences.svg +0 -0
  220. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/list-add.svg +0 -0
  221. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/messagebox_warning.svg +0 -0
  222. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/object-columns.svg +0 -0
  223. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/object-order-lower.svg +0 -0
  224. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/object-rows.svg +0 -0
  225. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/office-chart-line-stacked.svg +0 -0
  226. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/office-chart-ring.svg +0 -0
  227. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/office-chart-scatter.svg +0 -0
  228. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/path-mode-polyline.svg +0 -0
  229. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/preferences-activities.svg +0 -0
  230. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/remove.svg +0 -0
  231. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/special_paste.svg +0 -0
  232. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/tools-wizard.svg +0 -0
  233. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/view-calendar-list.svg +0 -0
  234. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/view-filter.svg +0 -0
  235. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/view-list-tree.svg +0 -0
  236. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/view-statistics.svg +0 -0
  237. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/24/visibility.svg +0 -0
  238. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/application-exit.svg +0 -0
  239. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/dialog-cancel.svg +0 -0
  240. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/dialog-messages.svg +0 -0
  241. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/dialog-ok-apply.svg +0 -0
  242. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/dialog-ok.svg +0 -0
  243. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/document-open-folder.svg +0 -0
  244. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/document-open.svg +0 -0
  245. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/document-save.svg +0 -0
  246. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/gtk-preferences.svg +0 -0
  247. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/object-order-lower.svg +0 -0
  248. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/view-filter.svg +0 -0
  249. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/actions/32/view-list-tree.svg +0 -0
  250. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/16/folder-cloud.svg +0 -0
  251. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/16/folder.svg +0 -0
  252. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/22/folder-cloud.svg +0 -0
  253. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/22/folder.svg +0 -0
  254. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/24/folder-cloud.svg +0 -0
  255. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/24/folder.svg +0 -0
  256. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/32/folder-cloud.svg +0 -0
  257. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/32/folder.svg +0 -0
  258. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/64/folder-cloud.svg +0 -0
  259. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/places/64/folder.svg +0 -0
  260. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/16/dialog-error.svg +0 -0
  261. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/16/dialog-information.svg +0 -0
  262. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/16/dialog-question.svg +0 -0
  263. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/16/dialog-warning.svg +0 -0
  264. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/22/dialog-error.svg +0 -0
  265. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/22/dialog-information.svg +0 -0
  266. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/22/dialog-question.svg +0 -0
  267. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/22/dialog-warning.svg +0 -0
  268. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/24/dialog-error.svg +0 -0
  269. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/24/dialog-information.svg +0 -0
  270. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/24/dialog-question.svg +0 -0
  271. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/24/dialog-warning.svg +0 -0
  272. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/64/dialog-error.svg +0 -0
  273. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/64/dialog-information.svg +0 -0
  274. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/64/dialog-question.svg +0 -0
  275. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/breeze/status/64/dialog-warning.svg +0 -0
  276. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/collect_icons.py +0 -0
  277. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/dcor.png +0 -0
  278. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/edit-copy-anew.svg +0 -0
  279. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/emodulus.svg +0 -0
  280. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/filter_ray.svg +0 -0
  281. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/region_channel.svg +0 -0
  282. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/region_reservoir.svg +0 -0
  283. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/rlang.svg +0 -0
  284. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/dcscope/statistical_significance.svg +0 -0
  285. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon-theme/index.theme +0 -0
  286. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/icon.png +0 -0
  287. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/img/splash.png +0 -0
  288. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/meta_tool.py +0 -0
  289. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/__init__.py +0 -0
  290. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/filter.py +0 -0
  291. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/pipeline/filter_ray.py +0 -0
  292. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/session.py +0 -0
  293. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope/util.py +0 -0
  294. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope.egg-info/dependency_links.txt +0 -0
  295. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope.egg-info/entry_points.txt +0 -0
  296. {dcscope-2.26.0 → dcscope-2.26.1}/dcscope.egg-info/top_level.txt +0 -0
  297. {dcscope-2.26.0 → dcscope-2.26.1}/docs/README.md +0 -0
  298. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/Readme.md +0 -0
  299. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/dcscope_icon.svg +0 -0
  300. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/dcscope_large_white.png +0 -0
  301. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/dcscope_large_white.svg +0 -0
  302. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/dcscope_splash.svg +0 -0
  303. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/favicon.ico +0 -0
  304. {dcscope-2.26.0 → dcscope-2.26.1}/docs/artwork/favicon.svg +0 -0
  305. {dcscope-2.26.0 → dcscope-2.26.1}/docs/conf.py +0 -0
  306. {dcscope-2.26.0 → dcscope-2.26.1}/docs/data/extension_fl1_density.py +0 -0
  307. {dcscope-2.26.0 → dcscope-2.26.1}/docs/dcscope.bib +0 -0
  308. {dcscope-2.26.0 → dcscope-2.26.1}/docs/extensions/fancy_include.py +0 -0
  309. {dcscope-2.26.0 → dcscope-2.26.1}/docs/extensions/github_changelog.py +0 -0
  310. {dcscope-2.26.0 → dcscope-2.26.1}/docs/extensions/rtd_pdf.py +0 -0
  311. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/ATTRIBUTION +0 -0
  312. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/area.png +0 -0
  313. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/aspect.jpg +0 -0
  314. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/brightness.jpg +0 -0
  315. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/deform.jpg +0 -0
  316. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/deform.py +0 -0
  317. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/fluorescence.jpg +0 -0
  318. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/fluorescence.py +0 -0
  319. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/inert_ratio.jpg +0 -0
  320. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/inert_ratio.py +0 -0
  321. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_countrate.jpg +0 -0
  322. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_countrate.py +0 -0
  323. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_area.jpg +0 -0
  324. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_area.py +0 -0
  325. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_porosity.jpg +0 -0
  326. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_porosity.py +0 -0
  327. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_ratios.jpg +0 -0
  328. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_filter_ratios.py +0 -0
  329. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_time.jpg +0 -0
  330. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_time.py +0 -0
  331. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_youngs_modulus.py +0 -0
  332. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_youngs_modulus_15um.png +0 -0
  333. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_youngs_modulus_20um.png +0 -0
  334. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_youngs_modulus_30um.png +0 -0
  335. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/qg_youngs_modulus_40um.png +0 -0
  336. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/rtdc-setup.jpg +0 -0
  337. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/volume.jpg +0 -0
  338. {dcscope-2.26.0 → dcscope-2.26.1}/docs/figures/volume.py +0 -0
  339. {dcscope-2.26.0 → dcscope-2.26.1}/docs/index.rst +0 -0
  340. {dcscope-2.26.0 → dcscope-2.26.1}/docs/requirements.txt +0 -0
  341. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/.gitignore +0 -0
  342. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/CD66+_CD14-.poly +0 -0
  343. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/Readme.md +0 -0
  344. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots.sh +0 -0
  345. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_dcor.py +0 -0
  346. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_emodulus.py +0 -0
  347. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_export.py +0 -0
  348. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_extensions.py +0 -0
  349. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_lme4.py +0 -0
  350. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_lme4_diff.py +0 -0
  351. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_qg_statistics.py +0 -0
  352. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/make_scrots_ui.py +0 -0
  353. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_dcor_dlg.png +0 -0
  354. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_emodulus_badtemp.png +0 -0
  355. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_emodulus_config.png +0 -0
  356. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_emodulus_feature.png +0 -0
  357. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_emodulus_other.png +0 -0
  358. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_export_data.png +0 -0
  359. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_extensions.png +0 -0
  360. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_lme4_diff_init.png +0 -0
  361. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_lme4_diff_results.png +0 -0
  362. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_lme4_init.png +0 -0
  363. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_lme4_results.png +0 -0
  364. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_statistics_folder.png +0 -0
  365. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/qg_statistics_init.png +0 -0
  366. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/scrots.so2 +0 -0
  367. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_basins.png +0 -0
  368. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_filter.png +0 -0
  369. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_logs.png +0 -0
  370. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_meta.png +0 -0
  371. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_plot.png +0 -0
  372. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_slot.png +0 -0
  373. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_ana_tables.png +0 -0
  374. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_block_matrix.png +0 -0
  375. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_main.png +0 -0
  376. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_qv_event.png +0 -0
  377. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_qv_poly.png +0 -0
  378. {dcscope-2.26.0 → dcscope-2.26.1}/docs/scrots/ui_qv_settings.png +0 -0
  379. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_changelog.rst +0 -0
  380. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_devs.rst +0 -0
  381. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_getting_started.rst +0 -0
  382. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_imprint.rst +0 -0
  383. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_interface.rst +0 -0
  384. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_batch_stats.rst +0 -0
  385. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_consistency_check.rst +0 -0
  386. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_dcor.rst +0 -0
  387. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_export_data.rst +0 -0
  388. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_extensions.rst +0 -0
  389. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_filtering.rst +0 -0
  390. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_lme4.rst +0 -0
  391. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_qg_youngs_modulus.rst +0 -0
  392. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_quick_guides.rst +0 -0
  393. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_rtdc_basics.rst +0 -0
  394. {dcscope-2.26.0 → dcscope-2.26.1}/docs/sec_z_bib.rst +0 -0
  395. {dcscope-2.26.0 → dcscope-2.26.1}/setup.cfg +0 -0
  396. {dcscope-2.26.0 → dcscope-2.26.1}/tests/README.md +0 -0
  397. {dcscope-2.26.0 → dcscope-2.26.1}/tests/conftest.py +0 -0
  398. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/artificial_with_image_bg.rtdc +0 -0
  399. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/blood_rbc_leukocytes.rtdc +0 -0
  400. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/blood_rbc_qpi_data.rtdc +0 -0
  401. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/calibration_beads_47.rtdc +0 -0
  402. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/cytoshot_blood.rtdc +0 -0
  403. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/empty_recording.rtdc +0 -0
  404. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/ext_feat_anc_plugin_ca.py +0 -0
  405. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/extreme_shear.rtdc +0 -0
  406. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/naiad-capture_blood_pipeline.rtdc +0 -0
  407. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/version_2_1_0_basic.so2 +0 -0
  408. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/version_2_1_2_plot_color_emodulus.so2 +0 -0
  409. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/version_2_1_6_no_events.so2 +0 -0
  410. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/version_2_5_0_dcor_lme4.so2 +0 -0
  411. {dcscope-2.26.0 → dcscope-2.26.1}/tests/data/version_2_5_0_dcor_lme4_diff.so2 +0 -0
  412. {dcscope-2.26.0 → dcscope-2.26.1}/tests/requirements.txt +0 -0
  413. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_extensions.py +0 -0
  414. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_ana_meta.py +0 -0
  415. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_basic.py +0 -0
  416. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_bulk_emodulus.py +0 -0
  417. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_compute_lme4.py +0 -0
  418. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_compute_stats.py +0 -0
  419. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_emodulus.py +0 -0
  420. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_export_data.py +0 -0
  421. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_export_filter.py +0 -0
  422. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_export_plot.py +0 -0
  423. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_filter.py +0 -0
  424. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_matrix.py +0 -0
  425. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_quickview.py +0 -0
  426. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_reorder_datasets.py +0 -0
  427. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_gui_update.py +0 -0
  428. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_pipeline_core.py +0 -0
  429. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_pipeline_filter_ray.py +0 -0
  430. {dcscope-2.26.0 → dcscope-2.26.1}/tests/test_util.py +0 -0
  431. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/.gitignore +0 -0
  432. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/Readme.rst +0 -0
  433. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export.py +0 -0
  434. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export.so2 +0 -0
  435. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_log-large-points-export-png_expected.png +0 -0
  436. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_log-large-points-export-svg_expected.svg +0 -0
  437. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-export-png_expected.png +0 -0
  438. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-export-svg_expected.svg +0 -0
  439. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-subplot1-export-png_expected.png +0 -0
  440. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-subplot1-export-svg_expected.svg +0 -0
  441. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-subplot2-export-png_expected.png +0 -0
  442. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-and-contour-subplot2-export-svg_expected.svg +0 -0
  443. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/plot-export_scatter-long-title-export-png_expected.png +0 -0
  444. {dcscope-2.26.0 → dcscope-2.26.1}/tests-manual/run-tests.sh +0 -0
@@ -1,3 +1,18 @@
1
+ 2.26.1
2
+ - fix: possibly fix `KeyError` on hover in QuickView by doing a
3
+ `GraphicsScene.hoverItems.clear()` whenever something changes (#205)
4
+ - fix: disable Block Matrix QuickView selection when QuickView is closed
5
+ - fix: don't update hidden QuickView panel when the pipeline changes
6
+ - fix: don't replot in QuickView when the plot parameters are identical
7
+ - fix: always show event view in QuickView when initialized
8
+ - enh: allow to modify caching settings in the "Advanced" preferences tab
9
+ - enh: joint KDE map for scatter and contour visualization (#111)
10
+ - enh: setup basic logging
11
+ - enh: inform user about unavailable contour data with dclab 0.71.0 (#207)
12
+ - ref: move contour spacing plot settings to "General" section
13
+ - ref: migrate find smooth contour spacing code to dclab
14
+ - ref: remove redundant `plotting` submodule
15
+ - setup: bump dclab to 0.71.1 (smooth contours, joint KDE maps)
1
16
  2.26.0
2
17
  - feat: edit, duplicate and remove polygon filters in the "Filter" view
3
18
  - fix: override-check in filter export did not work
@@ -584,7 +599,7 @@
584
599
  2.1.0
585
600
  - feat: basic DCOR support
586
601
  - fix: improved session support (older pre-release sessions)
587
- - docs: add DCOR guick guide
602
+ - docs: add DCOR guick guide
588
603
  - enh: export event image via context menu in Quick View (#35)
589
604
  - setup: bump dclab from 0.21.1 to 0.22.1 (DCOR support)
590
605
  2.0.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dcscope
3
- Version: 2.26.0
3
+ Version: 2.26.1
4
4
  Summary: User interface for deformability cytometry (DC)
5
5
  Author: Benedikt Hartmann, Eoghan O'Connell, Maximilian Schlögel, Paul Müller, Raghava Alajangi
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
@@ -16,7 +16,7 @@ Classifier: Intended Audience :: Science/Research
16
16
  Requires-Python: <4,>=3.9
17
17
  Description-Content-Type: text/x-rst
18
18
  License-File: LICENSE
19
- Requires-Dist: dclab[dcor,export,http,s3]>=0.69.2
19
+ Requires-Dist: dclab[dcor,export,http,s3]>=0.71.1
20
20
  Requires-Dist: h5py>=2.8.0
21
21
  Requires-Dist: numpy>=1.21
22
22
  Requires-Dist: pygments
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '2.26.1'
22
+ __version_tuple__ = version_tuple = (2, 26, 1)
23
+
24
+ __commit_id__ = commit_id = 'gd3f120a27'
@@ -293,7 +293,7 @@ class FilterPanel(QtWidgets.QWidget):
293
293
  self.update_content(filt_index)
294
294
 
295
295
  qv_dict = data.get("quickview")
296
- if qv_dict:
296
+ if qv_dict and qv_dict.get("enabled"):
297
297
  if self.isVisible():
298
298
  # If quickview is clicked, show corresponding filter
299
299
  filt_index = qv_dict.get("filt_index")
@@ -1,20 +1,22 @@
1
1
  import importlib.resources
2
+ import logging
2
3
 
3
4
  import dclab
5
+ import dclab.kde.binning
4
6
  import dclab.kde.methods
7
+ import dclab.kde.smooth_contour
5
8
  import numpy as np
6
- from PyQt6 import uic, QtCore, QtWidgets
9
+ from PyQt6 import QtCore, QtWidgets, uic
7
10
 
8
11
  from ...pipeline.plot import STATE_OPTIONS
9
-
10
- from ..pipeline_plot import (
11
- compute_contours, compute_contour_opening_angles, compute_contour_reliable)
12
-
13
12
  from ..widgets import show_wait_cursor
14
13
 
15
14
  COLORMAPS = STATE_OPTIONS["scatter"]["colormap"]
16
15
 
17
16
 
17
+ logger = logging.getLogger(__name__)
18
+
19
+
18
20
  class PlotPanel(QtWidgets.QWidget):
19
21
  # widgets emit these whenever they changed the pipeline
20
22
  pp_mod_send = QtCore.pyqtSignal(dict)
@@ -102,6 +104,8 @@ class PlotPanel(QtWidgets.QWidget):
102
104
  "range y": [ry["start"], ry["end"]],
103
105
  "scale x": self.comboBox_scale_x.currentData(),
104
106
  "scale y": self.comboBox_scale_y.currentData(),
107
+ "spacing x": self.doubleSpinBox_spacing_x.value(),
108
+ "spacing y": self.doubleSpinBox_spacing_y.value(),
105
109
  },
106
110
  "scatter": {
107
111
  "colormap": self.comboBox_colormap.currentData(),
@@ -129,8 +133,6 @@ class PlotPanel(QtWidgets.QWidget):
129
133
  "percentiles": [self.doubleSpinBox_perc_1.value(),
130
134
  self.doubleSpinBox_perc_2.value(),
131
135
  ],
132
- "spacing x": self.doubleSpinBox_spacing_x.value(),
133
- "spacing y": self.doubleSpinBox_spacing_y.value(),
134
136
  }
135
137
  }
136
138
  return state
@@ -210,8 +212,8 @@ class PlotPanel(QtWidgets.QWidget):
210
212
  self.comboBox_ls_1.setCurrentIndex(ls1_index)
211
213
  ls2_index = self.comboBox_ls_2.findData(con["line styles"][1])
212
214
  self.comboBox_ls_2.setCurrentIndex(ls2_index)
213
- self._set_contour_spacing(spacing_x=con["spacing x"],
214
- spacing_y=con["spacing y"])
215
+ self._set_kde_spacing(spacing_x=gen["spacing x"],
216
+ spacing_y=gen["spacing y"])
215
217
  for b in toblock:
216
218
  b.blockSignals(False)
217
219
 
@@ -321,8 +323,8 @@ class PlotPanel(QtWidgets.QWidget):
321
323
  })
322
324
  rc.blockSignals(False)
323
325
 
324
- def _set_contour_spacing(self, spacing_x=None, spacing_y=None):
325
- """Set the contour spacing in the spin boxes
326
+ def _set_kde_spacing(self, spacing_x=None, spacing_y=None):
327
+ """Set the KDE spacing in the spin boxes
326
328
 
327
329
  - sets spinbox limits first
328
330
  - sets number of digits
@@ -345,11 +347,11 @@ class PlotPanel(QtWidgets.QWidget):
345
347
  spinBox.setSingleStep(10**(-dec + 1))
346
348
  spinBox.setValue(spacing)
347
349
 
348
- def _set_contour_spacing_auto(self, axis_x=None, axis_y=None):
349
- """automatically set the contour spacing
350
+ def _set_kde_spacing_auto(self, axis_x=None, axis_y=None):
351
+ """automatically estimate and set the KDE spacing
350
352
 
351
- - uses :func:`dclab.kde.methods.bin_width_percentile`
352
- - uses _set_contour_spacing
353
+ - uses :func:`dclab.kde.binning.bin_width_percentile`
354
+ - uses _set_kde_spacing
353
355
 
354
356
  Not to be confused with `on_spacing_auto`!
355
357
  """
@@ -377,14 +379,14 @@ class PlotPanel(QtWidgets.QWidget):
377
379
  a=ds[axis],
378
380
  feat=axis,
379
381
  scale=scaleCombo.currentData(),
380
- method=dclab.kde.methods.bin_width_percentile,
382
+ method=dclab.kde.binning.bin_width_percentile,
381
383
  )
382
384
  spacings.append(spa)
383
385
  spacings_xy.append(np.min(spacings))
384
386
  spacing_x, spacing_y = spacings_xy
385
387
  # sets the limits before setting the value
386
- self._set_contour_spacing(spacing_x=spacing_x,
387
- spacing_y=spacing_y)
388
+ self._set_kde_spacing(spacing_x=spacing_x,
389
+ spacing_y=spacing_y)
388
390
 
389
391
  @property
390
392
  def current_plot(self):
@@ -430,14 +432,14 @@ class PlotPanel(QtWidgets.QWidget):
430
432
  gen = self.read_plot_state()["general"]
431
433
  if self.sender() == self.comboBox_axis_x:
432
434
  self._set_range_xy_state(axis_x=gen["axis x"])
433
- self._set_contour_spacing_auto(axis_x=gen["axis x"])
435
+ self._set_kde_spacing_auto(axis_x=gen["axis x"])
434
436
  elif self.sender() == self.comboBox_axis_y:
435
437
  self._set_range_xy_state(axis_y=gen["axis y"])
436
- self._set_contour_spacing_auto(axis_y=gen["axis y"])
438
+ self._set_kde_spacing_auto(axis_y=gen["axis y"])
437
439
  elif self.sender() == self.comboBox_scale_x:
438
- self._set_contour_spacing_auto(axis_x=gen["axis x"])
440
+ self._set_kde_spacing_auto(axis_x=gen["axis x"])
439
441
  elif self.sender() == self.comboBox_scale_y:
440
- self._set_contour_spacing_auto(axis_y=gen["axis y"])
442
+ self._set_kde_spacing_auto(axis_y=gen["axis y"])
441
443
 
442
444
  @QtCore.pyqtSlot()
443
445
  def on_column_num_changed(self):
@@ -526,51 +528,43 @@ class PlotPanel(QtWidgets.QWidget):
526
528
  """Iteratively find a good spacing for smooth contours (#110)"""
527
529
  # https://github.com/DC-analysis/DCscope/issues/110
528
530
  plot_id = self.current_plot.identifier
529
- # Get all datasets belonging to this plot.
530
- datasets, _ = self.pipeline.get_plot_datasets(plot_id)
531
531
  state = self.read_plot_state()
532
- gen = state["general"]
533
- # initial guess
534
- # sensible start parameters
535
- self._set_contour_spacing_auto(axis_x=gen["axis x"],
536
- axis_y=gen["axis y"])
537
532
 
538
- # retrieve state with updated spacings
539
- state = self.read_plot_state()
540
- phi_conv = np.deg2rad(23)
541
-
542
- for ii in range(15): # hard-limit is 15 iterations
543
- # maximum difference of opening angle from 180° [rad]
544
- max_dphi = 0
545
- for ds in datasets:
546
- # Compute the contour for the highest percentile of the plot.
547
- state["contour"]["percentiles"] = \
548
- [np.max(state["contour"]["percentiles"])]
549
- cc = compute_contours(plot_state=state, rtdc_ds=ds)[0][0]
550
- if not compute_contour_reliable(
551
- plot_state=state, contour=cc, thresh_ang=phi_conv):
552
- # Compute the opening angle for each point of the cnotour
553
- # and take the point with the largest opening angle.
554
- angles = compute_contour_opening_angles(
555
- plot_state=state, contour=cc)
556
- dphi = np.max(np.abs(angles))
557
- max_dphi = max(max_dphi, np.abs(dphi))
558
- if max_dphi <= phi_conv:
559
- # Normal stopping criterion (opening angle <= 23°)
560
- break
561
- else:
562
- # If the absolute opening angle is too large,
563
- # we assume that we have to reduce the spacing.
564
- state["contour"]["spacing x"] /= 2
565
- state["contour"]["spacing y"] /= 2
533
+ # compute best spacing iteratively
534
+ res = dclab.kde.smooth_contour.find_smooth_contour_spacing(
535
+ # All datasets belonging to this plot.
536
+ ds_list=self.pipeline.get_plot_datasets(plot_id)[0],
537
+ xax=state["general"]["axis x"],
538
+ yax=state["general"]["axis y"],
539
+ xrange=state["general"]["range x"],
540
+ yrange=state["general"]["range y"],
541
+ quantiles=np.array(state["contour"]["percentiles"]) / 100,
542
+ xscale=state["general"]["scale x"],
543
+ yscale=state["general"]["scale y"],
544
+ kde_type="histogram",
545
+ max_iter=15,
546
+ )
547
+
548
+ success = res.get("success", False)
549
+ reason = res.get("reason", "unknown")
550
+ num_iter = res.get("total iterations", np.nan)
551
+ corners_found = res.get("corners found", "unknown")
552
+
553
+ if success:
554
+ logger.info(
555
+ f"Successfully found smooth contour within {num_iter} "
556
+ f"iterations: {reason} ({corners_found=})."
557
+ )
566
558
  else:
567
- raise ValueError(
568
- "Could not automatically determine contour spacing")
559
+ logger.warning(
560
+ f"Failed to find smooth contour within {num_iter} "
561
+ f"iterations: {reason} ({corners_found=})."
562
+ )
569
563
 
570
564
  # set the final spacing
571
565
  new_state = self.read_plot_state()
572
- new_state["contour"]["spacing x"] = state["contour"]["spacing x"]
573
- new_state["contour"]["spacing y"] = state["contour"]["spacing y"]
566
+ new_state["general"]["spacing x"] = res["spacing x"]
567
+ new_state["general"]["spacing y"] = res["spacing y"]
574
568
  self.write_plot_state(new_state)
575
569
 
576
570
  @QtCore.pyqtSlot()