celldetective 1.4.0__py3-none-any.whl → 1.4.1.post1__py3-none-any.whl
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.
- celldetective/_version.py +1 -1
- celldetective/exceptions.py +11 -0
- celldetective/filters.py +7 -1
- celldetective/gui/InitWindow.py +4 -1
- celldetective/gui/__init__.py +2 -9
- celldetective/gui/about.py +2 -2
- celldetective/gui/base_annotator.py +786 -0
- celldetective/gui/classifier_widget.py +18 -13
- celldetective/gui/configure_new_exp.py +51 -30
- celldetective/gui/control_panel.py +10 -7
- celldetective/gui/{signal_annotator.py → event_annotator.py} +473 -1437
- celldetective/gui/generic_signal_plot.py +2 -1
- celldetective/gui/gui_utils.py +5 -2
- celldetective/gui/help/neighborhood.json +2 -2
- celldetective/gui/layouts.py +21 -11
- celldetective/gui/{signal_annotator2.py → pair_event_annotator.py} +3 -1
- celldetective/gui/process_block.py +129 -91
- celldetective/gui/processes/downloader.py +37 -34
- celldetective/gui/processes/measure_cells.py +14 -8
- celldetective/gui/processes/segment_cells.py +438 -314
- celldetective/gui/processes/track_cells.py +12 -13
- celldetective/gui/settings/__init__.py +7 -0
- celldetective/gui/settings/_settings_base.py +70 -0
- celldetective/gui/{retrain_signal_model_options.py → settings/_settings_event_model_training.py} +35 -91
- celldetective/gui/{measurement_options.py → settings/_settings_measurements.py} +28 -81
- celldetective/gui/{neighborhood_options.py → settings/_settings_neighborhood.py} +1 -1
- celldetective/gui/settings/_settings_segmentation.py +49 -0
- celldetective/gui/{retrain_segmentation_model_options.py → settings/_settings_segmentation_model_training.py} +33 -79
- celldetective/gui/{signal_annotator_options.py → settings/_settings_signal_annotator.py} +73 -95
- celldetective/gui/{btrack_options.py → settings/_settings_tracking.py} +64 -87
- celldetective/gui/styles.py +2 -1
- celldetective/gui/survival_ui.py +1 -1
- celldetective/gui/tableUI.py +25 -0
- celldetective/gui/table_ops/__init__.py +0 -0
- celldetective/gui/table_ops/merge_groups.py +118 -0
- celldetective/gui/viewers.py +3 -5
- celldetective/gui/workers.py +0 -2
- celldetective/io.py +98 -55
- celldetective/links/zenodo.json +145 -144
- celldetective/measure.py +31 -26
- celldetective/preprocessing.py +34 -21
- celldetective/regionprops/_regionprops.py +16 -5
- celldetective/scripts/measure_cells.py +5 -5
- celldetective/scripts/measure_relative.py +16 -11
- celldetective/scripts/segment_cells.py +4 -4
- celldetective/scripts/segment_cells_thresholds.py +3 -3
- celldetective/scripts/track_cells.py +7 -7
- celldetective/scripts/train_segmentation_model.py +10 -1
- celldetective/tracking.py +10 -4
- celldetective/utils.py +59 -58
- {celldetective-1.4.0.dist-info → celldetective-1.4.1.post1.dist-info}/METADATA +1 -1
- celldetective-1.4.1.post1.dist-info/RECORD +123 -0
- tests/gui/__init__.py +0 -0
- tests/gui/test_new_project.py +228 -0
- tests/{test_qt.py → gui/test_project.py} +22 -26
- tests/test_preprocessing.py +2 -2
- celldetective/models/segmentation_effectors/ricm_bf_all_last/config_input.json +0 -79
- celldetective/models/segmentation_effectors/ricm_bf_all_last/ricm_bf_all_last +0 -0
- celldetective/models/segmentation_effectors/ricm_bf_all_last/training_instructions.json +0 -37
- celldetective/models/segmentation_effectors/test-transfer/config_input.json +0 -39
- celldetective/models/segmentation_effectors/test-transfer/test-transfer +0 -0
- celldetective/models/signal_detection/NucCond/classification_loss.png +0 -0
- celldetective/models/signal_detection/NucCond/classifier.h5 +0 -0
- celldetective/models/signal_detection/NucCond/config_input.json +0 -1
- celldetective/models/signal_detection/NucCond/log_classifier.csv +0 -126
- celldetective/models/signal_detection/NucCond/log_regressor.csv +0 -282
- celldetective/models/signal_detection/NucCond/regression_loss.png +0 -0
- celldetective/models/signal_detection/NucCond/regressor.h5 +0 -0
- celldetective/models/signal_detection/NucCond/scores.npy +0 -0
- celldetective/models/signal_detection/NucCond/test_confusion_matrix.png +0 -0
- celldetective/models/signal_detection/NucCond/test_regression.png +0 -0
- celldetective/models/signal_detection/NucCond/validation_confusion_matrix.png +0 -0
- celldetective/models/signal_detection/NucCond/validation_regression.png +0 -0
- celldetective-1.4.0.dist-info/RECORD +0 -131
- {celldetective-1.4.0.dist-info → celldetective-1.4.1.post1.dist-info}/WHEEL +0 -0
- {celldetective-1.4.0.dist-info → celldetective-1.4.1.post1.dist-info}/entry_points.txt +0 -0
- {celldetective-1.4.0.dist-info → celldetective-1.4.1.post1.dist-info}/licenses/LICENSE +0 -0
- {celldetective-1.4.0.dist-info → celldetective-1.4.1.post1.dist-info}/top_level.txt +0 -0
|
@@ -6,7 +6,7 @@ import json
|
|
|
6
6
|
from pathlib import Path, PurePath
|
|
7
7
|
|
|
8
8
|
from celldetective.io import auto_load_number_of_frames, load_frames, locate_labels
|
|
9
|
-
from celldetective.utils import extract_experiment_channels,
|
|
9
|
+
from celldetective.utils import extract_experiment_channels, config_section_to_dict, _get_img_num_per_channel
|
|
10
10
|
from celldetective.utils import remove_trajectory_measurements, _extract_coordinates_from_features, _remove_invalid_cols
|
|
11
11
|
from celldetective.measure import drop_tonal_features, measure_features, measure_isotropic_intensity, measure_radial_distance_to_center, center_of_mass_to_abs_coordinates
|
|
12
12
|
|
|
@@ -17,9 +17,14 @@ import concurrent.futures
|
|
|
17
17
|
import pandas as pd
|
|
18
18
|
from natsort import natsorted
|
|
19
19
|
from art import tprint
|
|
20
|
+
from typing import Optional, Union
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class MeasurementProcess(Process):
|
|
24
|
+
|
|
25
|
+
pos: Optional[Union[str,Path]] = None
|
|
26
|
+
mode: Optional[str] = None
|
|
27
|
+
n_threads: int = 1
|
|
23
28
|
|
|
24
29
|
def __init__(self, queue=None, process_args=None):
|
|
25
30
|
|
|
@@ -173,12 +178,12 @@ class MeasurementProcess(Process):
|
|
|
173
178
|
|
|
174
179
|
def extract_experiment_parameters(self):
|
|
175
180
|
|
|
176
|
-
self.movie_prefix =
|
|
177
|
-
self.spatial_calibration = float(
|
|
178
|
-
self.time_calibration = float(
|
|
179
|
-
self.len_movie = float(
|
|
180
|
-
self.shape_x = int(
|
|
181
|
-
self.shape_y = int(
|
|
181
|
+
self.movie_prefix = config_section_to_dict(self.config, "MovieSettings")["movie_prefix"]
|
|
182
|
+
self.spatial_calibration = float(config_section_to_dict(self.config, "MovieSettings")["pxtoum"])
|
|
183
|
+
self.time_calibration = float(config_section_to_dict(self.config, "MovieSettings")["frametomin"])
|
|
184
|
+
self.len_movie = float(config_section_to_dict(self.config, "MovieSettings")["len_movie"])
|
|
185
|
+
self.shape_x = int(config_section_to_dict(self.config, "MovieSettings")["shape_x"])
|
|
186
|
+
self.shape_y = int(config_section_to_dict(self.config, "MovieSettings")["shape_y"])
|
|
182
187
|
|
|
183
188
|
self.channel_names, self.channel_indices = extract_experiment_channels(self.exp_dir)
|
|
184
189
|
self.nbr_channels = len(self.channel_names)
|
|
@@ -331,7 +336,8 @@ class MeasurementProcess(Process):
|
|
|
331
336
|
|
|
332
337
|
df = df.reset_index(drop=True)
|
|
333
338
|
df = _remove_invalid_cols(df)
|
|
334
|
-
|
|
339
|
+
df = df.replace([np.inf, -np.inf], np.nan)
|
|
340
|
+
|
|
335
341
|
df.to_csv(self.pos+os.sep.join(["output", "tables", self.table_name]), index=False)
|
|
336
342
|
print(f'Measurement table successfully exported in {os.sep.join(["output", "tables"])}...')
|
|
337
343
|
print('Done.')
|