celldetective 1.4.0__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. {celldetective-1.4.0 → celldetective-1.4.1}/PKG-INFO +1 -1
  2. celldetective-1.4.1/celldetective/_version.py +1 -0
  3. celldetective-1.4.1/celldetective/exceptions.py +11 -0
  4. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/filters.py +7 -1
  5. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/InitWindow.py +4 -1
  6. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/__init__.py +2 -9
  7. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/about.py +2 -2
  8. celldetective-1.4.1/celldetective/gui/base_annotator.py +786 -0
  9. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/classifier_widget.py +18 -13
  10. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/configure_new_exp.py +51 -30
  11. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/control_panel.py +10 -7
  12. celldetective-1.4.0/celldetective/gui/signal_annotator.py → celldetective-1.4.1/celldetective/gui/event_annotator.py +473 -1437
  13. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/generic_signal_plot.py +2 -1
  14. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/gui_utils.py +5 -2
  15. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/neighborhood.json +2 -2
  16. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/layouts.py +21 -11
  17. celldetective-1.4.0/celldetective/gui/signal_annotator2.py → celldetective-1.4.1/celldetective/gui/pair_event_annotator.py +3 -1
  18. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/process_block.py +129 -91
  19. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/downloader.py +37 -34
  20. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/measure_cells.py +14 -8
  21. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/segment_cells.py +21 -6
  22. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/track_cells.py +12 -13
  23. celldetective-1.4.1/celldetective/gui/settings/__init__.py +7 -0
  24. celldetective-1.4.1/celldetective/gui/settings/_settings_base.py +70 -0
  25. celldetective-1.4.0/celldetective/gui/retrain_signal_model_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_event_model_training.py +35 -91
  26. celldetective-1.4.0/celldetective/gui/measurement_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_measurements.py +28 -81
  27. celldetective-1.4.0/celldetective/gui/neighborhood_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_neighborhood.py +1 -1
  28. celldetective-1.4.1/celldetective/gui/settings/_settings_segmentation.py +49 -0
  29. celldetective-1.4.0/celldetective/gui/retrain_segmentation_model_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_segmentation_model_training.py +33 -79
  30. celldetective-1.4.0/celldetective/gui/signal_annotator_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_signal_annotator.py +73 -95
  31. celldetective-1.4.0/celldetective/gui/btrack_options.py → celldetective-1.4.1/celldetective/gui/settings/_settings_tracking.py +64 -87
  32. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/styles.py +2 -1
  33. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/survival_ui.py +1 -1
  34. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/tableUI.py +25 -0
  35. celldetective-1.4.1/celldetective/gui/table_ops/merge_groups.py +118 -0
  36. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/viewers.py +3 -5
  37. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/workers.py +0 -2
  38. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/io.py +98 -55
  39. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/links/zenodo.json +145 -144
  40. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/measure.py +31 -26
  41. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/preprocessing.py +34 -21
  42. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/regionprops/_regionprops.py +16 -5
  43. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/measure_cells.py +5 -5
  44. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/measure_relative.py +16 -11
  45. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/segment_cells.py +4 -4
  46. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/segment_cells_thresholds.py +3 -3
  47. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/track_cells.py +7 -7
  48. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/train_segmentation_model.py +10 -1
  49. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/tracking.py +10 -4
  50. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/utils.py +59 -58
  51. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/PKG-INFO +1 -1
  52. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/SOURCES.txt +19 -27
  53. celldetective-1.4.1/tests/__init__.py +0 -0
  54. celldetective-1.4.1/tests/gui/__init__.py +0 -0
  55. celldetective-1.4.1/tests/gui/test_new_project.py +228 -0
  56. celldetective-1.4.0/tests/test_qt.py → celldetective-1.4.1/tests/gui/test_project.py +22 -26
  57. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_preprocessing.py +2 -2
  58. celldetective-1.4.0/celldetective/_version.py +0 -1
  59. celldetective-1.4.0/celldetective/models/segmentation_effectors/ricm_bf_all_last/config_input.json +0 -79
  60. celldetective-1.4.0/celldetective/models/segmentation_effectors/ricm_bf_all_last/ricm_bf_all_last +0 -0
  61. celldetective-1.4.0/celldetective/models/segmentation_effectors/ricm_bf_all_last/training_instructions.json +0 -37
  62. celldetective-1.4.0/celldetective/models/segmentation_effectors/test-transfer/config_input.json +0 -39
  63. celldetective-1.4.0/celldetective/models/segmentation_effectors/test-transfer/test-transfer +0 -0
  64. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/classification_loss.png +0 -0
  65. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/classifier.h5 +0 -0
  66. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/config_input.json +0 -1
  67. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/log_classifier.csv +0 -126
  68. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/log_regressor.csv +0 -282
  69. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/regression_loss.png +0 -0
  70. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/regressor.h5 +0 -0
  71. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/scores.npy +0 -0
  72. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/test_confusion_matrix.png +0 -0
  73. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/test_regression.png +0 -0
  74. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/validation_confusion_matrix.png +0 -0
  75. celldetective-1.4.0/celldetective/models/signal_detection/NucCond/validation_regression.png +0 -0
  76. {celldetective-1.4.0 → celldetective-1.4.1}/LICENSE +0 -0
  77. {celldetective-1.4.0 → celldetective-1.4.1}/README.md +0 -0
  78. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/__init__.py +0 -0
  79. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/__main__.py +0 -0
  80. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/datasets/segmentation_annotations/blank +0 -0
  81. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/datasets/signal_annotations/blank +0 -0
  82. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/events.py +0 -0
  83. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/extra_properties.py +0 -0
  84. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/analyze_block.py +0 -0
  85. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/base_components.py +0 -0
  86. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/DL-segmentation-strategy.json +0 -0
  87. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/Threshold-vs-DL.json +0 -0
  88. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/cell-populations.json +0 -0
  89. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/exp-structure.json +0 -0
  90. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/feature-btrack.json +0 -0
  91. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/prefilter-for-segmentation.json +0 -0
  92. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/preprocessing.json +0 -0
  93. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/propagate-classification.json +0 -0
  94. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/track-postprocessing.json +0 -0
  95. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/help/tracking.json +0 -0
  96. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/json_readers.py +0 -0
  97. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/plot_measurements.py +0 -0
  98. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/plot_signals_ui.py +0 -0
  99. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/compute_neighborhood.py +0 -0
  100. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/train_segmentation_model.py +0 -0
  101. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/processes/train_signal_model.py +0 -0
  102. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/seg_model_loader.py +0 -0
  103. {celldetective-1.4.0/tests → celldetective-1.4.1/celldetective/gui/table_ops}/__init__.py +0 -0
  104. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/gui/thresholds_gui.py +0 -0
  105. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/logo-large.png +0 -0
  106. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/logo.png +0 -0
  107. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/signals_icon.png +0 -0
  108. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/splash-test.png +0 -0
  109. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/splash.png +0 -0
  110. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/splash0.png +0 -0
  111. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/survival2.png +0 -0
  112. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/vignette_signals2.png +0 -0
  113. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/icons/vignette_signals2.svg +0 -0
  114. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/pair_signal_detection/blank +0 -0
  115. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/segmentation_effectors/blank +0 -0
  116. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/segmentation_generic/blank +0 -0
  117. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/segmentation_targets/blank +0 -0
  118. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/signal_detection/blank +0 -0
  119. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/tracking_configs/biased_motion.json +0 -0
  120. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/tracking_configs/mcf7.json +0 -0
  121. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/tracking_configs/no_z_motion.json +0 -0
  122. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/tracking_configs/ricm.json +0 -0
  123. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/models/tracking_configs/ricm2.json +0 -0
  124. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/neighborhood.py +0 -0
  125. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/regionprops/__init__.py +0 -0
  126. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/regionprops/props.json +0 -0
  127. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/relative_measurements.py +0 -0
  128. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/analyze_signals.py +0 -0
  129. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/scripts/train_signal_model.py +0 -0
  130. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/segmentation.py +0 -0
  131. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective/signals.py +0 -0
  132. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/dependency_links.txt +0 -0
  133. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/entry_points.txt +0 -0
  134. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/not-zip-safe +0 -0
  135. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/requires.txt +0 -0
  136. {celldetective-1.4.0 → celldetective-1.4.1}/celldetective.egg-info/top_level.txt +0 -0
  137. {celldetective-1.4.0 → celldetective-1.4.1}/setup.cfg +0 -0
  138. {celldetective-1.4.0 → celldetective-1.4.1}/setup.py +0 -0
  139. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_events.py +0 -0
  140. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_filters.py +0 -0
  141. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_io.py +0 -0
  142. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_measure.py +0 -0
  143. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_neighborhood.py +0 -0
  144. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_segmentation.py +0 -0
  145. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_signals.py +0 -0
  146. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_tracking.py +0 -0
  147. {celldetective-1.4.0 → celldetective-1.4.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: celldetective
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: description
5
5
  Home-page: http://github.com/remyeltorro/celldetective
6
6
  Author: Rémy Torro
@@ -0,0 +1 @@
1
+ __version__ = "1.4.1"
@@ -0,0 +1,11 @@
1
+ class QueryError(Exception):
2
+ """Base class for query-related errors."""
3
+
4
+ class EmptyQueryError(QueryError):
5
+ pass
6
+
7
+ class MissingColumnsError(QueryError):
8
+ def __init__(self, missing_cols):
9
+ msg = f"The following columns are missing from the DataFrame: {missing_cols}"
10
+ super().__init__(msg)
11
+ self.missing_cols = missing_cols
@@ -1,4 +1,5 @@
1
- from skimage.filters import difference_of_gaussians, threshold_otsu, threshold_local, threshold_niblack, threshold_sauvola
1
+ from skimage.filters import difference_of_gaussians, threshold_multiotsu, threshold_otsu, threshold_local, \
2
+ threshold_niblack, threshold_sauvola
2
3
  from celldetective.utils import interpolate_nan
3
4
  import scipy.ndimage as snd
4
5
  import numpy as np
@@ -102,6 +103,11 @@ def otsu_filter(img, *kwargs):
102
103
  binary = img >= thresh
103
104
  return binary.astype(float)
104
105
 
106
+ def multiotsu_filter(img, classes=3, *kwargs):
107
+ thresholds = threshold_multiotsu(img, classes=classes)
108
+ regions = np.digitize(img, bins=thresholds)
109
+ return regions.astype(float)
110
+
105
111
  def local_filter(img, *kwargs):
106
112
  thresh = threshold_local(img.astype(float), *kwargs)
107
113
  binary = img >= thresh
@@ -83,7 +83,10 @@ class AppInitWindow(CelldetectiveMainWindow):
83
83
  self.experiment_path_selection.setDragEnabled(True)
84
84
  self.experiment_path_selection.setFixedWidth(430)
85
85
  self.experiment_path_selection.textChanged[str].connect(self.check_path_and_enable_opening)
86
- self.foldername = os.getcwd()
86
+ try:
87
+ self.foldername = os.getcwd()
88
+ except FileNotFoundError as e:
89
+ self.foldername = ""
87
90
  self.experiment_path_selection.setPlaceholderText('/path/to/experiment/folder/')
88
91
  self.locate_exp_layout.addWidget(self.experiment_path_selection, 90)
89
92
 
@@ -1,22 +1,15 @@
1
1
  from .styles import Styles
2
2
  from .base_components import CelldetectiveWidget, CelldetectiveMainWindow
3
- from .btrack_options import ConfigTracking
4
3
  from .json_readers import ConfigEditor
5
4
  from .tableUI import TableUI
6
- from .measurement_options import ConfigMeasurements
7
- from .neighborhood_options import ConfigNeighborhoods
8
5
  from .classifier_widget import ClassifierWidget
9
6
  from .survival_ui import ConfigSurvival
10
7
  from .plot_signals_ui import ConfigSignalPlot
11
- from .signal_annotator_options import ConfigSignalAnnotator
12
- from .signal_annotator import SignalAnnotator
13
- from .signal_annotator2 import SignalAnnotator2
14
- from .retrain_signal_model_options import ConfigSignalModelTraining
15
- from .retrain_segmentation_model_options import ConfigSegmentationModelTraining
8
+ from .event_annotator import EventAnnotator
9
+ from .pair_event_annotator import PairEventAnnotator
16
10
  from .thresholds_gui import ThresholdConfigWizard
17
11
  from .seg_model_loader import SegmentationModelLoader
18
12
  from .process_block import ProcessPanel, NeighPanel, PreprocessingPanel
19
13
  from .analyze_block import AnalysisPanel
20
14
  from .control_panel import ControlPanel
21
15
  from .configure_new_exp import ConfigNewExperiment
22
-
@@ -17,7 +17,7 @@ class AboutWidget(CelldetectiveWidget):
17
17
  self.setMaximumWidth(320)
18
18
  center_window(self)
19
19
 
20
- logo = QPixmap(os.sep.join([get_software_location(), 'celldetective', 'icons', 'logo.png']))
20
+ logo = QPixmap(self.celldetective_logo_path)
21
21
 
22
22
  # Create the layout
23
23
  layout = QVBoxLayout(self)
@@ -31,7 +31,7 @@ class AboutWidget(CelldetectiveWidget):
31
31
  """)
32
32
  layout.addWidget(self.soft_name, alignment=Qt.AlignCenter)
33
33
 
34
- self.version_lbl = QLabel(f"Version {__version__} <a href=\"https://github.com/remyeltorro/celldetective"
34
+ self.version_lbl = QLabel(f"Version {__version__} <a href=\"https://github.com/celldetective/celldetective"
35
35
  f"/releases\">(release notes)</a>")
36
36
  self.version_lbl.setOpenExternalLinks(True)
37
37
  layout.addWidget(self.version_lbl, alignment=Qt.AlignCenter)