celldetective 1.5.0b5__tar.gz → 1.5.0b7__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.
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/PKG-INFO +16 -7
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/README.md +5 -3
- celldetective-1.5.0b7/celldetective/_version.py +1 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/base_viewer.py +8 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/unified_process.py +16 -2
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/cellpose_utils/__init__.py +15 -2
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/downloaders.py +48 -14
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/stardist_utils/__init__.py +7 -1
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/PKG-INFO +16 -7
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/SOURCES.txt +1 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/requires.txt +11 -3
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/setup.py +5 -0
- celldetective-1.5.0b7/tests/test_partial_install.py +75 -0
- celldetective-1.5.0b5/celldetective/_version.py +0 -1
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/LICENSE +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/__main__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/datasets/segmentation_annotations/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/datasets/signal_annotations/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/exceptions.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/extra_properties.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/filters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/InitWindow.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/about.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/analyze_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/channel_norm_generator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/components.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/feature_choice.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/figure_canvas.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/list_widget.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/styles.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/classifier_widget.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/configure_new_exp.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/control_panel.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/dynamic_progress.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/event_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/generic_signal_plot.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/gui_utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/DL-segmentation-strategy.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/Threshold-vs-DL.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/cell-populations.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/exp-structure.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/feature-btrack.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/neighborhood.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/prefilter-for-segmentation.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/preprocessing.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/propagate-classification.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/track-postprocessing.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/tracking.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/interactions_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/interactive_timeseries_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/json_readers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/background_model_free_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/channel_offset_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/local_correction_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/model_fit_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/operation_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/protocol_designer_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/measure_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/pair_event_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/plot_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/plot_signals_ui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/preprocessing_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/process_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/seg_model_loader.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_cellpose_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_event_detection_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_segmentation_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_base.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_event_model_training.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_segmentation_model_training.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_signal_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_stardist_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/survival_ui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/tableUI.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/_maths.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/_merge_groups.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/_merge_one_hot.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/_query_table.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/table_ops/_rename_col.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/thresholds_gui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/channel_offset_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/contour_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/size_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/spot_detection_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/viewers/threshold_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/workers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/logo-large.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/logo.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/signals_icon.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/splash-test.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/splash.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/splash0.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/survival2.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/vignette_signals2.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/icons/vignette_signals2.svg +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/links/zenodo.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/log_manager.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/measure.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/pair_signal_detection/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/segmentation_effectors/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/segmentation_generic/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/segmentation_targets/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/signal_detection/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/tracking_configs/biased_motion.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/tracking_configs/mcf7.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/tracking_configs/no_z_motion.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/tracking_configs/ricm.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/models/tracking_configs/ricm2.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/napari/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/napari/utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/preprocessing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/background_correction.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/compute_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/detect_events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/downloader.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/load_table.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/measure_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/segment_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/track_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/train_segmentation_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/processes/train_signal_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/regionprops/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/regionprops/_regionprops.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/regionprops/props.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/relative_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/analyze_signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/measure_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/measure_relative.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/segment_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/segment_cells_thresholds.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/track_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/train_segmentation_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/scripts/train_signal_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/color_mappings.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/data_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/data_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/dataset_helpers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/event_detection/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/experiment.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/image_augmenters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/image_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/image_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/image_transforms.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/io.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/mask_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/mask_transforms.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/masks.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/maths.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/model_getters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/model_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/normalization.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/parsing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/plots/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/plots/regression.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/resources.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/stats.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/types.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/dependency_links.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/entry_points.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/not-zip-safe +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective.egg-info/top_level.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/setup.cfg +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/gui/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/gui/test_enhancements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/gui/test_measure_annotator_bugfix.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/gui/test_new_project.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/gui/test_project.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_cellpose_fallback.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_filters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_io.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_measure.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_notebooks.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_preprocessing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b7}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: celldetective
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.0b7
|
|
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
|
|
@@ -48,6 +45,15 @@ Requires-Dist: prettyprint
|
|
|
48
45
|
Requires-Dist: pandas
|
|
49
46
|
Requires-Dist: matplotlib
|
|
50
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"
|
|
51
57
|
Dynamic: author
|
|
52
58
|
Dynamic: author-email
|
|
53
59
|
Dynamic: description
|
|
@@ -55,6 +61,7 @@ Dynamic: description-content-type
|
|
|
55
61
|
Dynamic: home-page
|
|
56
62
|
Dynamic: license
|
|
57
63
|
Dynamic: license-file
|
|
64
|
+
Dynamic: provides-extra
|
|
58
65
|
Dynamic: requires-dist
|
|
59
66
|
Dynamic: summary
|
|
60
67
|
|
|
@@ -148,10 +155,12 @@ To use the software, you must install python, *e.g.* through
|
|
|
148
155
|
|
|
149
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.
|
|
150
157
|
|
|
151
|
-
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`).
|
|
152
160
|
|
|
161
|
+
If you want the standard full installation (recommended for most users), use:
|
|
153
162
|
``` bash
|
|
154
|
-
pip install celldetective
|
|
163
|
+
pip install celldetective[all]
|
|
155
164
|
```
|
|
156
165
|
|
|
157
166
|
We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
|
|
@@ -160,7 +169,7 @@ with `conda`:
|
|
|
160
169
|
``` bash
|
|
161
170
|
conda create -n celldetective python=3.11 pyqt
|
|
162
171
|
conda activate celldetective
|
|
163
|
-
pip install celldetective
|
|
172
|
+
pip install celldetective[all]
|
|
164
173
|
```
|
|
165
174
|
|
|
166
175
|
Need an update? Simply type the following in the terminal (in your
|
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.5.0b7"
|
|
@@ -879,6 +879,14 @@ class StackVisualizer(CelldetectiveWidget):
|
|
|
879
879
|
# Event handler for closing the widget
|
|
880
880
|
if self.loader_thread:
|
|
881
881
|
self.loader_thread.stop()
|
|
882
|
+
self.loader_thread = None
|
|
882
883
|
if hasattr(self, "frame_cache") and isinstance(self.frame_cache, OrderedDict):
|
|
883
884
|
self.frame_cache.clear()
|
|
884
885
|
self.canvas.close()
|
|
886
|
+
|
|
887
|
+
def __del__(self):
|
|
888
|
+
try:
|
|
889
|
+
if hasattr(self, "loader_thread") and self.loader_thread:
|
|
890
|
+
self.loader_thread.stop()
|
|
891
|
+
except:
|
|
892
|
+
pass
|
|
@@ -122,15 +122,29 @@ class UnifiedBatchProcess(Process):
|
|
|
122
122
|
signal_model = None
|
|
123
123
|
|
|
124
124
|
if self.run_signals:
|
|
125
|
-
from celldetective.utils.event_detection import _prep_event_detection_model
|
|
126
|
-
|
|
127
125
|
try:
|
|
126
|
+
from celldetective.utils.event_detection import (
|
|
127
|
+
_prep_event_detection_model,
|
|
128
|
+
)
|
|
129
|
+
|
|
128
130
|
logger.info("Loading the event detection model...")
|
|
129
131
|
self.queue.put({"status": "Loading event detection model..."})
|
|
130
132
|
model_name = self.signal_args["model_name"]
|
|
131
133
|
signal_model = _prep_event_detection_model(
|
|
132
134
|
model_name, use_gpu=self.signal_args.get("gpu", True)
|
|
133
135
|
)
|
|
136
|
+
except (ImportError, ModuleNotFoundError) as e:
|
|
137
|
+
if "tensorflow" in str(e):
|
|
138
|
+
logger.warning(
|
|
139
|
+
"Tensorflow not found/installed. Signal analysis will be skipped."
|
|
140
|
+
)
|
|
141
|
+
self.run_signals = False
|
|
142
|
+
else:
|
|
143
|
+
logger.error(
|
|
144
|
+
f"Failed to initialize event detection model: {e}",
|
|
145
|
+
exc_info=True,
|
|
146
|
+
)
|
|
147
|
+
self.run_signals = False
|
|
134
148
|
except Exception as e:
|
|
135
149
|
logger.error(
|
|
136
150
|
f"Failed to initialize event detection model: {e}", exc_info=True
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/cellpose_utils/__init__.py
RENAMED
|
@@ -104,14 +104,27 @@ def _prep_cellpose_model(
|
|
|
104
104
|
`diam_labels` are attributes of the model.
|
|
105
105
|
"""
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
try:
|
|
108
|
+
import torch
|
|
109
|
+
except ImportError as e:
|
|
110
|
+
raise RuntimeError(
|
|
111
|
+
"Torch is not installed. Please install it to use this feature.\n"
|
|
112
|
+
"You can install the full package with: pip install celldetective[all]\n"
|
|
113
|
+
) from e
|
|
108
114
|
|
|
109
115
|
if not use_gpu:
|
|
110
116
|
device = torch.device("cpu")
|
|
111
117
|
else:
|
|
112
118
|
device = torch.device("cuda")
|
|
113
119
|
|
|
114
|
-
|
|
120
|
+
try:
|
|
121
|
+
from cellpose.models import CellposeModel
|
|
122
|
+
except ImportError as e:
|
|
123
|
+
raise RuntimeError(
|
|
124
|
+
"Cellpose is not installed. Please install it to use this feature.\n"
|
|
125
|
+
"You can install the full package with: pip install celldetective[all]\n"
|
|
126
|
+
"Or specifically: pip install celldetective[cellpose]"
|
|
127
|
+
) from e
|
|
115
128
|
|
|
116
129
|
try:
|
|
117
130
|
model = CellposeModel(
|
|
@@ -77,18 +77,39 @@ def download_url_to_file(url, dst, progress=True):
|
|
|
77
77
|
Default: True
|
|
78
78
|
|
|
79
79
|
"""
|
|
80
|
-
file_size = None
|
|
81
80
|
import ssl
|
|
81
|
+
import time
|
|
82
|
+
from urllib.error import HTTPError, URLError
|
|
82
83
|
|
|
84
|
+
file_size = None
|
|
83
85
|
ssl._create_default_https_context = ssl._create_unverified_context
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
|
|
87
|
+
# Retry configuration
|
|
88
|
+
max_retries = 5
|
|
89
|
+
retry_delay = 10 # Initial delay in seconds
|
|
90
|
+
|
|
91
|
+
for attempt in range(max_retries):
|
|
92
|
+
try:
|
|
93
|
+
u = urlopen(url)
|
|
94
|
+
meta = u.info()
|
|
95
|
+
if hasattr(meta, "getheaders"):
|
|
96
|
+
content_length = meta.getheaders("Content-Length")
|
|
97
|
+
else:
|
|
98
|
+
content_length = meta.get_all("Content-Length")
|
|
99
|
+
if content_length is not None and len(content_length) > 0:
|
|
100
|
+
file_size = int(content_length[0])
|
|
101
|
+
break # Success
|
|
102
|
+
except (HTTPError, URLError) as e:
|
|
103
|
+
if attempt < max_retries - 1:
|
|
104
|
+
logger.warning(
|
|
105
|
+
f"Download check failed: {e}. Retrying in {retry_delay}s..."
|
|
106
|
+
)
|
|
107
|
+
time.sleep(retry_delay)
|
|
108
|
+
retry_delay *= 2 # Exponential backoff
|
|
109
|
+
else:
|
|
110
|
+
logger.error(f"Download check failed after {max_retries} attempts: {e}")
|
|
111
|
+
raise e
|
|
112
|
+
|
|
92
113
|
# We deliberately save it in a temp file and move it after
|
|
93
114
|
dst = os.path.expanduser(dst)
|
|
94
115
|
dst_dir = os.path.dirname(dst)
|
|
@@ -143,14 +164,27 @@ def download_url_to_file(url, dst, progress=True):
|
|
|
143
164
|
unit_divisor=1024,
|
|
144
165
|
) as pbar:
|
|
145
166
|
while True:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
167
|
+
try:
|
|
168
|
+
buffer = u.read(8192) # 8192
|
|
169
|
+
if len(buffer) == 0:
|
|
170
|
+
break
|
|
171
|
+
f.write(buffer)
|
|
172
|
+
pbar.update(len(buffer))
|
|
173
|
+
except (HTTPError, URLError) as e:
|
|
174
|
+
# Attempt rudimentary resume-like behavior or just fail?
|
|
175
|
+
# Simple retry of read is hard without Range headers on a stream.
|
|
176
|
+
# Best to just fail the whole download and rely on outer retry if we wrapped the whole thing.
|
|
177
|
+
# For now, let's just let it raise, but really we should wrap the whole download block.
|
|
178
|
+
raise e
|
|
151
179
|
|
|
152
180
|
f.close()
|
|
153
181
|
shutil.move(f.name, dst)
|
|
182
|
+
except Exception as e:
|
|
183
|
+
f.close()
|
|
184
|
+
remove_file_if_exists(f.name)
|
|
185
|
+
# If we failed during download reading (after open), we should probably retry the whole function from start
|
|
186
|
+
# but that requires significant refactoring. Given the error was 504 on open, the retry block above handles it.
|
|
187
|
+
raise e
|
|
154
188
|
finally:
|
|
155
189
|
f.close()
|
|
156
190
|
remove_file_if_exists(f.name)
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/utils/stardist_utils/__init__.py
RENAMED
|
@@ -43,7 +43,13 @@ def _prep_stardist_model(
|
|
|
43
43
|
- GPU support depends on the availability of compatible hardware and software setup.
|
|
44
44
|
"""
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
try:
|
|
47
|
+
from stardist.models import StarDist2D
|
|
48
|
+
except ImportError as e:
|
|
49
|
+
raise RuntimeError(
|
|
50
|
+
"StarDist is not installed. Please install it to use this feature.\n"
|
|
51
|
+
"You can install the full package with: pip install celldetective[all]"
|
|
52
|
+
) from e
|
|
47
53
|
|
|
48
54
|
model = StarDist2D(None, name=model_name, basedir=path)
|
|
49
55
|
model.config.use_gpu = use_gpu
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: celldetective
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.0b7
|
|
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
|
|
@@ -48,6 +45,15 @@ Requires-Dist: prettyprint
|
|
|
48
45
|
Requires-Dist: pandas
|
|
49
46
|
Requires-Dist: matplotlib
|
|
50
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"
|
|
51
57
|
Dynamic: author
|
|
52
58
|
Dynamic: author-email
|
|
53
59
|
Dynamic: description
|
|
@@ -55,6 +61,7 @@ Dynamic: description-content-type
|
|
|
55
61
|
Dynamic: home-page
|
|
56
62
|
Dynamic: license
|
|
57
63
|
Dynamic: license-file
|
|
64
|
+
Dynamic: provides-extra
|
|
58
65
|
Dynamic: requires-dist
|
|
59
66
|
Dynamic: summary
|
|
60
67
|
|
|
@@ -148,10 +155,12 @@ To use the software, you must install python, *e.g.* through
|
|
|
148
155
|
|
|
149
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.
|
|
150
157
|
|
|
151
|
-
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`).
|
|
152
160
|
|
|
161
|
+
If you want the standard full installation (recommended for most users), use:
|
|
153
162
|
``` bash
|
|
154
|
-
pip install celldetective
|
|
163
|
+
pip install celldetective[all]
|
|
155
164
|
```
|
|
156
165
|
|
|
157
166
|
We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
|
|
@@ -160,7 +169,7 @@ with `conda`:
|
|
|
160
169
|
``` bash
|
|
161
170
|
conda create -n celldetective python=3.11 pyqt
|
|
162
171
|
conda activate celldetective
|
|
163
|
-
pip install celldetective
|
|
172
|
+
pip install celldetective[all]
|
|
164
173
|
```
|
|
165
174
|
|
|
166
175
|
Need an update? Simply type the following in the terminal (in your
|
|
@@ -5,11 +5,8 @@ sphinx_rtd_theme
|
|
|
5
5
|
sphinx
|
|
6
6
|
jinja2
|
|
7
7
|
ipykernel
|
|
8
|
-
stardist
|
|
9
|
-
cellpose<3
|
|
10
8
|
scikit-learn
|
|
11
9
|
btrack
|
|
12
|
-
tensorflow~=2.15.0
|
|
13
10
|
napari<0.6.0
|
|
14
11
|
tqdm
|
|
15
12
|
mahotas
|
|
@@ -38,3 +35,14 @@ prettyprint
|
|
|
38
35
|
pandas
|
|
39
36
|
matplotlib
|
|
40
37
|
prettytable
|
|
38
|
+
scikit-image
|
|
39
|
+
natsort
|
|
40
|
+
|
|
41
|
+
[all]
|
|
42
|
+
cellpose<3
|
|
43
|
+
stardist
|
|
44
|
+
tensorflow~=2.15.0
|
|
45
|
+
|
|
46
|
+
[tensorflow]
|
|
47
|
+
tensorflow~=2.15.0
|
|
48
|
+
stardist
|
|
@@ -70,5 +70,10 @@ setup(
|
|
|
70
70
|
"console_scripts": ["celldetective = celldetective.__main__:main"],
|
|
71
71
|
},
|
|
72
72
|
install_requires=requirements,
|
|
73
|
+
extras_require={
|
|
74
|
+
"tensorflow": ["tensorflow~=2.15.0", "stardist"],
|
|
75
|
+
#"process": ["cellpose<3", "stardist", "tensorflow~=2.15.0"],
|
|
76
|
+
"all": ["cellpose<3", "stardist", "tensorflow~=2.15.0"],
|
|
77
|
+
},
|
|
73
78
|
# dependency_links = links
|
|
74
79
|
)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
from unittest.mock import MagicMock, patch
|
|
3
|
+
import sys
|
|
4
|
+
import importlib
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class TestPartialValidation(unittest.TestCase):
|
|
8
|
+
|
|
9
|
+
def test_imports_without_extras(self):
|
|
10
|
+
"""Test that main modules can be imported even if optional extras are missing."""
|
|
11
|
+
# This test assumes the environment MIGHT have them, so we must mock them as missing
|
|
12
|
+
# to ensure the code handles it.
|
|
13
|
+
|
|
14
|
+
with patch.dict(
|
|
15
|
+
sys.modules,
|
|
16
|
+
{
|
|
17
|
+
"tensorflow": None,
|
|
18
|
+
"torch": None,
|
|
19
|
+
"stardist": None,
|
|
20
|
+
"cellpose": None,
|
|
21
|
+
"cellpose.models": None,
|
|
22
|
+
"stardist.models": None,
|
|
23
|
+
},
|
|
24
|
+
):
|
|
25
|
+
# Force reload of celldetective.segmentation to test its imports
|
|
26
|
+
try:
|
|
27
|
+
import celldetective.segmentation
|
|
28
|
+
|
|
29
|
+
importlib.reload(celldetective.segmentation)
|
|
30
|
+
except ImportError as e:
|
|
31
|
+
self.fail(
|
|
32
|
+
f"Could not import celldetective.segmentation without extras: {e}"
|
|
33
|
+
)
|
|
34
|
+
except Exception as e:
|
|
35
|
+
self.fail(f"Unexpected error importing celldetective.segmentation: {e}")
|
|
36
|
+
|
|
37
|
+
def test_graceful_failure_stardist(self):
|
|
38
|
+
"""Test that calling stardist functions raises RuntimeError if missing."""
|
|
39
|
+
with patch.dict(sys.modules, {"stardist": None, "stardist.models": None}):
|
|
40
|
+
# We need to reload the util module to pick up the missing module
|
|
41
|
+
import celldetective.utils.stardist_utils
|
|
42
|
+
|
|
43
|
+
importlib.reload(celldetective.utils.stardist_utils)
|
|
44
|
+
|
|
45
|
+
from celldetective.utils.stardist_utils import _prep_stardist_model
|
|
46
|
+
|
|
47
|
+
with self.assertRaises(RuntimeError) as cm:
|
|
48
|
+
_prep_stardist_model("fake_model", "fake_path")
|
|
49
|
+
|
|
50
|
+
self.assertIn("StarDist is not installed", str(cm.exception))
|
|
51
|
+
|
|
52
|
+
def test_graceful_failure_cellpose(self):
|
|
53
|
+
"""Test that calling cellpose functions raises RuntimeError if missing."""
|
|
54
|
+
with patch.dict(
|
|
55
|
+
sys.modules, {"cellpose": None, "cellpose.models": None, "torch": None}
|
|
56
|
+
):
|
|
57
|
+
import celldetective.utils.cellpose_utils
|
|
58
|
+
|
|
59
|
+
importlib.reload(celldetective.utils.cellpose_utils)
|
|
60
|
+
|
|
61
|
+
from celldetective.utils.cellpose_utils import _prep_cellpose_model
|
|
62
|
+
|
|
63
|
+
with self.assertRaises(RuntimeError) as cm:
|
|
64
|
+
_prep_cellpose_model("fake_model", "fake_path")
|
|
65
|
+
|
|
66
|
+
# Message check might correspond to torch or cellpose depending on which import hits first
|
|
67
|
+
# Our code checks torch first.
|
|
68
|
+
self.assertTrue(
|
|
69
|
+
"Torch is not installed" in str(cm.exception)
|
|
70
|
+
or "Cellpose is not installed" in str(cm.exception)
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
if __name__ == "__main__":
|
|
75
|
+
unittest.main()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.5.0b5"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/datasets/signal_annotations/blank
RENAMED
|
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
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/base/channel_norm_generator.py
RENAMED
|
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
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/DL-segmentation-strategy.json
RENAMED
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/cell-populations.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/propagate-classification.json
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/help/track-postprocessing.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/interactive_timeseries_viewer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/channel_offset_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/local_correction_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/model_fit_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/layouts/operation_layout.py
RENAMED
|
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
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_cellpose_model_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_base.py
RENAMED
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_measurements.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_neighborhood.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b7}/celldetective/gui/settings/_settings_segmentation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|