spacr 0.3.35__tar.gz → 0.3.36__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 (278) hide show
  1. {spacr-0.3.35/spacr.egg-info → spacr-0.3.36}/PKG-INFO +1 -1
  2. {spacr-0.3.35 → spacr-0.3.36}/setup.py +1 -1
  3. {spacr-0.3.35 → spacr-0.3.36}/spacr/utils.py +29 -6
  4. {spacr-0.3.35 → spacr-0.3.36/spacr.egg-info}/PKG-INFO +1 -1
  5. {spacr-0.3.35 → spacr-0.3.36}/.readthedocs.yaml +0 -0
  6. {spacr-0.3.35 → spacr-0.3.36}/LICENSE +0 -0
  7. {spacr-0.3.35 → spacr-0.3.36}/MANIFEST.in +0 -0
  8. {spacr-0.3.35 → spacr-0.3.36}/README.rst +0 -0
  9. {spacr-0.3.35 → spacr-0.3.36}/deploy_docs.sh +0 -0
  10. {spacr-0.3.35 → spacr-0.3.36}/docs/requirements.txt +0 -0
  11. {spacr-0.3.35 → spacr-0.3.36}/docs/source/Makefile +0 -0
  12. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/doctrees/environment.pickle +0 -0
  13. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/index.html +0 -0
  14. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_annotate.html +0 -0
  15. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_classify.html +0 -0
  16. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_make_masks.html +0 -0
  17. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_mask.html +0 -0
  18. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_measure.html +0 -0
  19. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_sequencing.html +0 -0
  20. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/app_umap.html +0 -0
  21. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/core.html +0 -0
  22. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/deep_spacr.html +0 -0
  23. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/graph_learning.html +0 -0
  24. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/gui.html +0 -0
  25. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/gui_core.html +0 -0
  26. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/gui_elements.html +0 -0
  27. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/gui_utils.html +0 -0
  28. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/io.html +0 -0
  29. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/logger.html +0 -0
  30. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/measure.html +0 -0
  31. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/plot.html +0 -0
  32. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/sequencing.html +0 -0
  33. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/settings.html +0 -0
  34. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/sim.html +0 -0
  35. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/timelapse.html +0 -0
  36. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_modules/spacr/utils.html +0 -0
  37. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_sources/index.rst.txt +0 -0
  38. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_sources/modules.rst.txt +0 -0
  39. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_sources/spacr.rst.txt +0 -0
  40. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  41. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/basic.css +0 -0
  42. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/badge_only.css +0 -0
  43. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  44. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  45. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  46. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  47. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  48. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  49. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  50. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  51. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  52. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  53. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  54. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  55. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  56. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  57. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  58. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  59. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  60. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/css/theme.css +0 -0
  61. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/doctools.js +0 -0
  62. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/documentation_options.js +0 -0
  63. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/file.png +0 -0
  64. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/jquery.js +0 -0
  65. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/js/badge_only.js +0 -0
  66. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/js/html5shiv-printshiv.min.js +0 -0
  67. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/js/html5shiv.min.js +0 -0
  68. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/js/theme.js +0 -0
  69. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/language_data.js +0 -0
  70. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/minus.png +0 -0
  71. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/plus.png +0 -0
  72. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/pygments.css +0 -0
  73. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/searchtools.js +0 -0
  74. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/_static/sphinx_highlight.js +0 -0
  75. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/genindex.html +0 -0
  76. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/index.html +0 -0
  77. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/modules.html +0 -0
  78. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/objects.inv +0 -0
  79. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/py-modindex.html +0 -0
  80. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/search.html +0 -0
  81. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/searchindex.js +0 -0
  82. {spacr-0.3.35 → spacr-0.3.36}/docs/source/_build/html/spacr.html +0 -0
  83. {spacr-0.3.35 → spacr-0.3.36}/docs/source/conf.py +0 -0
  84. {spacr-0.3.35 → spacr-0.3.36}/docs/source/index.rst +0 -0
  85. {spacr-0.3.35 → spacr-0.3.36}/docs/source/make.bat +0 -0
  86. {spacr-0.3.35 → spacr-0.3.36}/docs/source/modules.rst +0 -0
  87. {spacr-0.3.35 → spacr-0.3.36}/docs/source/spacr.rst +0 -0
  88. {spacr-0.3.35 → spacr-0.3.36}/environment.yaml +0 -0
  89. {spacr-0.3.35 → spacr-0.3.36}/fonts/OpenSans-Regular.ttf +0 -0
  90. {spacr-0.3.35 → spacr-0.3.36}/notebooks/cv_scoring_nb.ipynb +0 -0
  91. {spacr-0.3.35 → spacr-0.3.36}/notebooks/deep_learning_spacr.ipynb +0 -0
  92. {spacr-0.3.35 → spacr-0.3.36}/notebooks/machine_learning_spacr_nb.ipynb +0 -0
  93. {spacr-0.3.35 → spacr-0.3.36}/notebooks/spacr_0.1_all_settings_git.ipynb +0 -0
  94. {spacr-0.3.35 → spacr-0.3.36}/notebooks/spacr_0.1_minimal.ipynb +0 -0
  95. {spacr-0.3.35 → spacr-0.3.36}/path/home/carruthers/datasets/plate1/measurements/measurements.db +0 -0
  96. {spacr-0.3.35 → spacr-0.3.36}/path/home/carruthers/datasets/plate1/settings/measure_crop_settings.csv +0 -0
  97. {spacr-0.3.35 → spacr-0.3.36}/path/settings/preprocess_generate_masks_settings.csv +0 -0
  98. {spacr-0.3.35 → spacr-0.3.36}/requirements.txt +0 -0
  99. {spacr-0.3.35 → spacr-0.3.36}/settings/measure_crop_settings.csv +0 -0
  100. {spacr-0.3.35 → spacr-0.3.36}/setup.cfg +0 -0
  101. {spacr-0.3.35 → spacr-0.3.36}/setup_docs.sh +0 -0
  102. {spacr-0.3.35 → spacr-0.3.36}/source/conf.py +0 -0
  103. {spacr-0.3.35 → spacr-0.3.36}/source/index.rst +0 -0
  104. {spacr-0.3.35 → spacr-0.3.36}/source/modules.rst +0 -0
  105. {spacr-0.3.35 → spacr-0.3.36}/source/setup.rst +0 -0
  106. {spacr-0.3.35 → spacr-0.3.36}/source/spacr.rst +0 -0
  107. {spacr-0.3.35 → spacr-0.3.36}/spacr/__init__.py +0 -0
  108. {spacr-0.3.35 → spacr-0.3.36}/spacr/__main__.py +0 -0
  109. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_annotate.py +0 -0
  110. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_classify.py +0 -0
  111. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_make_masks.py +0 -0
  112. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_mask.py +0 -0
  113. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_measure.py +0 -0
  114. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_sequencing.py +0 -0
  115. {spacr-0.3.35 → spacr-0.3.36}/spacr/app_umap.py +0 -0
  116. {spacr-0.3.35 → spacr-0.3.36}/spacr/cellpose.py +0 -0
  117. {spacr-0.3.35 → spacr-0.3.36}/spacr/core.py +0 -0
  118. {spacr-0.3.35 → spacr-0.3.36}/spacr/deep_spacr.py +0 -0
  119. {spacr-0.3.35 → spacr-0.3.36}/spacr/gui.py +0 -0
  120. {spacr-0.3.35 → spacr-0.3.36}/spacr/gui_core.py +0 -0
  121. {spacr-0.3.35 → spacr-0.3.36}/spacr/gui_elements.py +0 -0
  122. {spacr-0.3.35 → spacr-0.3.36}/spacr/gui_utils.py +0 -0
  123. {spacr-0.3.35 → spacr-0.3.36}/spacr/io.py +0 -0
  124. {spacr-0.3.35 → spacr-0.3.36}/spacr/logger.py +0 -0
  125. {spacr-0.3.35 → spacr-0.3.36}/spacr/measure.py +0 -0
  126. {spacr-0.3.35 → spacr-0.3.36}/spacr/mediar.py +0 -0
  127. {spacr-0.3.35 → spacr-0.3.36}/spacr/ml.py +0 -0
  128. {spacr-0.3.35 → spacr-0.3.36}/spacr/openai.py +0 -0
  129. {spacr-0.3.35 → spacr-0.3.36}/spacr/plot.py +0 -0
  130. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/.gitignore +0 -0
  131. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/LICENSE +0 -0
  132. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/README.md +0 -0
  133. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/SetupDict.py +0 -0
  134. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/baseline.json +0 -0
  135. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/mediar_example.json +0 -0
  136. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/pred/pred_mediar.json +0 -0
  137. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step1_pretraining/phase1.json +0 -0
  138. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step1_pretraining/phase2.json +0 -0
  139. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step2_finetuning/finetuning1.json +0 -0
  140. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step2_finetuning/finetuning2.json +0 -0
  141. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step3_prediction/base_prediction.json +0 -0
  142. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/config/step3_prediction/ensemble_tta.json +0 -0
  143. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/BasePredictor.py +0 -0
  144. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/BaseTrainer.py +0 -0
  145. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/Baseline/Predictor.py +0 -0
  146. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/Baseline/Trainer.py +0 -0
  147. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/Baseline/__init__.py +0 -0
  148. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/Baseline/utils.py +0 -0
  149. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/MEDIAR/EnsemblePredictor.py +0 -0
  150. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/MEDIAR/Predictor.py +0 -0
  151. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/MEDIAR/Trainer.py +0 -0
  152. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/MEDIAR/__init__.py +0 -0
  153. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/MEDIAR/utils.py +0 -0
  154. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/__init__.py +0 -0
  155. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/core/utils.py +0 -0
  156. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/evaluate.py +0 -0
  157. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/generate_mapping.py +0 -0
  158. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/examples/img1.tiff +0 -0
  159. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/examples/img2.tif +0 -0
  160. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/failure_cases.png +0 -0
  161. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/mediar_framework.png +0 -0
  162. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/mediar_model.PNG +0 -0
  163. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/image/mediar_results.png +0 -0
  164. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/main.py +0 -0
  165. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/predict.py +0 -0
  166. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/requirements.txt +0 -0
  167. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/__init__.py +0 -0
  168. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/__init__.py +0 -0
  169. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/custom/CellAware.py +0 -0
  170. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/custom/LoadImage.py +0 -0
  171. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/custom/NormalizeImage.py +0 -0
  172. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/custom/__init__.py +0 -0
  173. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/custom/modalities.pkl +0 -0
  174. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/datasetter.py +0 -0
  175. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/transforms.py +0 -0
  176. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/data_utils/utils.py +0 -0
  177. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/measures.py +0 -0
  178. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/models/MEDIARFormer.py +0 -0
  179. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/models/__init__.py +0 -0
  180. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/MEDIAR/train_tools/utils.py +0 -0
  181. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/data/lopit.csv +0 -0
  182. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/data/toxoplasma_metadata.csv +0 -0
  183. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/OFL.txt +0 -0
  184. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  185. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
  186. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/README.txt +0 -0
  187. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-Bold.ttf +0 -0
  188. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-BoldItalic.ttf +0 -0
  189. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-ExtraBold.ttf +0 -0
  190. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf +0 -0
  191. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-Italic.ttf +0 -0
  192. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-Light.ttf +0 -0
  193. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-LightItalic.ttf +0 -0
  194. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-Medium.ttf +0 -0
  195. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-MediumItalic.ttf +0 -0
  196. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-Regular.ttf +0 -0
  197. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-SemiBold.ttf +0 -0
  198. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf +0 -0
  199. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf +0 -0
  200. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf +0 -0
  201. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf +0 -0
  202. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
  203. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf +0 -0
  204. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf +0 -0
  205. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf +0 -0
  206. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf +0 -0
  207. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf +0 -0
  208. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf +0 -0
  209. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf +0 -0
  210. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
  211. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf +0 -0
  212. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
  213. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
  214. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
  215. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf +0 -0
  216. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf +0 -0
  217. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
  218. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf +0 -0
  219. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
  220. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf +0 -0
  221. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
  222. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
  223. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/abort.png +0 -0
  224. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/annotate.png +0 -0
  225. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/cellpose_all.png +0 -0
  226. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/cellpose_masks.png +0 -0
  227. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/classify.png +0 -0
  228. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/convert.png +0 -0
  229. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/default.png +0 -0
  230. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/dna_matrix.mp4 +0 -0
  231. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/download.png +0 -0
  232. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/logo.pdf +0 -0
  233. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/logo_spacr.png +0 -0
  234. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/logo_spacr_1.png +0 -0
  235. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/make_masks.png +0 -0
  236. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/map_barcodes.png +0 -0
  237. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/mask.png +0 -0
  238. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/measure.png +0 -0
  239. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/ml_analyze.png +0 -0
  240. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/plaque.png +0 -0
  241. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/recruitment.png +0 -0
  242. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/regression.png +0 -0
  243. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/run.png +0 -0
  244. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/sequencing.png +0 -0
  245. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/settings.png +0 -0
  246. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/train_cellpose.png +0 -0
  247. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/icons/umap.png +0 -0
  248. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/images/plate1_E01_T0001F001L01A01Z01C02.tif +0 -0
  249. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/images/plate1_E01_T0001F001L01A02Z01C01.tif +0 -0
  250. {spacr-0.3.35 → spacr-0.3.36}/spacr/resources/images/plate1_E01_T0001F001L01A03Z01C03.tif +0 -0
  251. {spacr-0.3.35 → spacr-0.3.36}/spacr/sequencing.py +0 -0
  252. {spacr-0.3.35 → spacr-0.3.36}/spacr/settings.py +0 -0
  253. {spacr-0.3.35 → spacr-0.3.36}/spacr/sim.py +0 -0
  254. {spacr-0.3.35 → spacr-0.3.36}/spacr/submodules.py +0 -0
  255. {spacr-0.3.35 → spacr-0.3.36}/spacr/timelapse.py +0 -0
  256. {spacr-0.3.35 → spacr-0.3.36}/spacr/toxo.py +0 -0
  257. {spacr-0.3.35 → spacr-0.3.36}/spacr/version.py +0 -0
  258. {spacr-0.3.35 → spacr-0.3.36}/spacr.egg-info/SOURCES.txt +0 -0
  259. {spacr-0.3.35 → spacr-0.3.36}/spacr.egg-info/dependency_links.txt +0 -0
  260. {spacr-0.3.35 → spacr-0.3.36}/spacr.egg-info/entry_points.txt +0 -0
  261. {spacr-0.3.35 → spacr-0.3.36}/spacr.egg-info/requires.txt +0 -0
  262. {spacr-0.3.35 → spacr-0.3.36}/spacr.egg-info/top_level.txt +0 -0
  263. {spacr-0.3.35 → spacr-0.3.36}/tests/test_annotate_app.py +0 -0
  264. {spacr-0.3.35 → spacr-0.3.36}/tests/test_core.py +0 -0
  265. {spacr-0.3.35 → spacr-0.3.36}/tests/test_gui_classify_app.py +0 -0
  266. {spacr-0.3.35 → spacr-0.3.36}/tests/test_gui_mask_app.py +0 -0
  267. {spacr-0.3.35 → spacr-0.3.36}/tests/test_gui_measure_app.py +0 -0
  268. {spacr-0.3.35 → spacr-0.3.36}/tests/test_gui_sim_app.py +0 -0
  269. {spacr-0.3.35 → spacr-0.3.36}/tests/test_gui_utils.py +0 -0
  270. {spacr-0.3.35 → spacr-0.3.36}/tests/test_io.py +0 -0
  271. {spacr-0.3.35 → spacr-0.3.36}/tests/test_mask_app.py +0 -0
  272. {spacr-0.3.35 → spacr-0.3.36}/tests/test_measure.py +0 -0
  273. {spacr-0.3.35 → spacr-0.3.36}/tests/test_plot.py +0 -0
  274. {spacr-0.3.35 → spacr-0.3.36}/tests/test_sim.py +0 -0
  275. {spacr-0.3.35 → spacr-0.3.36}/tests/test_timelapse.py +0 -0
  276. {spacr-0.3.35 → spacr-0.3.36}/tests/test_train.py +0 -0
  277. {spacr-0.3.35 → spacr-0.3.36}/tests/test_umap.py +0 -0
  278. {spacr-0.3.35 → spacr-0.3.36}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spacr
3
- Version: 0.3.35
3
+ Version: 0.3.36
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
@@ -67,7 +67,7 @@ dependencies = [
67
67
 
68
68
  setup(
69
69
  name="spacr",
70
- version="0.3.35",
70
+ version="0.3.36",
71
71
  author="Einar Birnir Olafsson",
72
72
  author_email="olafsson@med.umich.com",
73
73
  description="Spatial phenotype analysis of crisp screens (SpaCr)",
@@ -5045,14 +5045,15 @@ def generate_cytoplasm_mask(nucleus_mask, cell_mask):
5045
5045
 
5046
5046
  def add_column_to_database(settings):
5047
5047
  """
5048
- Updates a column in the database by matching on a common column from the DataFrame.
5049
-
5048
+ Adds a new column to the database table by matching on a common column from the DataFrame.
5049
+ If the column already exists in the database, it adds the column with a suffix.
5050
+
5050
5051
  Parameters:
5051
5052
  - settings: A dictionary containing the following keys:
5052
5053
  - 'csv_path': Path to the CSV file with the data to be added.
5053
5054
  - 'db_path': Path to the SQLite database (or connection string for other databases).
5054
5055
  - 'table_name': The name of the table in the database.
5055
- - 'update_column': The column to update in the database.
5056
+ - 'update_column': The name of the new column in the DataFrame to add to the database.
5056
5057
  - 'match_column': The common column used to match rows.
5057
5058
  """
5058
5059
 
@@ -5063,7 +5064,28 @@ def add_column_to_database(settings):
5063
5064
  conn = sqlite3.connect(settings['db_path'])
5064
5065
  cursor = conn.cursor()
5065
5066
 
5066
- # Iterate over the DataFrame and update the database
5067
+ # Get the existing columns in the database table
5068
+ cursor.execute(f"PRAGMA table_info({settings['table_name']})")
5069
+ columns_in_db = [col[1] for col in cursor.fetchall()]
5070
+
5071
+ # Check if the update column already exists in the database
5072
+ if settings['update_column'] in columns_in_db:
5073
+ # Add a suffix to the column name (e.g., '_new', '_1', or similar)
5074
+ suffix = 1
5075
+ new_column_name = f"{settings['update_column']}_{suffix}"
5076
+ # Ensure uniqueness by incrementing the suffix if needed
5077
+ while new_column_name in columns_in_db:
5078
+ suffix += 1
5079
+ new_column_name = f"{settings['update_column']}_{suffix}"
5080
+ print(f"Column '{settings['update_column']}' already exists. Using new column name: '{new_column_name}'")
5081
+ else:
5082
+ new_column_name = settings['update_column']
5083
+
5084
+ # Add the new column to the database table
5085
+ cursor.execute(f"ALTER TABLE {settings['table_name']} ADD COLUMN {new_column_name} TEXT")
5086
+ print(f"Added new column '{new_column_name}' to the table '{settings['table_name']}'.")
5087
+
5088
+ # Iterate over the DataFrame and update the new column in the database
5067
5089
  for index, row in df.iterrows():
5068
5090
  value_to_update = row[settings['update_column']]
5069
5091
  match_value = row[settings['match_column']]
@@ -5071,7 +5093,7 @@ def add_column_to_database(settings):
5071
5093
  # Prepare and execute the SQL update query
5072
5094
  query = f"""
5073
5095
  UPDATE {settings['table_name']}
5074
- SET {settings['update_column']} = ?
5096
+ SET {new_column_name} = ?
5075
5097
  WHERE {settings['match_column']} = ?
5076
5098
  """
5077
5099
  cursor.execute(query, (value_to_update, match_value))
@@ -5080,6 +5102,7 @@ def add_column_to_database(settings):
5080
5102
  conn.commit()
5081
5103
  conn.close()
5082
5104
 
5083
- print(f"Updated '{settings['update_column']}' in '{settings['table_name']}' using '{settings['match_column']}'.")
5105
+ print(f"Updated '{new_column_name}' in '{settings['table_name']}' using '{settings['match_column']}'.")
5106
+
5084
5107
 
5085
5108
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spacr
3
- Version: 0.3.35
3
+ Version: 0.3.36
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes