spacr 1.0.5__tar.gz → 1.0.6__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 (670) hide show
  1. {spacr-1.0.5/spacr.egg-info → spacr-1.0.6}/PKG-INFO +1 -1
  2. spacr-1.0.6/docs/_images/logo_spacr.png +0 -0
  3. {spacr-1.0.5 → spacr-1.0.6}/setup.py +3 -2
  4. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_annotate.py +1 -1
  5. {spacr-1.0.5 → spacr-1.0.6}/spacr/core.py +1 -0
  6. {spacr-1.0.5 → spacr-1.0.6}/spacr/deep_spacr.py +1 -3
  7. {spacr-1.0.5 → spacr-1.0.6}/spacr/gui.py +39 -17
  8. {spacr-1.0.5 → spacr-1.0.6}/spacr/gui_elements.py +7 -7
  9. {spacr-1.0.5 → spacr-1.0.6}/spacr/io.py +14 -4
  10. {spacr-1.0.5 → spacr-1.0.6}/spacr/plot.py +57 -0
  11. spacr-1.0.6/spacr/resources/icons/activation.png +0 -0
  12. spacr-1.0.6/spacr/resources/icons/logo_spacr.png +0 -0
  13. spacr-1.0.6/spacr/resources/icons/logo_v2.pdf +274 -0
  14. spacr-1.0.6/spacr/resources/icons/logo_v2_dark.pdf +327 -0
  15. spacr-1.0.6/spacr/resources/icons/logo_v2_dark.png +0 -0
  16. spacr-1.0.6/spacr/resources/icons/logo_v2_white.pdf +386 -0
  17. spacr-1.0.6/spacr/resources/icons/logo_v2_white.png +0 -0
  18. {spacr-1.0.5 → spacr-1.0.6}/spacr/settings.py +2 -2
  19. {spacr-1.0.5 → spacr-1.0.6}/spacr/spacr_cellpose.py +0 -1
  20. {spacr-1.0.5 → spacr-1.0.6}/spacr/utils.py +51 -1
  21. {spacr-1.0.5 → spacr-1.0.6/spacr.egg-info}/PKG-INFO +1 -1
  22. {spacr-1.0.5 → spacr-1.0.6}/spacr.egg-info/SOURCES.txt +8 -1
  23. {spacr-1.0.5 → spacr-1.0.6}/spacr.egg-info/entry_points.txt +1 -1
  24. spacr-1.0.5/spacr/resources/icons/logo_spacr.png +0 -0
  25. {spacr-1.0.5 → spacr-1.0.6}/LICENSE +0 -0
  26. {spacr-1.0.5 → spacr-1.0.6}/MANIFEST.in +0 -0
  27. {spacr-1.0.5 → spacr-1.0.6}/README.rst +0 -0
  28. {spacr-1.0.5 → spacr-1.0.6}/deploy_docs.sh +0 -0
  29. {spacr-1.0.5 → spacr-1.0.6}/docs/.doctrees/environment.pickle +0 -0
  30. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/.doctrees/environment.pickle +0 -0
  31. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_images/logo_spacr.png +0 -0
  32. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/index.html +0 -0
  33. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_annotate.html +0 -0
  34. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_classify.html +0 -0
  35. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_make_masks.html +0 -0
  36. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_mask.html +0 -0
  37. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_measure.html +0 -0
  38. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_sequencing.html +0 -0
  39. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/app_umap.html +0 -0
  40. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/core.html +0 -0
  41. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/deep_spacr.html +0 -0
  42. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/gui.html +0 -0
  43. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/gui_core.html +0 -0
  44. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/gui_elements.html +0 -0
  45. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/gui_utils.html +0 -0
  46. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/io.html +0 -0
  47. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/logger.html +0 -0
  48. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/measure.html +0 -0
  49. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/ml.html +0 -0
  50. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/plot.html +0 -0
  51. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/sequencing.html +0 -0
  52. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/settings.html +0 -0
  53. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/sim.html +0 -0
  54. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/sp_stats.html +0 -0
  55. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/spacr_cellpose.html +0 -0
  56. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/submodules.html +0 -0
  57. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/timelapse.html +0 -0
  58. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/toxo.html +0 -0
  59. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/utils.html +0 -0
  60. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_modules/spacr/version.html +0 -0
  61. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/index.rst.txt +0 -0
  62. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_annotate/index.rst.txt +0 -0
  63. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_classify/index.rst.txt +0 -0
  64. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_make_masks/index.rst.txt +0 -0
  65. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_mask/index.rst.txt +0 -0
  66. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_measure/index.rst.txt +0 -0
  67. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_sequencing/index.rst.txt +0 -0
  68. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/app_umap/index.rst.txt +0 -0
  69. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/core/index.rst.txt +0 -0
  70. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/deep_spacr/index.rst.txt +0 -0
  71. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/gui/index.rst.txt +0 -0
  72. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/gui_core/index.rst.txt +0 -0
  73. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/gui_elements/index.rst.txt +0 -0
  74. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/gui_utils/index.rst.txt +0 -0
  75. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/index.rst.txt +0 -0
  76. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/io/index.rst.txt +0 -0
  77. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/logger/index.rst.txt +0 -0
  78. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/measure/index.rst.txt +0 -0
  79. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/ml/index.rst.txt +0 -0
  80. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/plot/index.rst.txt +0 -0
  81. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/sequencing/index.rst.txt +0 -0
  82. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/settings/index.rst.txt +0 -0
  83. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/sim/index.rst.txt +0 -0
  84. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/sp_stats/index.rst.txt +0 -0
  85. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/spacr_cellpose/index.rst.txt +0 -0
  86. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/submodules/index.rst.txt +0 -0
  87. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/timelapse/index.rst.txt +0 -0
  88. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/toxo/index.rst.txt +0 -0
  89. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/utils/index.rst.txt +0 -0
  90. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/api/spacr/version/index.rst.txt +0 -0
  91. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_sources/index.rst.txt +0 -0
  92. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  93. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/basic.css +0 -0
  94. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/badge_only.css +0 -0
  95. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  96. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  97. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  98. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  99. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  100. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  101. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  102. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  103. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  104. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  105. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  106. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  107. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  108. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  109. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  110. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  111. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  112. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/css/theme.css +0 -0
  113. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/custom.css +0 -0
  114. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/doctools.js +0 -0
  115. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/documentation_options.js +0 -0
  116. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/file.png +0 -0
  117. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  118. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  119. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  120. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  121. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  122. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  123. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  124. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  125. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  126. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  127. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  128. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  129. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  130. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  131. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  132. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  133. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  134. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  135. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  136. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  137. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  138. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  139. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  140. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  141. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/graphviz.css +0 -0
  142. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/jquery.js +0 -0
  143. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/js/badge_only.js +0 -0
  144. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/js/theme.js +0 -0
  145. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/js/versions.js +0 -0
  146. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/language_data.js +0 -0
  147. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/logo_spacr.png +0 -0
  148. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/minus.png +0 -0
  149. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/plus.png +0 -0
  150. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/pygments.css +0 -0
  151. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/searchtools.js +0 -0
  152. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  153. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/index.html +0 -0
  154. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_annotate/index.html +0 -0
  155. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_classify/index.html +0 -0
  156. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_make_masks/index.html +0 -0
  157. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_mask/index.html +0 -0
  158. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_measure/index.html +0 -0
  159. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_sequencing/index.html +0 -0
  160. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/app_umap/index.html +0 -0
  161. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/core/index.html +0 -0
  162. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/deep_spacr/index.html +0 -0
  163. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/gui/index.html +0 -0
  164. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/gui_core/index.html +0 -0
  165. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/gui_elements/index.html +0 -0
  166. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/gui_utils/index.html +0 -0
  167. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/index.html +0 -0
  168. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/io/index.html +0 -0
  169. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/logger/index.html +0 -0
  170. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/measure/index.html +0 -0
  171. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/ml/index.html +0 -0
  172. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/plot/index.html +0 -0
  173. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/sequencing/index.html +0 -0
  174. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/settings/index.html +0 -0
  175. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/sim/index.html +0 -0
  176. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/sp_stats/index.html +0 -0
  177. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/spacr_cellpose/index.html +0 -0
  178. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/submodules/index.html +0 -0
  179. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/timelapse/index.html +0 -0
  180. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/toxo/index.html +0 -0
  181. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/utils/index.html +0 -0
  182. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/api/spacr/version/index.html +0 -0
  183. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/genindex.html +0 -0
  184. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/index.html +0 -0
  185. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/objects.inv +0 -0
  186. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/py-modindex.html +0 -0
  187. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/search.html +0 -0
  188. {spacr-1.0.5 → spacr-1.0.6}/docs/_build/html/searchindex.js +0 -0
  189. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/SetupDict.html +0 -0
  190. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/BasePredictor.html +0 -0
  191. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/BaseTrainer.html +0 -0
  192. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/Baseline/Predictor.html +0 -0
  193. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/Baseline/Trainer.html +0 -0
  194. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/Baseline/utils.html +0 -0
  195. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/MEDIAR/EnsemblePredictor.html +0 -0
  196. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/MEDIAR/Predictor.html +0 -0
  197. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/MEDIAR/Trainer.html +0 -0
  198. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/MEDIAR/utils.html +0 -0
  199. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/core/utils.html +0 -0
  200. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/evaluate.html +0 -0
  201. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/generate_mapping.html +0 -0
  202. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/index.html +0 -0
  203. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/main.html +0 -0
  204. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/predict.html +0 -0
  205. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_annotate.html +0 -0
  206. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_classify.html +0 -0
  207. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_make_masks.html +0 -0
  208. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_mask.html +0 -0
  209. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_measure.html +0 -0
  210. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_sequencing.html +0 -0
  211. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/app_umap.html +0 -0
  212. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/chat_bot.html +0 -0
  213. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/core.html +0 -0
  214. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/deep_spacr.html +0 -0
  215. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/gui.html +0 -0
  216. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/gui_core.html +0 -0
  217. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/gui_elements.html +0 -0
  218. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/gui_utils.html +0 -0
  219. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/io.html +0 -0
  220. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/logger.html +0 -0
  221. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/measure.html +0 -0
  222. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/mediar.html +0 -0
  223. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/ml.html +0 -0
  224. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/plot.html +0 -0
  225. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/sequencing.html +0 -0
  226. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/settings.html +0 -0
  227. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/sim.html +0 -0
  228. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/sp_stats.html +0 -0
  229. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/spacr_cellpose.html +0 -0
  230. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/submodules.html +0 -0
  231. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/timelapse.html +0 -0
  232. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/toxo.html +0 -0
  233. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/utils.html +0 -0
  234. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/spacr/version.html +0 -0
  235. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/custom/CellAware.html +0 -0
  236. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/custom/LoadImage.html +0 -0
  237. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/custom/NormalizeImage.html +0 -0
  238. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/datasetter.html +0 -0
  239. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/transforms.html +0 -0
  240. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/data_utils/utils.html +0 -0
  241. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/measures.html +0 -0
  242. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/models/MEDIARFormer.html +0 -0
  243. {spacr-1.0.5 → spacr-1.0.6}/docs/_modules/train_tools/utils.html +0 -0
  244. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/SetupDict/index.rst.txt +0 -0
  245. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/BasePredictor/index.rst.txt +0 -0
  246. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/BaseTrainer/index.rst.txt +0 -0
  247. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/Baseline/Predictor/index.rst.txt +0 -0
  248. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/Baseline/Trainer/index.rst.txt +0 -0
  249. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/Baseline/index.rst.txt +0 -0
  250. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/Baseline/utils/index.rst.txt +0 -0
  251. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/MEDIAR/EnsemblePredictor/index.rst.txt +0 -0
  252. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/MEDIAR/Predictor/index.rst.txt +0 -0
  253. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/MEDIAR/Trainer/index.rst.txt +0 -0
  254. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/MEDIAR/index.rst.txt +0 -0
  255. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/MEDIAR/utils/index.rst.txt +0 -0
  256. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/index.rst.txt +0 -0
  257. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/core/utils/index.rst.txt +0 -0
  258. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/evaluate/index.rst.txt +0 -0
  259. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/generate_mapping/index.rst.txt +0 -0
  260. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/index.rst.txt +0 -0
  261. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/main/index.rst.txt +0 -0
  262. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/predict/index.rst.txt +0 -0
  263. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_annotate/index.rst.txt +0 -0
  264. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_classify/index.rst.txt +0 -0
  265. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_make_masks/index.rst.txt +0 -0
  266. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_mask/index.rst.txt +0 -0
  267. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_measure/index.rst.txt +0 -0
  268. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_sequencing/index.rst.txt +0 -0
  269. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/app_umap/index.rst.txt +0 -0
  270. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/chat_bot/index.rst.txt +0 -0
  271. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/core/index.rst.txt +0 -0
  272. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/deep_spacr/index.rst.txt +0 -0
  273. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/gui/index.rst.txt +0 -0
  274. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/gui_core/index.rst.txt +0 -0
  275. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/gui_elements/index.rst.txt +0 -0
  276. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/gui_utils/index.rst.txt +0 -0
  277. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/index.rst.txt +0 -0
  278. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/io/index.rst.txt +0 -0
  279. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/logger/index.rst.txt +0 -0
  280. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/measure/index.rst.txt +0 -0
  281. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/mediar/index.rst.txt +0 -0
  282. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/ml/index.rst.txt +0 -0
  283. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/openai/index.rst.txt +0 -0
  284. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/plot/index.rst.txt +0 -0
  285. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/sequencing/index.rst.txt +0 -0
  286. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/settings/index.rst.txt +0 -0
  287. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/sim/index.rst.txt +0 -0
  288. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/sp_stats/index.rst.txt +0 -0
  289. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/spacr_cellpose/index.rst.txt +0 -0
  290. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/submodules/index.rst.txt +0 -0
  291. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/timelapse/index.rst.txt +0 -0
  292. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/toxo/index.rst.txt +0 -0
  293. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/utils/index.rst.txt +0 -0
  294. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/spacr/version/index.rst.txt +0 -0
  295. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/custom/CellAware/index.rst.txt +0 -0
  296. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/custom/LoadImage/index.rst.txt +0 -0
  297. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/custom/NormalizeImage/index.rst.txt +0 -0
  298. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/custom/index.rst.txt +0 -0
  299. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/datasetter/index.rst.txt +0 -0
  300. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/index.rst.txt +0 -0
  301. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/transforms/index.rst.txt +0 -0
  302. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/data_utils/utils/index.rst.txt +0 -0
  303. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/index.rst.txt +0 -0
  304. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/measures/index.rst.txt +0 -0
  305. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/models/MEDIARFormer/index.rst.txt +0 -0
  306. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/models/index.rst.txt +0 -0
  307. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/api/train_tools/utils/index.rst.txt +0 -0
  308. {spacr-1.0.5 → spacr-1.0.6}/docs/_sources/index.rst.txt +0 -0
  309. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  310. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/basic.css +0 -0
  311. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/badge_only.css +0 -0
  312. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  313. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  314. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  315. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  316. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/fontawesome-webfont.eot +0 -0
  317. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/fontawesome-webfont.svg +0 -0
  318. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  319. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/fontawesome-webfont.woff +0 -0
  320. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  321. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-bold-italic.woff +0 -0
  322. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  323. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-bold.woff +0 -0
  324. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-bold.woff2 +0 -0
  325. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-normal-italic.woff +0 -0
  326. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  327. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-normal.woff +0 -0
  328. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/fonts/lato-normal.woff2 +0 -0
  329. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/css/theme.css +0 -0
  330. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/custom.css +0 -0
  331. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/doctools.js +0 -0
  332. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/documentation_options.js +0 -0
  333. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/file.png +0 -0
  334. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bold.eot +0 -0
  335. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bold.ttf +0 -0
  336. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bold.woff +0 -0
  337. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bold.woff2 +0 -0
  338. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  339. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  340. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  341. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  342. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-italic.eot +0 -0
  343. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-italic.ttf +0 -0
  344. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-italic.woff +0 -0
  345. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-italic.woff2 +0 -0
  346. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-regular.eot +0 -0
  347. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-regular.ttf +0 -0
  348. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-regular.woff +0 -0
  349. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/Lato/lato-regular.woff2 +0 -0
  350. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  351. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  352. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  353. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  354. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  355. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  356. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  357. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  358. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/graphviz.css +0 -0
  359. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/jquery.js +0 -0
  360. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/js/badge_only.js +0 -0
  361. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/js/theme.js +0 -0
  362. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/js/versions.js +0 -0
  363. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/language_data.js +0 -0
  364. {spacr-1.0.5/docs/_images → spacr-1.0.6/docs/_static}/logo_spacr.png +0 -0
  365. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/minus.png +0 -0
  366. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/plus.png +0 -0
  367. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/pygments.css +0 -0
  368. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/searchtools.js +0 -0
  369. {spacr-1.0.5 → spacr-1.0.6}/docs/_static/sphinx_highlight.js +0 -0
  370. {spacr-1.0.5 → spacr-1.0.6}/docs/api/index.html +0 -0
  371. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_annotate/index.html +0 -0
  372. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_classify/index.html +0 -0
  373. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_make_masks/index.html +0 -0
  374. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_mask/index.html +0 -0
  375. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_measure/index.html +0 -0
  376. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_sequencing/index.html +0 -0
  377. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/app_umap/index.html +0 -0
  378. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/core/index.html +0 -0
  379. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/deep_spacr/index.html +0 -0
  380. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/gui/index.html +0 -0
  381. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/gui_core/index.html +0 -0
  382. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/gui_elements/index.html +0 -0
  383. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/gui_utils/index.html +0 -0
  384. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/index.html +0 -0
  385. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/io/index.html +0 -0
  386. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/logger/index.html +0 -0
  387. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/measure/index.html +0 -0
  388. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/ml/index.html +0 -0
  389. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/plot/index.html +0 -0
  390. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/sequencing/index.html +0 -0
  391. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/settings/index.html +0 -0
  392. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/sim/index.html +0 -0
  393. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/sp_stats/index.html +0 -0
  394. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/spacr_cellpose/index.html +0 -0
  395. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/submodules/index.html +0 -0
  396. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/timelapse/index.html +0 -0
  397. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/toxo/index.html +0 -0
  398. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/utils/index.html +0 -0
  399. {spacr-1.0.5 → spacr-1.0.6}/docs/api/spacr/version/index.html +0 -0
  400. {spacr-1.0.5 → spacr-1.0.6}/docs/genindex.html +0 -0
  401. {spacr-1.0.5 → spacr-1.0.6}/docs/index.html +0 -0
  402. {spacr-1.0.5 → spacr-1.0.6}/docs/objects.inv +0 -0
  403. {spacr-1.0.5 → spacr-1.0.6}/docs/py-modindex.html +0 -0
  404. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/OFL.txt +0 -0
  405. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  406. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
  407. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/README.txt +0 -0
  408. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-Bold.ttf +0 -0
  409. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-BoldItalic.ttf +0 -0
  410. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-ExtraBold.ttf +0 -0
  411. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf +0 -0
  412. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-Italic.ttf +0 -0
  413. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-Light.ttf +0 -0
  414. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-LightItalic.ttf +0 -0
  415. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-Medium.ttf +0 -0
  416. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-MediumItalic.ttf +0 -0
  417. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-Regular.ttf +0 -0
  418. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-SemiBold.ttf +0 -0
  419. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf +0 -0
  420. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf +0 -0
  421. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf +0 -0
  422. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf +0 -0
  423. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
  424. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf +0 -0
  425. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf +0 -0
  426. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf +0 -0
  427. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf +0 -0
  428. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf +0 -0
  429. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf +0 -0
  430. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf +0 -0
  431. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
  432. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf +0 -0
  433. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
  434. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
  435. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
  436. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf +0 -0
  437. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf +0 -0
  438. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
  439. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf +0 -0
  440. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
  441. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf +0 -0
  442. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
  443. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
  444. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/abort.png +0 -0
  445. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/classify.png +0 -0
  446. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/default.png +0 -0
  447. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/download.png +0 -0
  448. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/map_barcodes.png +0 -0
  449. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/mask.png +0 -0
  450. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/measure.png +0 -0
  451. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/regression.png +0 -0
  452. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/run.png +0 -0
  453. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/icons/settings.png +0 -0
  454. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/001_placeholder.png +0 -0
  455. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/002_placeholder.png +0 -0
  456. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/003_placeholder.png +0 -0
  457. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/004_placeholder.png +0 -0
  458. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-03-41.png +0 -0
  459. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-07-50.png +0 -0
  460. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-08-06.png +0 -0
  461. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-08-19.png +0 -0
  462. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-08-37.png +0 -0
  463. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-08-55.png +0 -0
  464. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-09-03.png +0 -0
  465. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-09-20.png +0 -0
  466. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-09-34.png +0 -0
  467. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-09-43.png +0 -0
  468. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-09-56.png +0 -0
  469. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-10-25.png +0 -0
  470. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-11-04.png +0 -0
  471. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-11-11.png +0 -0
  472. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-11-18.png +0 -0
  473. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/Screenshot from 2025-06-25 22-11-27.png +0 -0
  474. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/gui/gui.png +0 -0
  475. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_00_code.txt +0 -0
  476. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_code.txt +0 -0
  477. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_00_text.txt +0 -0
  478. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_02_text.txt +0 -0
  479. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_04_text.txt +0 -0
  480. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_06_text.txt +0 -0
  481. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_08_text.txt +0 -0
  482. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_19_text.txt +0 -0
  483. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_21_text.txt +0 -0
  484. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_23_text.txt +0 -0
  485. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_34_text.txt +0 -0
  486. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_36_text.txt +0 -0
  487. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_38_text.txt +0 -0
  488. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_49_text.txt +0 -0
  489. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_51_text.txt +0 -0
  490. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_53_text.txt +0 -0
  491. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_55_text.txt +0 -0
  492. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_57_text.txt +0 -0
  493. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_59_text.txt +0 -0
  494. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_61_text.txt +0 -0
  495. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_63_text.txt +0 -0
  496. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_65_text.txt +0 -0
  497. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_67_text.txt +0 -0
  498. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_01_out_69_text.txt +0 -0
  499. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/cell_02_code.txt +0 -0
  500. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/console_output.js +0 -0
  501. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/console_output.txt +0 -0
  502. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/img1.png +0 -0
  503. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/img2.png +0 -0
  504. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/img3.png +0 -0
  505. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/img4.png +0 -0
  506. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/1_mask/notebook/img5.png +0 -0
  507. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/gui/001_placeholder.png +0 -0
  508. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/gui/002_placeholder.png +0 -0
  509. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/gui/003_placeholder.png +0 -0
  510. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/gui/004_placeholder.png +0 -0
  511. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_00_code.txt +0 -0
  512. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_code.txt +0 -0
  513. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_00_text.txt +0 -0
  514. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_02_text.txt +0 -0
  515. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_04_text.txt +0 -0
  516. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_10_text.txt +0 -0
  517. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_16_text.txt +0 -0
  518. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_22_text.txt +0 -0
  519. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_28_text.txt +0 -0
  520. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_34_text.txt +0 -0
  521. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_40_text.txt +0 -0
  522. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_46_text.txt +0 -0
  523. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_52_text.txt +0 -0
  524. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_58_text.txt +0 -0
  525. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_01_out_64_text.txt +0 -0
  526. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/2_spacr_generate_mesurments_crop_images-ipynb/cell_02_code.txt +0 -0
  527. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/img1.png +0 -0
  528. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/img2.png +0 -0
  529. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/2_measure/notebook/img3.png +0 -0
  530. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/gui/001_placeholder.png +0 -0
  531. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/gui/002_placeholder.png +0 -0
  532. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/gui/003_placeholder.png +0 -0
  533. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/gui/004_placeholder.png +0 -0
  534. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/notebook/img1.png +0 -0
  535. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/notebook/img2.png +0 -0
  536. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/notebook/img3.png +0 -0
  537. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/notebook/img4.png +0 -0
  538. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/3_classify/notebook/img5.png +0 -0
  539. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/gui/001_placeholder.png +0 -0
  540. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/gui/002_placeholder.png +0 -0
  541. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/gui/003_placeholder.png +0 -0
  542. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/gui/004_placeholder.png +0 -0
  543. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/notebook/img1.png +0 -0
  544. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/notebook/img2.png +0 -0
  545. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/notebook/img3.png +0 -0
  546. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/notebook/img4.png +0 -0
  547. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/4_map_barcodes/notebook/img5.png +0 -0
  548. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/gui/001_placeholder.png +0 -0
  549. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/gui/002_placeholder.png +0 -0
  550. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/gui/003_placeholder.png +0 -0
  551. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/gui/004_placeholder.png +0 -0
  552. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/notebook/img1.png +0 -0
  553. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/notebook/img2.png +0 -0
  554. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/notebook/img3.png +0 -0
  555. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/notebook/img4.png +0 -0
  556. {spacr-1.0.5 → spacr-1.0.6}/docs/resources/tutorial/5_regression/notebook/img5.png +0 -0
  557. {spacr-1.0.5 → spacr-1.0.6}/docs/search.html +0 -0
  558. {spacr-1.0.5 → spacr-1.0.6}/docs/searchindex.js +0 -0
  559. {spacr-1.0.5 → spacr-1.0.6}/docs/source/_static/custom.css +0 -0
  560. {spacr-1.0.5/docs → spacr-1.0.6/docs/source}/_static/logo_spacr.png +0 -0
  561. {spacr-1.0.5 → spacr-1.0.6}/docs/source/conf.py +0 -0
  562. {spacr-1.0.5 → spacr-1.0.6}/docs/source/index.rst +0 -0
  563. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/1_mask_gen_gui.html +0 -0
  564. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/1_mask_gen_notebook.html +0 -0
  565. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/2_measure_gui.html +0 -0
  566. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/2_measure_notebook.html +0 -0
  567. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/3_classify_gui.html +0 -0
  568. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/3_classify_notebook.html +0 -0
  569. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/4_map_barcodes_gui.html +0 -0
  570. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/4_map_barcodes_notebook.html +0 -0
  571. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/5_regression_gui.html +0 -0
  572. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/5_regression_notebook.html +0 -0
  573. {spacr-1.0.5 → spacr-1.0.6}/docs/tutorial/index.html +0 -0
  574. {spacr-1.0.5 → spacr-1.0.6}/environment.yaml +0 -0
  575. {spacr-1.0.5 → spacr-1.0.6}/fonts/OpenSans-Regular.ttf +0 -0
  576. {spacr-1.0.5 → spacr-1.0.6}/pyproject.toml +0 -0
  577. {spacr-1.0.5 → spacr-1.0.6}/requirements.txt +0 -0
  578. {spacr-1.0.5 → spacr-1.0.6}/rtd_trigger.txt +0 -0
  579. {spacr-1.0.5 → spacr-1.0.6}/setup.cfg +0 -0
  580. {spacr-1.0.5 → spacr-1.0.6}/setup_docs.sh +0 -0
  581. {spacr-1.0.5 → spacr-1.0.6}/spacr/__init__.py +0 -0
  582. {spacr-1.0.5 → spacr-1.0.6}/spacr/__main__.py +0 -0
  583. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_classify.py +0 -0
  584. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_make_masks.py +0 -0
  585. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_mask.py +0 -0
  586. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_measure.py +0 -0
  587. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_sequencing.py +0 -0
  588. {spacr-1.0.5 → spacr-1.0.6}/spacr/app_umap.py +0 -0
  589. {spacr-1.0.5 → spacr-1.0.6}/spacr/gui_core.py +0 -0
  590. {spacr-1.0.5 → spacr-1.0.6}/spacr/gui_utils.py +0 -0
  591. {spacr-1.0.5 → spacr-1.0.6}/spacr/logger.py +0 -0
  592. {spacr-1.0.5 → spacr-1.0.6}/spacr/measure.py +0 -0
  593. {spacr-1.0.5 → spacr-1.0.6}/spacr/ml.py +0 -0
  594. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/data/lopit.csv +0 -0
  595. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/data/toxoplasma_metadata.csv +0 -0
  596. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/OFL.txt +0 -0
  597. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  598. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
  599. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/README.txt +0 -0
  600. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-Bold.ttf +0 -0
  601. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-BoldItalic.ttf +0 -0
  602. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-ExtraBold.ttf +0 -0
  603. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf +0 -0
  604. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-Italic.ttf +0 -0
  605. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-Light.ttf +0 -0
  606. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-LightItalic.ttf +0 -0
  607. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-Medium.ttf +0 -0
  608. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-MediumItalic.ttf +0 -0
  609. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-Regular.ttf +0 -0
  610. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-SemiBold.ttf +0 -0
  611. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf +0 -0
  612. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf +0 -0
  613. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf +0 -0
  614. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf +0 -0
  615. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
  616. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf +0 -0
  617. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf +0 -0
  618. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf +0 -0
  619. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf +0 -0
  620. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf +0 -0
  621. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf +0 -0
  622. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf +0 -0
  623. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
  624. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf +0 -0
  625. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
  626. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
  627. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
  628. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf +0 -0
  629. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf +0 -0
  630. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
  631. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf +0 -0
  632. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
  633. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf +0 -0
  634. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
  635. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
  636. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/abort.png +0 -0
  637. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/annotate.png +0 -0
  638. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/cellpose_all.png +0 -0
  639. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/cellpose_masks.png +0 -0
  640. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/classify.png +0 -0
  641. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/convert.png +0 -0
  642. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/default.png +0 -0
  643. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/download.png +0 -0
  644. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/flow_chart_v3.png +0 -0
  645. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/logo_spacr_1.png +0 -0
  646. /spacr-1.0.5/docs/source/_static/logo_spacr.png → /spacr-1.0.6/spacr/resources/icons/logo_spacr_v1.png +0 -0
  647. /spacr-1.0.5/spacr/resources/icons/logo.pdf → /spacr-1.0.6/spacr/resources/icons/logo_v1.pdf +0 -0
  648. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/make_masks.png +0 -0
  649. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/map_barcodes.png +0 -0
  650. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/mask.png +0 -0
  651. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/measure.png +0 -0
  652. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/ml_analyze.png +0 -0
  653. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/plaque.png +0 -0
  654. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/recruitment.png +0 -0
  655. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/regression.png +0 -0
  656. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/run.png +0 -0
  657. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/sequencing.png +0 -0
  658. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/settings.png +0 -0
  659. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/train_cellpose.png +0 -0
  660. {spacr-1.0.5 → spacr-1.0.6}/spacr/resources/icons/umap.png +0 -0
  661. {spacr-1.0.5 → spacr-1.0.6}/spacr/sequencing.py +0 -0
  662. {spacr-1.0.5 → spacr-1.0.6}/spacr/sim.py +0 -0
  663. {spacr-1.0.5 → spacr-1.0.6}/spacr/sp_stats.py +0 -0
  664. {spacr-1.0.5 → spacr-1.0.6}/spacr/submodules.py +0 -0
  665. {spacr-1.0.5 → spacr-1.0.6}/spacr/timelapse.py +0 -0
  666. {spacr-1.0.5 → spacr-1.0.6}/spacr/toxo.py +0 -0
  667. {spacr-1.0.5 → spacr-1.0.6}/spacr/version.py +0 -0
  668. {spacr-1.0.5 → spacr-1.0.6}/spacr.egg-info/dependency_links.txt +0 -0
  669. {spacr-1.0.5 → spacr-1.0.6}/spacr.egg-info/requires.txt +0 -0
  670. {spacr-1.0.5 → spacr-1.0.6}/spacr.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spacr
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: Spatial phenotype analysis of crisp screens (SpaCr)
5
5
  Home-page: https://github.com/EinarOlafsson/spacr
6
6
  Author: Einar Birnir Olafsson
Binary file
@@ -72,7 +72,7 @@ dependencies = [
72
72
  'huggingface-hub>=0.24.0,<0.25'
73
73
  ]
74
74
 
75
- VERSION = "1.0.5"
75
+ VERSION = "1.0.6"
76
76
 
77
77
  setup(
78
78
  name="spacr",
@@ -92,7 +92,8 @@ setup(
92
92
  'mask=spacr.app_mask:start_mask_app',
93
93
  'measure=spacr.app_measure:start_measure_app',
94
94
  'make_masks=spacr.app_make_masks:gui_make_masks',
95
- 'annotate=spacr.app_annotate:gui_annotate',
95
+ #'annotate=spacr.app_annotate:gui_annotate',
96
+ 'annotate=spacr.app_annotate:start_annotate_app',
96
97
  'classify=spacr.app_classify:start_classify_app',
97
98
  'sim=spacr.app_sim:gui_sim',
98
99
  'spacr=spacr.gui:gui_app',
@@ -11,7 +11,7 @@ def convert_to_number(value):
11
11
  return float(value)
12
12
  except ValueError:
13
13
  raise ValueError(f"Unable to convert '{value}' to an integer or float.")
14
-
14
+
15
15
  def initiate_annotation_app(parent_frame):
16
16
  from .gui_utils import generate_annotate_fields, annotate_app, convert_to_number
17
17
  # Set up the settings window
@@ -238,6 +238,7 @@ def generate_cellpose_masks(src, settings, object_type):
238
238
  model_name = object_settings['model_name']
239
239
 
240
240
  cellpose_channels = _get_cellpose_channels(src, settings['nucleus_channel'], settings['pathogen_channel'], settings['cell_channel'])
241
+
241
242
  if settings['verbose']:
242
243
  print(cellpose_channels)
243
244
 
@@ -1,10 +1,8 @@
1
- import os, torch, time, gc, datetime, cv2
1
+ import os, torch, time, gc, datetime
2
2
  torch.backends.cudnn.benchmark = True
3
-
4
3
  import numpy as np
5
4
  import pandas as pd
6
5
  from torch.optim import Adagrad, AdamW
7
- from torch.autograd import grad
8
6
  from torch.optim.lr_scheduler import StepLR
9
7
  import torch.nn.functional as F
10
8
  import matplotlib.pyplot as plt
@@ -4,6 +4,7 @@ from multiprocessing import set_start_method
4
4
  from .gui_elements import spacrButton, create_menu_bar, set_dark_style
5
5
  from .gui_core import initiate_root
6
6
  from screeninfo import get_monitors
7
+ import webbrowser
7
8
 
8
9
  class MainApp(tk.Tk):
9
10
  def __init__(self, default_app=None):
@@ -22,6 +23,7 @@ class MainApp(tk.Tk):
22
23
  for monitor in get_monitors():
23
24
  if monitor.x <= x < monitor.x + monitor.width and monitor.y <= y < monitor.y + monitor.height:
24
25
  width = monitor.width
26
+ self.width = width
25
27
  height = monitor.height
26
28
  break
27
29
  else:
@@ -42,22 +44,22 @@ class MainApp(tk.Tk):
42
44
  self.main_gui_apps = {
43
45
  "Mask": (lambda frame: initiate_root(self, 'mask'), "Generate cellpose masks for cells, nuclei and pathogen images."),
44
46
  "Measure": (lambda frame: initiate_root(self, 'measure'), "Measure single object intensity and morphological feature. Crop and save single object image"),
45
- "Annotate": (lambda frame: initiate_root(self, 'annotate'), "Annotation single object images on a grid. Annotations are saved to database."),
46
- "Make Masks": (lambda frame: initiate_root(self, 'make_masks'), "Adjust pre-existing Cellpose models to your specific dataset for improved performance"),
47
+ #"Annotate": (lambda frame: initiate_root(self, 'annotate'), "Annotation single object images on a grid. Annotations are saved to database."),
48
+ #"Make Masks": (lambda frame: initiate_root(self, 'make_masks'), "Adjust pre-existing Cellpose models to your specific dataset for improved performance"),
47
49
  "Classify": (lambda frame: initiate_root(self, 'classify'), "Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images."),
48
50
  }
49
51
 
50
52
  self.additional_gui_apps = {
51
- "Umap": (lambda frame: initiate_root(self, 'umap'), "Generate UMAP embeddings with datapoints represented as images."),
52
- "Train Cellpose": (lambda frame: initiate_root(self, 'train_cellpose'), "Train custom Cellpose models."),
53
- "ML Analyze": (lambda frame: initiate_root(self, 'ml_analyze'), "Machine learning analysis of data."),
54
- "Cellpose Masks": (lambda frame: initiate_root(self, 'cellpose_masks'), "Generate Cellpose masks."),
55
- "Cellpose All": (lambda frame: initiate_root(self, 'cellpose_all'), "Run Cellpose on all images."),
53
+ #"Umap": (lambda frame: initiate_root(self, 'umap'), "Generate UMAP embeddings with datapoints represented as images."),
54
+ #"Train Cellpose": (lambda frame: initiate_root(self, 'train_cellpose'), "Train custom Cellpose models."),
55
+ #"ML Analyze": (lambda frame: initiate_root(self, 'ml_analyze'), "Machine learning analysis of data."),
56
+ #"Cellpose Masks": (lambda frame: initiate_root(self, 'cellpose_masks'), "Generate Cellpose masks."),
57
+ #"Cellpose All": (lambda frame: initiate_root(self, 'cellpose_all'), "Run Cellpose on all images."),
56
58
  "Map Barcodes": (lambda frame: initiate_root(self, 'map_barcodes'), "Map barcodes to data."),
57
59
  "Regression": (lambda frame: initiate_root(self, 'regression'), "Perform regression analysis."),
58
- "Recruitment": (lambda frame: initiate_root(self, 'recruitment'), "Analyze recruitment data."),
60
+ #"Recruitment": (lambda frame: initiate_root(self, 'recruitment'), "Analyze recruitment data."),
59
61
  "Activation": (lambda frame: initiate_root(self, 'activation'), "Generate activation maps of computer vision models and measure channel-activation correlation."),
60
- "Plaque": (lambda frame: initiate_root(self, 'analyze_plaques'), "Analyze plaque data.")
62
+ #"Plaque": (lambda frame: initiate_root(self, 'analyze_plaques'), "Analyze plaque data.")
61
63
  }
62
64
 
63
65
  self.selected_app = tk.StringVar()
@@ -88,6 +90,13 @@ class MainApp(tk.Tk):
88
90
  set_dark_style(ttk.Style(), containers=[self.content_frame, self.inner_frame])
89
91
 
90
92
  self.create_startup_screen()
93
+
94
+ def _update_wraplength(self, event):
95
+ if self.description_label.winfo_exists():
96
+ # Use the actual width of the inner_frame as a proxy for full width
97
+ available_width = self.inner_frame.winfo_width()
98
+ if available_width > 0:
99
+ self.description_label.config(wraplength=int(available_width * 0.9)) # or 0.9
91
100
 
92
101
  def create_startup_screen(self):
93
102
  self.clear_frame(self.inner_frame)
@@ -99,18 +108,30 @@ class MainApp(tk.Tk):
99
108
  additional_buttons_frame = tk.Frame(self.inner_frame)
100
109
  additional_buttons_frame.pack(pady=10)
101
110
  set_dark_style(ttk.Style(), containers=[additional_buttons_frame])
102
-
103
- description_frame = tk.Frame(self.inner_frame, height=70)
111
+
112
+ description_frame = tk.Frame(self.inner_frame)
104
113
  description_frame.pack(fill=tk.X, pady=10)
105
- description_frame.pack_propagate(False)
114
+ description_frame.columnconfigure(0, weight=1)
115
+
106
116
  set_dark_style(ttk.Style(), containers=[description_frame])
117
+ style_out = set_dark_style(ttk.Style())
118
+ font_loader = style_out['font_loader']
119
+ font_size = style_out['font_size']
120
+
121
+ self.description_label = tk.Label( description_frame, text="", wraplength=int(self.width * 0.9), justify="center", font=font_loader.get_font(size=font_size), fg=self.color_settings['fg_color'], bg=self.color_settings['bg_color'])
122
+
123
+ # Pack it without expanding
124
+ self.description_label.pack(pady=10)
107
125
 
108
- self.description_label = tk.Label(description_frame, text="", wraplength=800, justify="center", font=('Helvetica', 12), fg=self.color_settings['fg_color'], bg=self.color_settings['bg_color'])
109
- self.description_label.pack(fill=tk.BOTH, pady=10)
110
-
111
- logo_button = spacrButton(main_buttons_frame, text="SpaCr", command=lambda: self.load_app("logo_spacr", initiate_root), icon_name="logo_spacr", size=100, show_text=False)
126
+ # Force character width and center it
127
+ self.description_label.configure(width=int(self.width * 0.5 // 7))
128
+ self.description_label.pack_configure(anchor='center')
129
+
130
+ #logo_button = spacrButton(main_buttons_frame, text="SpaCR", command=lambda: self.load_app("logo_spacr", initiate_root), icon_name="logo_spacr", size=100, show_text=False)
131
+ logo_button = spacrButton(main_buttons_frame,text="SpaCR",command=lambda: webbrowser.open_new("https://einarolafsson.github.io/spacr/tutorial/"),icon_name="logo_spacr",size=100,show_text=False)
132
+
112
133
  logo_button.grid(row=0, column=0, padx=5, pady=5)
113
- self.main_buttons[logo_button] = "SpaCr provides a flexible toolset to extract single-cell images and measurements from high-content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate, and analyze pooled CRISPR-Cas9 imaging screens."
134
+ self.main_buttons[logo_button] = "spaCR provides a flexible toolset to extract single-cell images and measurements from high-content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate, and analyze pooled CRISPR-Cas9 imaging screens. Click to open the spaCR tutorial in your browser."
114
135
 
115
136
  for i, (app_name, app_data) in enumerate(self.main_gui_apps.items()):
116
137
  app_func, app_desc = app_data
@@ -125,6 +146,7 @@ class MainApp(tk.Tk):
125
146
  self.additional_buttons[button] = app_desc
126
147
 
127
148
  self.update_description()
149
+ self.inner_frame.bind("<Configure>", self._update_wraplength)
128
150
 
129
151
  def update_description(self):
130
152
  for button, desc in {**self.main_buttons, **self.additional_buttons}.items():
@@ -50,18 +50,18 @@ def create_menu_bar(root):
50
50
  gui_apps = {
51
51
  "Mask": lambda: initiate_root(root, settings_type='mask'),
52
52
  "Measure": lambda: initiate_root(root, settings_type='measure'),
53
- "Annotate": lambda: initiate_root(root, settings_type='annotate'),
54
- "Make Masks": lambda: initiate_root(root, settings_type='make_masks'),
53
+ "Annotate (Beta)": lambda: initiate_root(root, settings_type='annotate'),
54
+ #"Make Masks": lambda: initiate_root(root, settings_type='make_masks'),
55
55
  "Classify": lambda: initiate_root(root, settings_type='classify'),
56
- "Umap": lambda: initiate_root(root, settings_type='umap'),
57
- "Train Cellpose": lambda: initiate_root(root, settings_type='train_cellpose'),
56
+ #"Umap": lambda: initiate_root(root, settings_type='umap'),
57
+ #"Train Cellpose": lambda: initiate_root(root, settings_type='train_cellpose'),
58
58
  "ML Analyze": lambda: initiate_root(root, settings_type='ml_analyze'),
59
- "Cellpose Masks": lambda: initiate_root(root, settings_type='cellpose_masks'),
60
- "Cellpose All": lambda: initiate_root(root, settings_type='cellpose_all'),
59
+ #"Cellpose Masks": lambda: initiate_root(root, settings_type='cellpose_masks'),
60
+ #"Cellpose All": lambda: initiate_root(root, settings_type='cellpose_all'),
61
61
  "Map Barcodes": lambda: initiate_root(root, settings_type='map_barcodes'),
62
62
  "Regression": lambda: initiate_root(root, settings_type='regression'),
63
63
  "Activation": lambda: initiate_root(root, settings_type='activation'),
64
- "Recruitment": lambda: initiate_root(root, settings_type='recruitment')
64
+ "Recruitment (Beta)": lambda: initiate_root(root, settings_type='recruitment')
65
65
  }
66
66
 
67
67
  # Create the menu bar
@@ -1,4 +1,4 @@
1
- import os, re, sqlite3, gc, torch, time, random, shutil, cv2, tarfile, cellpose, glob, queue, tifffile, czifile, atexit, datetime
1
+ import os, re, sqlite3, gc, torch, time, random, shutil, cv2, tarfile, cellpose, glob, queue, tifffile, czifile, atexit, datetime, readlif
2
2
  import numpy as np
3
3
  import pandas as pd
4
4
  from PIL import Image, ImageOps
@@ -22,7 +22,6 @@ import seaborn as sns
22
22
  from nd2reader import ND2Reader
23
23
  from torchvision import transforms
24
24
  from sklearn.model_selection import train_test_split
25
- import readlif
26
25
  from pylibCZIrw import czi as pyczi
27
26
 
28
27
  def process_non_tif_non_2D_images(folder):
@@ -1133,6 +1132,7 @@ def _normalize_img_batch(stack, channels, save_dtype, settings):
1133
1132
 
1134
1133
  def concatenate_and_normalize(src, channels, save_dtype=np.float32, settings={}):
1135
1134
  from .utils import print_progress
1135
+ from .plot import plot_arrays
1136
1136
 
1137
1137
  """
1138
1138
  Concatenates and normalizes channel data from multiple files and saves the normalized data.
@@ -1155,6 +1155,8 @@ def concatenate_and_normalize(src, channels, save_dtype=np.float32, settings={})
1155
1155
  """
1156
1156
 
1157
1157
  channels = [item for item in channels if item is not None]
1158
+
1159
+ print(f"Generating concatenated and normalized channel data for channels: {channels}")
1158
1160
 
1159
1161
  paths = []
1160
1162
  time_ls = []
@@ -1175,7 +1177,7 @@ def concatenate_and_normalize(src, channels, save_dtype=np.float32, settings={})
1175
1177
  name = parts[0] + '_' + parts[1] + '_' + parts[2]
1176
1178
  array = np.load(path)
1177
1179
  stack_region.append(array)
1178
- filenames_region.append(os.path.basename(path))
1180
+ filenames_region.append(os.path.basename(path))
1179
1181
  stop = time.time()
1180
1182
  duration = stop - start
1181
1183
  time_ls.append(duration)
@@ -1193,6 +1195,10 @@ def concatenate_and_normalize(src, channels, save_dtype=np.float32, settings={})
1193
1195
 
1194
1196
  save_loc = os.path.join(output_fldr, f'{name}_norm_timelapse.npz')
1195
1197
  np.savez(save_loc, data=normalized_stack, filenames=filenames_region)
1198
+
1199
+ if i == 0:
1200
+ plot_arrays(save_loc, settings['figuresize'], settings['cmap'], nr=settings['nr'], normalize=False)
1201
+
1196
1202
  print(save_loc)
1197
1203
  del stack, normalized_stack
1198
1204
  except Exception as e:
@@ -1250,7 +1256,11 @@ def concatenate_and_normalize(src, channels, save_dtype=np.float32, settings={})
1250
1256
  normalized_stack = normalized_stack[..., channels]
1251
1257
 
1252
1258
  save_loc = os.path.join(output_fldr, f'stack_{batch_index}_norm.npz')
1253
- np.savez(save_loc, data=normalized_stack, filenames=filenames_batch)
1259
+ np.savez(save_loc, data=normalized_stack, filenames=filenames_batch)
1260
+ if batch_index == 0:
1261
+ print(f"plotting: {save_loc}")
1262
+ plot_arrays(save_loc, settings['figuresize'], settings['cmap'], nr=settings['nr'], normalize=False)
1263
+
1254
1264
  batch_index += 1
1255
1265
  del stack, normalized_stack
1256
1266
  stack_ls = []
@@ -760,7 +760,63 @@ def _filter_objects_in_plot(stack, cell_mask_dim, nucleus_mask_dim, pathogen_mas
760
760
 
761
761
  return stack
762
762
 
763
+
763
764
  def plot_arrays(src, figuresize=10, cmap='inferno', nr=1, normalize=True, q1=1, q2=99):
765
+ """
766
+ Plot randomly selected arrays from a given directory or a single .npz/.npy file.
767
+
768
+ Parameters:
769
+ - src (str): The directory path or file path containing the arrays.
770
+ - figuresize (int): The size of the figure (default: 10).
771
+ - cmap (str): The colormap to use for displaying the arrays (default: 'inferno').
772
+ - nr (int): The number of arrays to plot (default: 1).
773
+ - normalize (bool): Whether to normalize the arrays (default: True).
774
+ - q1 (int): The lower percentile for normalization (default: 1).
775
+ - q2 (int): The upper percentile for normalization (default: 99).
776
+ """
777
+ from .utils import normalize_to_dtype
778
+
779
+ mask_cmap = random_cmap()
780
+ paths = []
781
+
782
+ if src.endswith('.npz') or src.endswith('.npy'):
783
+ paths = [src]
784
+ else:
785
+ paths = [os.path.join(src, f) for f in os.listdir(src) if f.endswith(('.npy', '.npz'))]
786
+ paths = random.sample(paths, min(nr, len(paths)))
787
+
788
+ for path in paths:
789
+ print(f'Image path: {path}')
790
+ if path.endswith('.npz'):
791
+ with np.load(path) as data:
792
+ key = list(data.keys())[0] # assume first key
793
+ img = data[key][0] # get first image in batch
794
+ else:
795
+ img = np.load(path)
796
+
797
+ if normalize:
798
+ img = normalize_to_dtype(array=img, p1=q1, p2=q2)
799
+
800
+ if img.ndim == 3:
801
+ array_nr = img.shape[2]
802
+ fig, axs = plt.subplots(1, array_nr, figsize=(figuresize, figuresize))
803
+ if array_nr == 1:
804
+ axs = [axs] # ensure iterable
805
+ for channel in range(array_nr):
806
+ i = img[:, :, channel]
807
+ axs[channel].imshow(i, cmap=plt.get_cmap(cmap))
808
+ axs[channel].set_title(f'Channel {channel}', size=24)
809
+ axs[channel].axis('off')
810
+ else:
811
+ fig, ax = plt.subplots(1, 1, figsize=(figuresize, figuresize))
812
+ ax.imshow(img, cmap=plt.get_cmap(cmap))
813
+ ax.set_title('Channel 0', size=24)
814
+ ax.axis('off')
815
+
816
+ fig.tight_layout()
817
+ plt.show()
818
+
819
+ def plot_arrays_v1(src, figuresize=10, cmap='inferno', nr=1, normalize=True, q1=1, q2=99):
764
820
  """
765
821
  Plot randomly selected arrays from a given directory.
766
822
 
@@ -780,6 +836,7 @@ def plot_arrays(src, figuresize=10, cmap='inferno', nr=1, normalize=True, q1=1,
780
836
 
781
837
  mask_cmap = random_cmap()
782
838
  paths = []
839
+
783
840
  for file in os.listdir(src):
784
841
  if file.endswith('.npy'):
785
842
  path = os.path.join(src, file)