celldetective 1.5.0b5__tar.gz → 1.5.0b6__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.0b6}/PKG-INFO +20 -7
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/README.md +5 -3
- celldetective-1.5.0b6/celldetective/_version.py +1 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/base_viewer.py +8 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/cellpose_utils/__init__.py +15 -2
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/downloaders.py +48 -14
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/stardist_utils/__init__.py +8 -1
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/PKG-INFO +20 -7
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/SOURCES.txt +1 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/requires.txt +16 -3
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/setup.py +5 -0
- celldetective-1.5.0b6/tests/test_partial_install.py +75 -0
- celldetective-1.5.0b5/celldetective/_version.py +0 -1
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/LICENSE +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/__main__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/datasets/segmentation_annotations/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/datasets/signal_annotations/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/exceptions.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/extra_properties.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/filters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/InitWindow.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/about.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/analyze_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/channel_norm_generator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/components.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/feature_choice.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/figure_canvas.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/list_widget.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/styles.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base/utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/base_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/classifier_widget.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/configure_new_exp.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/control_panel.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/dynamic_progress.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/event_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/generic_signal_plot.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/gui_utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/DL-segmentation-strategy.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/Threshold-vs-DL.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/cell-populations.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/exp-structure.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/feature-btrack.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/neighborhood.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/prefilter-for-segmentation.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/preprocessing.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/propagate-classification.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/track-postprocessing.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/tracking.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/interactions_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/interactive_timeseries_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/json_readers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/background_model_free_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/channel_offset_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/local_correction_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/model_fit_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/operation_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/protocol_designer_layout.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/measure_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/pair_event_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/plot_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/plot_signals_ui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/preprocessing_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/process_block.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/seg_model_loader.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_cellpose_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_event_detection_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_segmentation_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_base.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_event_model_training.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_segmentation_model_training.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_signal_annotator.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_stardist_model_params.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/survival_ui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/tableUI.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_maths.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_merge_groups.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_merge_one_hot.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_query_table.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_rename_col.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/thresholds_gui.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/channel_offset_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/contour_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/size_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/spot_detection_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/viewers/threshold_viewer.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/workers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/logo-large.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/logo.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/signals_icon.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/splash-test.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/splash.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/splash0.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/survival2.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/vignette_signals2.png +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/icons/vignette_signals2.svg +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/links/zenodo.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/log_manager.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/measure.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/pair_signal_detection/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/segmentation_effectors/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/segmentation_generic/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/segmentation_targets/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/signal_detection/blank +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/tracking_configs/biased_motion.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/tracking_configs/mcf7.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/tracking_configs/no_z_motion.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/tracking_configs/ricm.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/models/tracking_configs/ricm2.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/napari/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/napari/utils.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/preprocessing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/background_correction.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/compute_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/detect_events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/downloader.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/load_table.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/measure_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/segment_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/track_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/train_segmentation_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/train_signal_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/processes/unified_process.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/regionprops/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/regionprops/_regionprops.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/regionprops/props.json +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/relative_measurements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/analyze_signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/measure_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/measure_relative.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/segment_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/segment_cells_thresholds.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/track_cells.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/train_segmentation_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/scripts/train_signal_model.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/color_mappings.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/data_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/data_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/dataset_helpers.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/event_detection/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/experiment.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/image_augmenters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/image_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/image_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/image_transforms.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/io.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/mask_cleaning.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/mask_transforms.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/masks.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/maths.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/model_getters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/model_loaders.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/normalization.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/parsing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/plots/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/plots/regression.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/resources.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/stats.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/utils/types.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/dependency_links.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/entry_points.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/not-zip-safe +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective.egg-info/top_level.txt +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/setup.cfg +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/gui/__init__.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/gui/test_enhancements.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/gui/test_measure_annotator_bugfix.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/gui/test_new_project.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/gui/test_project.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_cellpose_fallback.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_events.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_filters.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_io.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_measure.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_neighborhood.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_notebooks.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_preprocessing.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_segmentation.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_signals.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/tests/test_tracking.py +0 -0
- {celldetective-1.5.0b5 → celldetective-1.5.0b6}/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.0b6
|
|
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,19 @@ 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: process
|
|
54
|
+
Requires-Dist: cellpose<3; extra == "process"
|
|
55
|
+
Requires-Dist: stardist; extra == "process"
|
|
56
|
+
Requires-Dist: tensorflow~=2.15.0; extra == "process"
|
|
57
|
+
Provides-Extra: all
|
|
58
|
+
Requires-Dist: cellpose<3; extra == "all"
|
|
59
|
+
Requires-Dist: stardist; extra == "all"
|
|
60
|
+
Requires-Dist: tensorflow~=2.15.0; extra == "all"
|
|
51
61
|
Dynamic: author
|
|
52
62
|
Dynamic: author-email
|
|
53
63
|
Dynamic: description
|
|
@@ -55,6 +65,7 @@ Dynamic: description-content-type
|
|
|
55
65
|
Dynamic: home-page
|
|
56
66
|
Dynamic: license
|
|
57
67
|
Dynamic: license-file
|
|
68
|
+
Dynamic: provides-extra
|
|
58
69
|
Dynamic: requires-dist
|
|
59
70
|
Dynamic: summary
|
|
60
71
|
|
|
@@ -148,10 +159,12 @@ To use the software, you must install python, *e.g.* through
|
|
|
148
159
|
|
|
149
160
|
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
161
|
|
|
151
|
-
With the proper Python version, Celldetective can be directly installed with `pip
|
|
162
|
+
With the proper Python version, Celldetective can be directly installed with `pip`.
|
|
163
|
+
**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
164
|
|
|
165
|
+
If you want the standard full installation (recommended for most users), use:
|
|
153
166
|
``` bash
|
|
154
|
-
pip install celldetective
|
|
167
|
+
pip install celldetective[all]
|
|
155
168
|
```
|
|
156
169
|
|
|
157
170
|
We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
|
|
@@ -160,7 +173,7 @@ with `conda`:
|
|
|
160
173
|
``` bash
|
|
161
174
|
conda create -n celldetective python=3.11 pyqt
|
|
162
175
|
conda activate celldetective
|
|
163
|
-
pip install celldetective
|
|
176
|
+
pip install celldetective[all]
|
|
164
177
|
```
|
|
165
178
|
|
|
166
179
|
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.0b6"
|
|
@@ -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
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/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[process]\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[process]\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.0b6}/celldetective/utils/stardist_utils/__init__.py
RENAMED
|
@@ -43,7 +43,14 @@ 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[process]\n"
|
|
52
|
+
"Or specifically: pip install celldetective[stardist]"
|
|
53
|
+
) from e
|
|
47
54
|
|
|
48
55
|
model = StarDist2D(None, name=model_name, basedir=path)
|
|
49
56
|
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.0b6
|
|
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,19 @@ 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: process
|
|
54
|
+
Requires-Dist: cellpose<3; extra == "process"
|
|
55
|
+
Requires-Dist: stardist; extra == "process"
|
|
56
|
+
Requires-Dist: tensorflow~=2.15.0; extra == "process"
|
|
57
|
+
Provides-Extra: all
|
|
58
|
+
Requires-Dist: cellpose<3; extra == "all"
|
|
59
|
+
Requires-Dist: stardist; extra == "all"
|
|
60
|
+
Requires-Dist: tensorflow~=2.15.0; extra == "all"
|
|
51
61
|
Dynamic: author
|
|
52
62
|
Dynamic: author-email
|
|
53
63
|
Dynamic: description
|
|
@@ -55,6 +65,7 @@ Dynamic: description-content-type
|
|
|
55
65
|
Dynamic: home-page
|
|
56
66
|
Dynamic: license
|
|
57
67
|
Dynamic: license-file
|
|
68
|
+
Dynamic: provides-extra
|
|
58
69
|
Dynamic: requires-dist
|
|
59
70
|
Dynamic: summary
|
|
60
71
|
|
|
@@ -148,10 +159,12 @@ To use the software, you must install python, *e.g.* through
|
|
|
148
159
|
|
|
149
160
|
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
161
|
|
|
151
|
-
With the proper Python version, Celldetective can be directly installed with `pip
|
|
162
|
+
With the proper Python version, Celldetective can be directly installed with `pip`.
|
|
163
|
+
**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
164
|
|
|
165
|
+
If you want the standard full installation (recommended for most users), use:
|
|
153
166
|
``` bash
|
|
154
|
-
pip install celldetective
|
|
167
|
+
pip install celldetective[all]
|
|
155
168
|
```
|
|
156
169
|
|
|
157
170
|
We recommend that you create an environment to use Celldetective, to protect your package versions and fix the Python version *e.g.*
|
|
@@ -160,7 +173,7 @@ with `conda`:
|
|
|
160
173
|
``` bash
|
|
161
174
|
conda create -n celldetective python=3.11 pyqt
|
|
162
175
|
conda activate celldetective
|
|
163
|
-
pip install celldetective
|
|
176
|
+
pip install celldetective[all]
|
|
164
177
|
```
|
|
165
178
|
|
|
166
179
|
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,19 @@ 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
|
+
[process]
|
|
47
|
+
cellpose<3
|
|
48
|
+
stardist
|
|
49
|
+
tensorflow~=2.15.0
|
|
50
|
+
|
|
51
|
+
[tensorflow]
|
|
52
|
+
tensorflow~=2.15.0
|
|
53
|
+
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.0b6}/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.0b6}/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.0b6}/celldetective/gui/help/DL-segmentation-strategy.json
RENAMED
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/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.0b6}/celldetective/gui/help/propagate-classification.json
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/help/track-postprocessing.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/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.0b6}/celldetective/gui/layouts/channel_offset_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/local_correction_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/layouts/model_fit_layout.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/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.0b6}/celldetective/gui/settings/_cellpose_model_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_base.py
RENAMED
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_measurements.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_neighborhood.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_segmentation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_settings_tracking.py
RENAMED
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/settings/_stardist_model_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celldetective-1.5.0b5 → celldetective-1.5.0b6}/celldetective/gui/table_ops/_merge_groups.py
RENAMED
|
File without changes
|