celldetective 1.3.9.post3__tar.gz → 1.5.0b8__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 (277) hide show
  1. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/PKG-INFO +39 -22
  2. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/README.md +22 -17
  3. celldetective-1.5.0b8/celldetective/__init__.py +26 -0
  4. celldetective-1.5.0b8/celldetective/__main__.py +85 -0
  5. celldetective-1.5.0b8/celldetective/_version.py +1 -0
  6. celldetective-1.5.0b8/celldetective/event_detection_models.py +2463 -0
  7. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/events.py +2 -4
  8. celldetective-1.5.0b8/celldetective/exceptions.py +11 -0
  9. celldetective-1.5.0b8/celldetective/extra_properties.py +647 -0
  10. celldetective-1.5.0b8/celldetective/filters.py +250 -0
  11. celldetective-1.5.0b8/celldetective/gui/InitWindow.py +594 -0
  12. {celldetective-1.3.9.post3/tests → celldetective-1.5.0b8/celldetective/gui}/__init__.py +0 -0
  13. celldetective-1.5.0b8/celldetective/gui/about.py +53 -0
  14. celldetective-1.5.0b8/celldetective/gui/analyze_block.py +132 -0
  15. celldetective-1.5.0b8/celldetective/gui/base/channel_norm_generator.py +351 -0
  16. celldetective-1.5.0b8/celldetective/gui/base/components.py +270 -0
  17. celldetective-1.5.0b8/celldetective/gui/base/feature_choice.py +92 -0
  18. celldetective-1.5.0b8/celldetective/gui/base/figure_canvas.py +66 -0
  19. celldetective-1.5.0b8/celldetective/gui/base/list_widget.py +133 -0
  20. {celldetective-1.3.9.post3/celldetective/gui → celldetective-1.5.0b8/celldetective/gui/base}/styles.py +92 -35
  21. celldetective-1.5.0b8/celldetective/gui/base/utils.py +33 -0
  22. celldetective-1.5.0b8/celldetective/gui/base_annotator.py +927 -0
  23. celldetective-1.5.0b8/celldetective/gui/classifier_widget.py +656 -0
  24. celldetective-1.5.0b8/celldetective/gui/configure_new_exp.py +798 -0
  25. celldetective-1.5.0b8/celldetective/gui/control_panel.py +655 -0
  26. celldetective-1.5.0b8/celldetective/gui/dynamic_progress.py +449 -0
  27. celldetective-1.5.0b8/celldetective/gui/event_annotator.py +1147 -0
  28. celldetective-1.5.0b8/celldetective/gui/generic_signal_plot.py +1316 -0
  29. celldetective-1.5.0b8/celldetective/gui/gui_utils.py +992 -0
  30. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/neighborhood.json +2 -2
  31. celldetective-1.5.0b8/celldetective/gui/interactions_block.py +688 -0
  32. celldetective-1.5.0b8/celldetective/gui/interactive_timeseries_viewer.py +457 -0
  33. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/json_readers.py +51 -17
  34. celldetective-1.5.0b8/celldetective/gui/layouts/__init__.py +5 -0
  35. celldetective-1.5.0b8/celldetective/gui/layouts/background_model_free_layout.py +537 -0
  36. celldetective-1.5.0b8/celldetective/gui/layouts/channel_offset_layout.py +134 -0
  37. celldetective-1.5.0b8/celldetective/gui/layouts/local_correction_layout.py +91 -0
  38. celldetective-1.5.0b8/celldetective/gui/layouts/model_fit_layout.py +372 -0
  39. celldetective-1.5.0b8/celldetective/gui/layouts/operation_layout.py +68 -0
  40. celldetective-1.5.0b8/celldetective/gui/layouts/protocol_designer_layout.py +96 -0
  41. celldetective-1.5.0b8/celldetective/gui/measure_annotator.py +1064 -0
  42. celldetective-1.5.0b8/celldetective/gui/pair_event_annotator.py +3277 -0
  43. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/plot_measurements.py +602 -281
  44. celldetective-1.5.0b8/celldetective/gui/plot_signals_ui.py +744 -0
  45. celldetective-1.5.0b8/celldetective/gui/preprocessing_block.py +395 -0
  46. celldetective-1.5.0b8/celldetective/gui/process_block.py +1921 -0
  47. celldetective-1.5.0b8/celldetective/gui/seg_model_loader.py +592 -0
  48. celldetective-1.5.0b8/celldetective/gui/settings/_cellpose_model_params.py +181 -0
  49. celldetective-1.5.0b8/celldetective/gui/settings/_event_detection_model_params.py +95 -0
  50. celldetective-1.5.0b8/celldetective/gui/settings/_segmentation_model_params.py +159 -0
  51. celldetective-1.5.0b8/celldetective/gui/settings/_settings_base.py +82 -0
  52. celldetective-1.5.0b8/celldetective/gui/settings/_settings_event_model_training.py +788 -0
  53. celldetective-1.5.0b8/celldetective/gui/settings/_settings_measurements.py +1158 -0
  54. celldetective-1.5.0b8/celldetective/gui/settings/_settings_neighborhood.py +585 -0
  55. celldetective-1.5.0b8/celldetective/gui/settings/_settings_segmentation.py +49 -0
  56. celldetective-1.5.0b8/celldetective/gui/settings/_settings_segmentation_model_training.py +801 -0
  57. celldetective-1.5.0b8/celldetective/gui/settings/_settings_signal_annotator.py +324 -0
  58. celldetective-1.5.0b8/celldetective/gui/settings/_settings_tracking.py +1333 -0
  59. celldetective-1.5.0b8/celldetective/gui/settings/_stardist_model_params.py +98 -0
  60. celldetective-1.5.0b8/celldetective/gui/survival_ui.py +439 -0
  61. celldetective-1.5.0b8/celldetective/gui/tableUI.py +1706 -0
  62. celldetective-1.5.0b8/celldetective/gui/table_ops/_maths.py +295 -0
  63. celldetective-1.5.0b8/celldetective/gui/table_ops/_merge_groups.py +140 -0
  64. celldetective-1.5.0b8/celldetective/gui/table_ops/_merge_one_hot.py +95 -0
  65. celldetective-1.5.0b8/celldetective/gui/table_ops/_query_table.py +43 -0
  66. celldetective-1.5.0b8/celldetective/gui/table_ops/_rename_col.py +44 -0
  67. celldetective-1.5.0b8/celldetective/gui/thresholds_gui.py +917 -0
  68. celldetective-1.5.0b8/celldetective/gui/viewers/base_viewer.py +889 -0
  69. celldetective-1.5.0b8/celldetective/gui/viewers/channel_offset_viewer.py +445 -0
  70. celldetective-1.5.0b8/celldetective/gui/viewers/contour_viewer.py +394 -0
  71. celldetective-1.5.0b8/celldetective/gui/viewers/size_viewer.py +153 -0
  72. celldetective-1.5.0b8/celldetective/gui/viewers/spot_detection_viewer.py +341 -0
  73. celldetective-1.5.0b8/celldetective/gui/viewers/threshold_viewer.py +317 -0
  74. celldetective-1.5.0b8/celldetective/gui/workers.py +432 -0
  75. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/links/zenodo.json +145 -144
  76. celldetective-1.5.0b8/celldetective/log_manager.py +92 -0
  77. celldetective-1.5.0b8/celldetective/measure.py +1924 -0
  78. celldetective-1.5.0b8/celldetective/models/segmentation_effectors/blank +0 -0
  79. celldetective-1.5.0b8/celldetective/models/segmentation_generic/blank +0 -0
  80. celldetective-1.5.0b8/celldetective/models/segmentation_targets/blank +0 -0
  81. celldetective-1.5.0b8/celldetective/models/signal_detection/blank +0 -0
  82. celldetective-1.5.0b8/celldetective/napari/__init__.py +0 -0
  83. celldetective-1.5.0b8/celldetective/napari/utils.py +1035 -0
  84. celldetective-1.5.0b8/celldetective/neighborhood.py +1949 -0
  85. celldetective-1.5.0b8/celldetective/preprocessing.py +1643 -0
  86. celldetective-1.5.0b8/celldetective/processes/__init__.py +0 -0
  87. celldetective-1.5.0b8/celldetective/processes/background_correction.py +271 -0
  88. celldetective-1.5.0b8/celldetective/processes/compute_neighborhood.py +894 -0
  89. celldetective-1.5.0b8/celldetective/processes/detect_events.py +246 -0
  90. celldetective-1.5.0b8/celldetective/processes/downloader.py +137 -0
  91. celldetective-1.5.0b8/celldetective/processes/load_table.py +55 -0
  92. celldetective-1.5.0b8/celldetective/processes/measure_cells.py +591 -0
  93. celldetective-1.5.0b8/celldetective/processes/segment_cells.py +760 -0
  94. celldetective-1.5.0b8/celldetective/processes/track_cells.py +435 -0
  95. celldetective-1.5.0b8/celldetective/processes/train_segmentation_model.py +694 -0
  96. celldetective-1.5.0b8/celldetective/processes/train_signal_model.py +265 -0
  97. celldetective-1.5.0b8/celldetective/processes/unified_process.py +306 -0
  98. celldetective-1.5.0b8/celldetective/regionprops/_regionprops.py +378 -0
  99. celldetective-1.5.0b8/celldetective/relative_measurements.py +1061 -0
  100. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/scripts/analyze_signals.py +4 -1
  101. celldetective-1.5.0b8/celldetective/scripts/measure_cells.py +418 -0
  102. celldetective-1.5.0b8/celldetective/scripts/measure_relative.py +136 -0
  103. celldetective-1.5.0b8/celldetective/scripts/segment_cells.py +252 -0
  104. celldetective-1.5.0b8/celldetective/scripts/segment_cells_thresholds.py +174 -0
  105. celldetective-1.5.0b8/celldetective/scripts/track_cells.py +306 -0
  106. celldetective-1.5.0b8/celldetective/scripts/train_segmentation_model.py +375 -0
  107. celldetective-1.5.0b8/celldetective/scripts/train_signal_model.py +121 -0
  108. celldetective-1.5.0b8/celldetective/segmentation.py +873 -0
  109. celldetective-1.5.0b8/celldetective/signals.py +1177 -0
  110. celldetective-1.5.0b8/celldetective/tracking.py +1380 -0
  111. celldetective-1.5.0b8/celldetective/utils/__init__.py +0 -0
  112. celldetective-1.5.0b8/celldetective/utils/cellpose_utils/__init__.py +162 -0
  113. celldetective-1.5.0b8/celldetective/utils/color_mappings.py +42 -0
  114. celldetective-1.5.0b8/celldetective/utils/data_cleaning.py +630 -0
  115. celldetective-1.5.0b8/celldetective/utils/data_loaders.py +470 -0
  116. celldetective-1.5.0b8/celldetective/utils/dataset_helpers.py +207 -0
  117. celldetective-1.5.0b8/celldetective/utils/downloaders.py +269 -0
  118. celldetective-1.5.0b8/celldetective/utils/event_detection/__init__.py +8 -0
  119. celldetective-1.5.0b8/celldetective/utils/experiment.py +1782 -0
  120. celldetective-1.5.0b8/celldetective/utils/image_augmenters.py +308 -0
  121. celldetective-1.5.0b8/celldetective/utils/image_cleaning.py +74 -0
  122. celldetective-1.5.0b8/celldetective/utils/image_loaders.py +929 -0
  123. celldetective-1.5.0b8/celldetective/utils/image_transforms.py +335 -0
  124. celldetective-1.5.0b8/celldetective/utils/io.py +62 -0
  125. celldetective-1.5.0b8/celldetective/utils/mask_cleaning.py +348 -0
  126. celldetective-1.5.0b8/celldetective/utils/mask_transforms.py +5 -0
  127. celldetective-1.5.0b8/celldetective/utils/masks.py +184 -0
  128. celldetective-1.5.0b8/celldetective/utils/maths.py +364 -0
  129. celldetective-1.5.0b8/celldetective/utils/model_getters.py +325 -0
  130. celldetective-1.5.0b8/celldetective/utils/model_loaders.py +296 -0
  131. celldetective-1.5.0b8/celldetective/utils/normalization.py +380 -0
  132. celldetective-1.5.0b8/celldetective/utils/parsing.py +465 -0
  133. celldetective-1.5.0b8/celldetective/utils/plots/__init__.py +0 -0
  134. celldetective-1.5.0b8/celldetective/utils/plots/regression.py +53 -0
  135. celldetective-1.5.0b8/celldetective/utils/resources.py +34 -0
  136. celldetective-1.5.0b8/celldetective/utils/stardist_utils/__init__.py +110 -0
  137. celldetective-1.5.0b8/celldetective/utils/stats.py +90 -0
  138. celldetective-1.5.0b8/celldetective/utils/types.py +21 -0
  139. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/PKG-INFO +39 -22
  140. celldetective-1.5.0b8/celldetective.egg-info/SOURCES.txt +198 -0
  141. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/requires.txt +15 -3
  142. celldetective-1.5.0b8/setup.py +79 -0
  143. celldetective-1.5.0b8/tests/__init__.py +0 -0
  144. celldetective-1.5.0b8/tests/gui/__init__.py +0 -0
  145. celldetective-1.5.0b8/tests/gui/test_enhancements.py +351 -0
  146. celldetective-1.5.0b8/tests/gui/test_measure_annotator_bugfix.py +130 -0
  147. celldetective-1.5.0b8/tests/gui/test_new_project.py +240 -0
  148. celldetective-1.5.0b8/tests/gui/test_project.py +147 -0
  149. celldetective-1.5.0b8/tests/test_cellpose_fallback.py +101 -0
  150. celldetective-1.5.0b8/tests/test_filters.py +48 -0
  151. celldetective-1.5.0b8/tests/test_notebooks.py +9 -0
  152. celldetective-1.5.0b8/tests/test_partial_install.py +75 -0
  153. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_preprocessing.py +2 -2
  154. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_signals.py +4 -4
  155. celldetective-1.5.0b8/tests/test_tracking.py +445 -0
  156. celldetective-1.5.0b8/tests/test_utils.py +164 -0
  157. celldetective-1.3.9.post3/celldetective/__init__.py +0 -4
  158. celldetective-1.3.9.post3/celldetective/__main__.py +0 -66
  159. celldetective-1.3.9.post3/celldetective/_version.py +0 -1
  160. celldetective-1.3.9.post3/celldetective/extra_properties.py +0 -273
  161. celldetective-1.3.9.post3/celldetective/filters.py +0 -149
  162. celldetective-1.3.9.post3/celldetective/gui/InitWindow.py +0 -434
  163. celldetective-1.3.9.post3/celldetective/gui/__init__.py +0 -21
  164. celldetective-1.3.9.post3/celldetective/gui/about.py +0 -44
  165. celldetective-1.3.9.post3/celldetective/gui/analyze_block.py +0 -81
  166. celldetective-1.3.9.post3/celldetective/gui/btrack_options.py +0 -1154
  167. celldetective-1.3.9.post3/celldetective/gui/classifier_widget.py +0 -572
  168. celldetective-1.3.9.post3/celldetective/gui/configure_new_exp.py +0 -575
  169. celldetective-1.3.9.post3/celldetective/gui/control_panel.py +0 -609
  170. celldetective-1.3.9.post3/celldetective/gui/generic_signal_plot.py +0 -970
  171. celldetective-1.3.9.post3/celldetective/gui/gui_utils.py +0 -1342
  172. celldetective-1.3.9.post3/celldetective/gui/layouts.py +0 -1368
  173. celldetective-1.3.9.post3/celldetective/gui/measurement_options.py +0 -1027
  174. celldetective-1.3.9.post3/celldetective/gui/neighborhood_options.py +0 -502
  175. celldetective-1.3.9.post3/celldetective/gui/plot_signals_ui.py +0 -471
  176. celldetective-1.3.9.post3/celldetective/gui/process_block.py +0 -1753
  177. celldetective-1.3.9.post3/celldetective/gui/processes/downloader.py +0 -108
  178. celldetective-1.3.9.post3/celldetective/gui/processes/measure_cells.py +0 -349
  179. celldetective-1.3.9.post3/celldetective/gui/processes/segment_cells.py +0 -354
  180. celldetective-1.3.9.post3/celldetective/gui/processes/track_cells.py +0 -298
  181. celldetective-1.3.9.post3/celldetective/gui/processes/train_segmentation_model.py +0 -270
  182. celldetective-1.3.9.post3/celldetective/gui/processes/train_signal_model.py +0 -108
  183. celldetective-1.3.9.post3/celldetective/gui/retrain_segmentation_model_options.py +0 -634
  184. celldetective-1.3.9.post3/celldetective/gui/retrain_signal_model_options.py +0 -599
  185. celldetective-1.3.9.post3/celldetective/gui/seg_model_loader.py +0 -526
  186. celldetective-1.3.9.post3/celldetective/gui/signal_annotator.py +0 -2582
  187. celldetective-1.3.9.post3/celldetective/gui/signal_annotator2.py +0 -2658
  188. celldetective-1.3.9.post3/celldetective/gui/signal_annotator_options.py +0 -344
  189. celldetective-1.3.9.post3/celldetective/gui/survival_ui.py +0 -375
  190. celldetective-1.3.9.post3/celldetective/gui/tableUI.py +0 -1713
  191. celldetective-1.3.9.post3/celldetective/gui/thresholds_gui.py +0 -1318
  192. celldetective-1.3.9.post3/celldetective/gui/viewers.py +0 -1289
  193. celldetective-1.3.9.post3/celldetective/gui/workers.py +0 -136
  194. celldetective-1.3.9.post3/celldetective/io.py +0 -3574
  195. celldetective-1.3.9.post3/celldetective/measure.py +0 -1463
  196. celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/ricm_bf_all_last/config_input.json +0 -79
  197. celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/ricm_bf_all_last/ricm_bf_all_last +0 -0
  198. celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/ricm_bf_all_last/training_instructions.json +0 -37
  199. celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/test-transfer/config_input.json +0 -39
  200. celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/test-transfer/test-transfer +0 -0
  201. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/classification_loss.png +0 -0
  202. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/classifier.h5 +0 -0
  203. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/config_input.json +0 -1
  204. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/log_classifier.csv +0 -126
  205. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/log_regressor.csv +0 -282
  206. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/regression_loss.png +0 -0
  207. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/regressor.h5 +0 -0
  208. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/scores.npy +0 -0
  209. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/test_confusion_matrix.png +0 -0
  210. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/test_regression.png +0 -0
  211. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/validation_confusion_matrix.png +0 -0
  212. celldetective-1.3.9.post3/celldetective/models/signal_detection/NucCond/validation_regression.png +0 -0
  213. celldetective-1.3.9.post3/celldetective/neighborhood.py +0 -1409
  214. celldetective-1.3.9.post3/celldetective/preprocessing.py +0 -1222
  215. celldetective-1.3.9.post3/celldetective/regionprops/_regionprops.py +0 -319
  216. celldetective-1.3.9.post3/celldetective/relative_measurements.py +0 -763
  217. celldetective-1.3.9.post3/celldetective/scripts/measure_cells.py +0 -317
  218. celldetective-1.3.9.post3/celldetective/scripts/measure_relative.py +0 -84
  219. celldetective-1.3.9.post3/celldetective/scripts/segment_cells.py +0 -197
  220. celldetective-1.3.9.post3/celldetective/scripts/segment_cells_thresholds.py +0 -146
  221. celldetective-1.3.9.post3/celldetective/scripts/track_cells.py +0 -255
  222. celldetective-1.3.9.post3/celldetective/scripts/train_segmentation_model.py +0 -240
  223. celldetective-1.3.9.post3/celldetective/scripts/train_signal_model.py +0 -79
  224. celldetective-1.3.9.post3/celldetective/segmentation.py +0 -778
  225. celldetective-1.3.9.post3/celldetective/signals.py +0 -2931
  226. celldetective-1.3.9.post3/celldetective/tracking.py +0 -1039
  227. celldetective-1.3.9.post3/celldetective/utils.py +0 -3080
  228. celldetective-1.3.9.post3/celldetective.egg-info/SOURCES.txt +0 -133
  229. celldetective-1.3.9.post3/setup.py +0 -51
  230. celldetective-1.3.9.post3/tests/test_filters.py +0 -24
  231. celldetective-1.3.9.post3/tests/test_qt.py +0 -103
  232. celldetective-1.3.9.post3/tests/test_tracking.py +0 -164
  233. celldetective-1.3.9.post3/tests/test_utils.py +0 -118
  234. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/LICENSE +0 -0
  235. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/datasets/segmentation_annotations/blank +0 -0
  236. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/datasets/signal_annotations/blank +0 -0
  237. /celldetective-1.3.9.post3/celldetective/models/pair_signal_detection/blank → /celldetective-1.5.0b8/celldetective/gui/base/__init__.py +0 -0
  238. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/DL-segmentation-strategy.json +0 -0
  239. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/Threshold-vs-DL.json +0 -0
  240. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/cell-populations.json +0 -0
  241. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/exp-structure.json +0 -0
  242. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/feature-btrack.json +0 -0
  243. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/prefilter-for-segmentation.json +0 -0
  244. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/preprocessing.json +0 -0
  245. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/propagate-classification.json +0 -0
  246. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/track-postprocessing.json +0 -0
  247. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/gui/help/tracking.json +0 -0
  248. /celldetective-1.3.9.post3/celldetective/models/segmentation_effectors/blank → /celldetective-1.5.0b8/celldetective/gui/settings/__init__.py +0 -0
  249. /celldetective-1.3.9.post3/celldetective/models/segmentation_generic/blank → /celldetective-1.5.0b8/celldetective/gui/table_ops/__init__.py +0 -0
  250. /celldetective-1.3.9.post3/celldetective/models/segmentation_targets/blank → /celldetective-1.5.0b8/celldetective/gui/viewers/__init__.py +0 -0
  251. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/logo-large.png +0 -0
  252. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/logo.png +0 -0
  253. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/signals_icon.png +0 -0
  254. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/splash-test.png +0 -0
  255. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/splash.png +0 -0
  256. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/splash0.png +0 -0
  257. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/survival2.png +0 -0
  258. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/vignette_signals2.png +0 -0
  259. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/icons/vignette_signals2.svg +0 -0
  260. {celldetective-1.3.9.post3/celldetective/models/signal_detection → celldetective-1.5.0b8/celldetective/models/pair_signal_detection}/blank +0 -0
  261. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/models/tracking_configs/biased_motion.json +0 -0
  262. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/models/tracking_configs/mcf7.json +0 -0
  263. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/models/tracking_configs/no_z_motion.json +0 -0
  264. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/models/tracking_configs/ricm.json +0 -0
  265. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/models/tracking_configs/ricm2.json +0 -0
  266. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/regionprops/__init__.py +0 -0
  267. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective/regionprops/props.json +0 -0
  268. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/dependency_links.txt +0 -0
  269. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/entry_points.txt +0 -0
  270. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/not-zip-safe +0 -0
  271. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/celldetective.egg-info/top_level.txt +0 -0
  272. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/setup.cfg +0 -0
  273. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_events.py +0 -0
  274. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_io.py +0 -0
  275. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_measure.py +0 -0
  276. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_neighborhood.py +0 -0
  277. {celldetective-1.3.9.post3 → celldetective-1.5.0b8}/tests/test_segmentation.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: celldetective
3
- Version: 1.3.9.post3
3
+ Version: 1.5.0b8
4
4
  Summary: description
5
5
  Home-page: http://github.com/remyeltorro/celldetective
6
6
  Author: Rémy Torro
@@ -15,11 +15,8 @@ Requires-Dist: sphinx_rtd_theme
15
15
  Requires-Dist: sphinx
16
16
  Requires-Dist: jinja2
17
17
  Requires-Dist: ipykernel
18
- Requires-Dist: stardist
19
- Requires-Dist: cellpose<3
20
18
  Requires-Dist: scikit-learn
21
19
  Requires-Dist: btrack
22
- Requires-Dist: tensorflow~=2.15.0
23
20
  Requires-Dist: napari<0.6.0
24
21
  Requires-Dist: tqdm
25
22
  Requires-Dist: mahotas
@@ -44,12 +41,27 @@ Requires-Dist: h5py
44
41
  Requires-Dist: cliffs_delta
45
42
  Requires-Dist: requests
46
43
  Requires-Dist: trackpy
44
+ Requires-Dist: prettyprint
45
+ Requires-Dist: pandas
46
+ Requires-Dist: matplotlib
47
+ Requires-Dist: prettytable
48
+ Requires-Dist: scikit-image
49
+ Requires-Dist: natsort
50
+ Provides-Extra: tensorflow
51
+ Requires-Dist: tensorflow~=2.15.0; extra == "tensorflow"
52
+ Requires-Dist: stardist; extra == "tensorflow"
53
+ Provides-Extra: all
54
+ Requires-Dist: cellpose<3; extra == "all"
55
+ Requires-Dist: stardist; extra == "all"
56
+ Requires-Dist: tensorflow~=2.15.0; extra == "all"
47
57
  Dynamic: author
48
58
  Dynamic: author-email
49
59
  Dynamic: description
50
60
  Dynamic: description-content-type
51
61
  Dynamic: home-page
52
62
  Dynamic: license
63
+ Dynamic: license-file
64
+ Dynamic: provides-extra
53
65
  Dynamic: requires-dist
54
66
  Dynamic: summary
55
67
 
@@ -143,10 +155,12 @@ To use the software, you must install python, *e.g.* through
143
155
 
144
156
  Celldetective requires a version of Python between 3.9 and 3.11 (included). If your Python version is older or more recent, consider using `conda` to create an environment as described below.
145
157
 
146
- With the proper Python version, Celldetective can be directly installed with `pip`:
158
+ With the proper Python version, Celldetective can be directly installed with `pip`.
159
+ **Important**: By default, `pip install celldetective` will **not** install deep-learning libraries (`tensorflow`, `cellpose`, `stardist`) to allow users to manage their own GPU environment (e.g. `torch`, `cuda`).
147
160
 
161
+ If you want the standard full installation (recommended for most users), use:
148
162
  ``` bash
149
- pip install celldetective
163
+ pip install celldetective[all]
150
164
  ```
151
165
 
152
166
  We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
@@ -155,7 +169,7 @@ with `conda`:
155
169
  ``` bash
156
170
  conda create -n celldetective python=3.11 pyqt
157
171
  conda activate celldetective
158
- pip install celldetective
172
+ pip install celldetective[all]
159
173
  ```
160
174
 
161
175
  Need an update? Simply type the following in the terminal (in your
@@ -183,26 +197,29 @@ For more information about how to get started, please check the [documentation](
183
197
  # How to cite?
184
198
 
185
199
  If you use this software in your research, please cite the
186
- [Celldetective](https://www.biorxiv.org/content/10.1101/2024.03.15.585250v3)
187
- paper (currently preprint):
200
+ [Celldetective](https://elifesciences.org/reviewed-preprints/105302)
201
+ paper (currently a reviewed preprint at eLife):
188
202
 
189
203
  ``` raw
190
- @article {Torro2024.03.15.585250,
191
- author = {Torro, R{\'e}my and D{\'\i}az-Bello, Beatriz and Arawi, Dalia El and Dervanova, Ksenija and Ammer, Lorna and Dupuy, Florian and Chames, Patrick and Sengupta, Kheya and Limozin, Laurent},
192
- title = {Celldetective: an AI-enhanced image analysis tool for unraveling dynamic cell interactions},
193
- elocation-id = {2024.03.15.585250},
194
- year = {2024},
195
- doi = {10.1101/2024.03.15.585250},
196
- publisher = {Cold Spring Harbor Laboratory},
197
- abstract = {A current challenge in bioimaging for immunology and immunotherapy research lies in analyzing multimodal and multidimensional data that capture dynamic interactions between diverse cell populations. Here, we introduce Celldetective, an open-source Python-based software designed for high-performance, end-to-end analysis of image-based in vitro immune and immunotherapy assays. Purpose-built for multicondition, 2D multichannel time-lapse microscopy of mixed cell populations, Celldetective is optimized for the needs of immunology assays. The software seamlessly integrates AI-based segmentation, Bayesian tracking, and automated single-cell event detection, all within an intuitive graphical interface that supports interactive visualization, annotation, and training capabilities. We demonstrate its utility with original data on immune effector cell interactions with an activating surface, mediated by bispecific antibodies, and further showcase its potential for analyzing extensive sets of pairwise interactions in antibody-dependent cell cytotoxicity events.Competing Interest StatementThe authors have declared no competing interest.},
198
- URL = {https://www.biorxiv.org/content/early/2024/11/13/2024.03.15.585250},
199
- eprint = {https://www.biorxiv.org/content/early/2024/11/13/2024.03.15.585250.full.pdf},
200
- journal = {bioRxiv}
204
+ @article{torroCelldetectiveAIenhancedImage2025,
205
+ title = {Celldetective: An {{AI-enhanced}} Image Analysis Tool for Unraveling Dynamic Cell Interactions},
206
+ shorttitle = {Celldetective},
207
+ author = {Torro, Rémy and Díaz-Bello, Beatriz and Arawi, Dalia El and Dervanova, Ksenija and Ammer, Lorna and Dupuy, Florian and Chames, Patrick and Sengupta, Kheya and Limozin, Laurent},
208
+ date = {2025-03-10},
209
+ journaltitle = {eLife},
210
+ volume = {14},
211
+ publisher = {eLife Sciences Publications Limited},
212
+ doi = {10.7554/eLife.105302.1},
213
+ url = {https://elifesciences.org/reviewed-preprints/105302},
214
+ urldate = {2025-03-20},
215
+ abstract = {A current challenge in bioimaging for immunology and immunotherapy research lies in analyzing multimodal and multidimensional data that capture dynamic interactions between diverse cell populations. Here, we introduce Celldetective, an open-source Python-based software designed for high-performance, end-to-end analysis of image-based in vitro immune and immunotherapy assays. Purpose-built for multicondition, 2D multichannel time-lapse microscopy of mixed cell populations, Celldetective is optimized for the needs of immunology assays. The software seamlessly integrates AI-based segmentation, Bayesian tracking, and automated single-cell event detection, all within an intuitive graphical interface that supports interactive visualization, annotation, and training capabilities. We demonstrate its utility with original data on immune effector cell interactions with an activating surface, mediated by bispecific antibodies, and further showcase its potential for analyzing extensive sets of pairwise interactions in antibody-dependent cell cytotoxicity events.},
216
+ langid = {english},
217
+ file = {/home/torro/Zotero/storage/VFYBBMQF/Torro et al. - 2025 - Celldetective an AI-enhanced image analysis tool .pdf;/home/torro/Zotero/storage/UGMCKKST/105302.html}
201
218
  }
202
219
  ```
203
220
 
204
221
  Make sure you to cite the papers of any segmentation model (StarDist,
205
- Cellpose) or tracker (bTrack) you used through Celldetective.
222
+ Cellpose) or tracker (bTrack, TrackPy) you used through Celldetective.
206
223
 
207
224
  # Bibliography
208
225
 
@@ -88,10 +88,12 @@ To use the software, you must install python, *e.g.* through
88
88
 
89
89
  Celldetective requires a version of Python between 3.9 and 3.11 (included). If your Python version is older or more recent, consider using `conda` to create an environment as described below.
90
90
 
91
- With the proper Python version, Celldetective can be directly installed with `pip`:
91
+ With the proper Python version, Celldetective can be directly installed with `pip`.
92
+ **Important**: By default, `pip install celldetective` will **not** install deep-learning libraries (`tensorflow`, `cellpose`, `stardist`) to allow users to manage their own GPU environment (e.g. `torch`, `cuda`).
92
93
 
94
+ If you want the standard full installation (recommended for most users), use:
93
95
  ``` bash
94
- pip install celldetective
96
+ pip install celldetective[all]
95
97
  ```
96
98
 
97
99
  We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
@@ -100,7 +102,7 @@ with `conda`:
100
102
  ``` bash
101
103
  conda create -n celldetective python=3.11 pyqt
102
104
  conda activate celldetective
103
- pip install celldetective
105
+ pip install celldetective[all]
104
106
  ```
105
107
 
106
108
  Need an update? Simply type the following in the terminal (in your
@@ -128,26 +130,29 @@ For more information about how to get started, please check the [documentation](
128
130
  # How to cite?
129
131
 
130
132
  If you use this software in your research, please cite the
131
- [Celldetective](https://www.biorxiv.org/content/10.1101/2024.03.15.585250v3)
132
- paper (currently preprint):
133
+ [Celldetective](https://elifesciences.org/reviewed-preprints/105302)
134
+ paper (currently a reviewed preprint at eLife):
133
135
 
134
136
  ``` raw
135
- @article {Torro2024.03.15.585250,
136
- author = {Torro, R{\'e}my and D{\'\i}az-Bello, Beatriz and Arawi, Dalia El and Dervanova, Ksenija and Ammer, Lorna and Dupuy, Florian and Chames, Patrick and Sengupta, Kheya and Limozin, Laurent},
137
- title = {Celldetective: an AI-enhanced image analysis tool for unraveling dynamic cell interactions},
138
- elocation-id = {2024.03.15.585250},
139
- year = {2024},
140
- doi = {10.1101/2024.03.15.585250},
141
- publisher = {Cold Spring Harbor Laboratory},
142
- abstract = {A current challenge in bioimaging for immunology and immunotherapy research lies in analyzing multimodal and multidimensional data that capture dynamic interactions between diverse cell populations. Here, we introduce Celldetective, an open-source Python-based software designed for high-performance, end-to-end analysis of image-based in vitro immune and immunotherapy assays. Purpose-built for multicondition, 2D multichannel time-lapse microscopy of mixed cell populations, Celldetective is optimized for the needs of immunology assays. The software seamlessly integrates AI-based segmentation, Bayesian tracking, and automated single-cell event detection, all within an intuitive graphical interface that supports interactive visualization, annotation, and training capabilities. We demonstrate its utility with original data on immune effector cell interactions with an activating surface, mediated by bispecific antibodies, and further showcase its potential for analyzing extensive sets of pairwise interactions in antibody-dependent cell cytotoxicity events.Competing Interest StatementThe authors have declared no competing interest.},
143
- URL = {https://www.biorxiv.org/content/early/2024/11/13/2024.03.15.585250},
144
- eprint = {https://www.biorxiv.org/content/early/2024/11/13/2024.03.15.585250.full.pdf},
145
- journal = {bioRxiv}
137
+ @article{torroCelldetectiveAIenhancedImage2025,
138
+ title = {Celldetective: An {{AI-enhanced}} Image Analysis Tool for Unraveling Dynamic Cell Interactions},
139
+ shorttitle = {Celldetective},
140
+ author = {Torro, Rémy and Díaz-Bello, Beatriz and Arawi, Dalia El and Dervanova, Ksenija and Ammer, Lorna and Dupuy, Florian and Chames, Patrick and Sengupta, Kheya and Limozin, Laurent},
141
+ date = {2025-03-10},
142
+ journaltitle = {eLife},
143
+ volume = {14},
144
+ publisher = {eLife Sciences Publications Limited},
145
+ doi = {10.7554/eLife.105302.1},
146
+ url = {https://elifesciences.org/reviewed-preprints/105302},
147
+ urldate = {2025-03-20},
148
+ abstract = {A current challenge in bioimaging for immunology and immunotherapy research lies in analyzing multimodal and multidimensional data that capture dynamic interactions between diverse cell populations. Here, we introduce Celldetective, an open-source Python-based software designed for high-performance, end-to-end analysis of image-based in vitro immune and immunotherapy assays. Purpose-built for multicondition, 2D multichannel time-lapse microscopy of mixed cell populations, Celldetective is optimized for the needs of immunology assays. The software seamlessly integrates AI-based segmentation, Bayesian tracking, and automated single-cell event detection, all within an intuitive graphical interface that supports interactive visualization, annotation, and training capabilities. We demonstrate its utility with original data on immune effector cell interactions with an activating surface, mediated by bispecific antibodies, and further showcase its potential for analyzing extensive sets of pairwise interactions in antibody-dependent cell cytotoxicity events.},
149
+ langid = {english},
150
+ file = {/home/torro/Zotero/storage/VFYBBMQF/Torro et al. - 2025 - Celldetective an AI-enhanced image analysis tool .pdf;/home/torro/Zotero/storage/UGMCKKST/105302.html}
146
151
  }
147
152
  ```
148
153
 
149
154
  Make sure you to cite the papers of any segmentation model (StarDist,
150
- Cellpose) or tracker (bTrack) you used through Celldetective.
155
+ Cellpose) or tracker (bTrack, TrackPy) you used through Celldetective.
151
156
 
152
157
  # Bibliography
153
158
 
@@ -0,0 +1,26 @@
1
+ from ._version import __version__
2
+ import os
3
+ from .log_manager import setup_global_logging, get_logger
4
+
5
+ # Define default log path in user home
6
+ USER_LOG_DIR = os.path.join(os.path.expanduser("~"), ".celldetective", "logs")
7
+ GLOBAL_LOG_FILE = os.path.join(USER_LOG_DIR, "celldetective.log")
8
+
9
+ # Setup logging
10
+ setup_global_logging(log_file=GLOBAL_LOG_FILE)
11
+
12
+ # Expose logger
13
+ logger = get_logger()
14
+
15
+
16
+ def get_software_location() -> str:
17
+ """
18
+ Get the installation folder of celldetective.
19
+
20
+ Returns
21
+ -------
22
+ str
23
+ Path to the celldetective installation folder.
24
+ """
25
+
26
+ return rf"{os.path.split(os.path.dirname(os.path.realpath(__file__)))[0]}"
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env python3
2
+ import sys
3
+ import os
4
+
5
+ os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
6
+
7
+ from PyQt5.QtWidgets import QApplication, QSplashScreen
8
+ from PyQt5.QtGui import QPixmap
9
+ from os import sep
10
+
11
+ # os.environ['QT_DEBUG_PLUGINS'] = '1'
12
+
13
+ if __name__ == "__main__":
14
+
15
+ splash = True
16
+ from celldetective import logger
17
+ from celldetective import get_software_location
18
+
19
+ logger.info("Loading the libraries...")
20
+
21
+ App = QApplication(sys.argv)
22
+ App.setStyle("Fusion")
23
+
24
+ software_location = get_software_location()
25
+
26
+ if splash:
27
+ splash_pix = QPixmap(
28
+ sep.join([software_location, "celldetective", "icons", "splash.png"])
29
+ )
30
+ splash = QSplashScreen(splash_pix)
31
+ splash.setMask(splash_pix.mask())
32
+ splash.show()
33
+ App.processEvents()
34
+
35
+ # Update check in background
36
+ def check_update():
37
+ try:
38
+ import requests
39
+ import re
40
+ from celldetective import __version__
41
+
42
+ package = "celldetective"
43
+ response = requests.get(f"https://pypi.org/pypi/{package}/json", timeout=5)
44
+ latest_version = response.json()["info"]["version"]
45
+
46
+ latest_version_num = re.sub("[^0-9]", "", latest_version)
47
+ current_version_num = re.sub("[^0-9]", "", __version__)
48
+
49
+ if len(latest_version_num) != len(current_version_num):
50
+ max_length = max([len(latest_version_num), len(current_version_num)])
51
+ latest_version_num = int(
52
+ latest_version_num.zfill(max_length - len(latest_version_num))
53
+ )
54
+ current_version_num = int(
55
+ current_version_num.zfill(max_length - len(current_version_num))
56
+ )
57
+
58
+ if latest_version_num > current_version_num:
59
+ logger.warning(
60
+ "Update is available...\nPlease update using `pip install --upgrade celldetective`..."
61
+ )
62
+ except Exception as e:
63
+ logger.error(
64
+ f"Update check failed... Please check your internet connection: {e}"
65
+ )
66
+
67
+ import threading
68
+
69
+ update_thread = threading.Thread(target=check_update)
70
+ update_thread.daemon = True
71
+ update_thread.start()
72
+
73
+ from celldetective.gui.InitWindow import AppInitWindow
74
+
75
+ logger.info("Libraries successfully loaded...")
76
+
77
+ from celldetective.gui.base.utils import center_window
78
+
79
+ window = AppInitWindow(App, software_location=software_location)
80
+ center_window(window)
81
+
82
+ if splash:
83
+ splash.finish(window)
84
+
85
+ sys.exit(App.exec())
@@ -0,0 +1 @@
1
+ __version__ = "1.5.0b8"