spacr 0.3.46__tar.gz → 0.3.50__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.
- {spacr-0.3.46/spacr.egg-info → spacr-0.3.50}/PKG-INFO +2 -1
- {spacr-0.3.46 → spacr-0.3.50}/setup.py +2 -1
- spacr-0.3.50/spacr/chat_bot.py +31 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/gui_elements.py +33 -7
- {spacr-0.3.46 → spacr-0.3.50}/spacr/ml.py +478 -76
- {spacr-0.3.46 → spacr-0.3.50}/spacr/plot.py +488 -47
- {spacr-0.3.46 → spacr-0.3.50}/spacr/sequencing.py +122 -1
- {spacr-0.3.46 → spacr-0.3.50}/spacr/settings.py +2 -1
- spacr-0.3.50/spacr/toxo.py +453 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/utils.py +27 -4
- {spacr-0.3.46 → spacr-0.3.50/spacr.egg-info}/PKG-INFO +2 -1
- {spacr-0.3.46 → spacr-0.3.50}/spacr.egg-info/SOURCES.txt +1 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr.egg-info/requires.txt +1 -0
- spacr-0.3.46/spacr/toxo.py +0 -334
- {spacr-0.3.46 → spacr-0.3.50}/.readthedocs.yaml +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/LICENSE +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/MANIFEST.in +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/README.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/deploy_docs.sh +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/requirements.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/Makefile +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/doctrees/environment.pickle +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/index.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_annotate.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_classify.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_make_masks.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_mask.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_measure.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_sequencing.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/app_umap.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/core.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/deep_spacr.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/graph_learning.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/gui.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/gui_core.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/gui_elements.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/gui_utils.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/io.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/logger.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/measure.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/plot.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/sequencing.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/settings.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/sim.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/timelapse.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_modules/spacr/utils.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_sources/index.rst.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_sources/modules.rst.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_sources/spacr.rst.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/basic.css +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/badge_only.css +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-bold.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-normal.woff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/css/theme.css +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/doctools.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/documentation_options.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/file.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/jquery.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/js/badge_only.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/js/html5shiv-printshiv.min.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/js/html5shiv.min.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/js/theme.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/language_data.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/minus.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/plus.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/pygments.css +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/searchtools.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/_static/sphinx_highlight.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/genindex.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/index.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/modules.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/objects.inv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/py-modindex.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/search.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/searchindex.js +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/_build/html/spacr.html +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/conf.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/index.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/make.bat +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/modules.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/docs/source/spacr.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/environment.yaml +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/fonts/OpenSans-Regular.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/notebooks/cv_scoring_nb.ipynb +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/notebooks/deep_learning_spacr.ipynb +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/notebooks/machine_learning_spacr_nb.ipynb +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/notebooks/spacr_0.1_all_settings_git.ipynb +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/notebooks/spacr_0.1_minimal.ipynb +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/path/home/carruthers/datasets/plate1/measurements/measurements.db +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/path/home/carruthers/datasets/plate1/settings/measure_crop_settings.csv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/path/settings/preprocess_generate_masks_settings.csv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/requirements.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/settings/measure_crop_settings.csv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/setup.cfg +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/setup_docs.sh +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/source/conf.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/source/index.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/source/modules.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/source/setup.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/source/spacr.rst +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/__main__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_annotate.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_classify.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_make_masks.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_mask.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_measure.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_sequencing.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/app_umap.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/cellpose.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/core.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/deep_spacr.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/gui.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/gui_core.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/gui_utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/io.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/logger.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/measure.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/mediar.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/openai.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/.gitignore +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/LICENSE +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/README.md +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/SetupDict.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/baseline.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/mediar_example.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/pred/pred_mediar.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step1_pretraining/phase1.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step1_pretraining/phase2.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step2_finetuning/finetuning1.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step2_finetuning/finetuning2.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step3_prediction/base_prediction.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/config/step3_prediction/ensemble_tta.json +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/BasePredictor.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/BaseTrainer.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/Baseline/Predictor.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/Baseline/Trainer.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/Baseline/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/Baseline/utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/MEDIAR/EnsemblePredictor.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/MEDIAR/Predictor.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/MEDIAR/Trainer.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/MEDIAR/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/MEDIAR/utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/core/utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/evaluate.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/generate_mapping.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/examples/img1.tiff +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/examples/img2.tif +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/failure_cases.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/mediar_framework.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/mediar_model.PNG +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/image/mediar_results.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/main.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/predict.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/requirements.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/custom/CellAware.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/custom/LoadImage.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/custom/NormalizeImage.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/custom/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/custom/modalities.pkl +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/datasetter.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/transforms.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/data_utils/utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/measures.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/models/MEDIARFormer.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/models/__init__.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/MEDIAR/train_tools/utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/data/lopit.csv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/data/toxoplasma_metadata.csv +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/OFL.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/README.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-Bold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-BoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-ExtraBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-Italic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-Light.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-LightItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-Medium.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-MediumItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-Regular.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-SemiBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/abort.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/annotate.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/cellpose_all.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/cellpose_masks.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/classify.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/convert.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/default.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/dna_matrix.mp4 +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/download.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/logo.pdf +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/logo_spacr.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/logo_spacr_1.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/make_masks.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/map_barcodes.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/mask.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/measure.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/ml_analyze.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/plaque.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/recruitment.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/regression.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/run.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/sequencing.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/settings.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/train_cellpose.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/icons/umap.png +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/images/plate1_E01_T0001F001L01A01Z01C02.tif +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/images/plate1_E01_T0001F001L01A02Z01C01.tif +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/resources/images/plate1_E01_T0001F001L01A03Z01C03.tif +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/sim.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/submodules.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/timelapse.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr/version.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr.egg-info/dependency_links.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr.egg-info/entry_points.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/spacr.egg-info/top_level.txt +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_annotate_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_core.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_gui_classify_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_gui_mask_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_gui_measure_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_gui_sim_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_gui_utils.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_io.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_mask_app.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_measure.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_plot.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_sim.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_timelapse.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_train.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_umap.py +0 -0
- {spacr-0.3.46 → spacr-0.3.50}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: spacr
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.50
|
4
4
|
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
5
|
Home-page: https://github.com/EinarOlafsson/spacr
|
6
6
|
Author: Einar Birnir Olafsson
|
@@ -66,6 +66,7 @@ Requires-Dist: gdown
|
|
66
66
|
Requires-Dist: IPython<9.0,>=8.18.1
|
67
67
|
Requires-Dist: ipykernel
|
68
68
|
Requires-Dist: ipywidgets<9.0,>=8.1.2
|
69
|
+
Requires-Dist: brokenaxes<1.0,>=0.6.2
|
69
70
|
Requires-Dist: huggingface-hub<0.25,>=0.24.0
|
70
71
|
Provides-Extra: dev
|
71
72
|
Requires-Dist: pytest<3.11,>=3.9; extra == "dev"
|
@@ -62,12 +62,13 @@ dependencies = [
|
|
62
62
|
'IPython>=8.18.1,<9.0',
|
63
63
|
'ipykernel',
|
64
64
|
'ipywidgets>=8.1.2,<9.0',
|
65
|
+
'brokenaxes>=0.6.2,<1.0',
|
65
66
|
'huggingface-hub>=0.24.0,<0.25'
|
66
67
|
]
|
67
68
|
|
68
69
|
setup(
|
69
70
|
name="spacr",
|
70
|
-
version="0.3.
|
71
|
+
version="0.3.50",
|
71
72
|
author="Einar Birnir Olafsson",
|
72
73
|
author_email="olafsson@med.umich.com",
|
73
74
|
description="Spatial phenotype analysis of crisp screens (SpaCr)",
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import os
|
2
|
+
import torch
|
3
|
+
from multiprocessing import Queue
|
4
|
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
5
|
+
|
6
|
+
# Disable parallelism warnings
|
7
|
+
os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
8
|
+
|
9
|
+
def load_model(model_queue):
|
10
|
+
"""Load the Falcon-7B model and send the status via a queue."""
|
11
|
+
try:
|
12
|
+
print("Loading Falcon-7B model...")
|
13
|
+
tokenizer = AutoTokenizer.from_pretrained("tiiuae/falcon-7b")
|
14
|
+
|
15
|
+
# Set `pad_token` to `eos_token` if not already set
|
16
|
+
if tokenizer.pad_token is None:
|
17
|
+
tokenizer.pad_token = tokenizer.eos_token
|
18
|
+
|
19
|
+
model = AutoModelForCausalLM.from_pretrained("tiiuae/falcon-7b")
|
20
|
+
model.config.pad_token_id = tokenizer.pad_token_id
|
21
|
+
|
22
|
+
# Send the loaded model and tokenizer back via the queue
|
23
|
+
model_queue.put((model, tokenizer, "Model loaded successfully!"))
|
24
|
+
except Exception as e:
|
25
|
+
model_queue.put((None, None, f"Error loading model: {e}"))
|
26
|
+
|
27
|
+
def language_chat(tokenizer, model, user_input):
|
28
|
+
inputs = tokenizer(user_input, return_tensors="pt", padding=True, truncation=True)
|
29
|
+
outputs = model.generate(inputs.input_ids, max_length=256, pad_token_id=tokenizer.eos_token_id)
|
30
|
+
return tokenizer.decode(outputs[0], skip_special_tokens=True)
|
31
|
+
|
@@ -16,7 +16,8 @@ from collections import deque
|
|
16
16
|
from skimage.draw import polygon, line
|
17
17
|
from skimage.transform import resize
|
18
18
|
from scipy.ndimage import binary_fill_holes, label
|
19
|
-
from tkinter import ttk, scrolledtext
|
19
|
+
from tkinter import ttk, scrolledtext
|
20
|
+
from skimage.color import rgb2gray
|
20
21
|
|
21
22
|
fig = None
|
22
23
|
|
@@ -1534,20 +1535,45 @@ class ModifyMaskApp:
|
|
1534
1535
|
tk.Label(self.zoom_toolbar, text="Upper Percentile:", bg='black', fg='white').pack(side='left')
|
1535
1536
|
self.upper_entry = tk.Entry(self.zoom_toolbar, textvariable=self.upper_quantile, bg='black', fg='white')
|
1536
1537
|
self.upper_entry.pack(side='left')
|
1537
|
-
|
1538
|
-
|
1538
|
+
|
1539
1539
|
def load_image_and_mask(self, index):
|
1540
|
+
# Load the image
|
1540
1541
|
image_path = os.path.join(self.folder_path, self.image_filenames[index])
|
1541
|
-
image = imageio.imread(image_path)
|
1542
|
+
image = imageio.imread(image_path)
|
1543
|
+
print(f"Original Image shape: {image.shape}, dtype: {image.dtype}")
|
1544
|
+
|
1545
|
+
# Handle multi-channel or transparency issues
|
1546
|
+
if image.ndim == 3:
|
1547
|
+
if image.shape[2] == 4: # If the image has an alpha channel (RGBA)
|
1548
|
+
image = image[..., :3] # Remove the alpha channel
|
1549
|
+
|
1550
|
+
# Convert RGB to grayscale using weighted average
|
1551
|
+
image = np.dot(image[..., :3], [0.2989, 0.5870, 0.1140]).astype(np.uint8)
|
1552
|
+
print(f"Converted to grayscale: {image.shape}")
|
1553
|
+
|
1554
|
+
# Ensure the shape is (height, width) without extra channel
|
1555
|
+
if image.ndim == 3 and image.shape[2] == 1:
|
1556
|
+
image = np.squeeze(image, axis=-1)
|
1557
|
+
|
1558
|
+
if image.dtype != np.uint16:
|
1559
|
+
# Scale the image to fit the 16-bit range (0–65535)
|
1560
|
+
image = (image / image.max() * 65535).astype(np.uint16)
|
1561
|
+
# eventually remove this images should not have to be 16 bit look into downstream function (non 16bit images are jsut black)
|
1562
|
+
|
1563
|
+
# Load the corresponding mask
|
1542
1564
|
mask_path = os.path.join(self.masks_folder, self.image_filenames[index])
|
1543
1565
|
if os.path.exists(mask_path):
|
1544
|
-
print(f'
|
1566
|
+
print(f'Loading mask: {mask_path} for image: {image_path}')
|
1545
1567
|
mask = imageio.imread(mask_path)
|
1568
|
+
|
1569
|
+
# Ensure mask is uint8
|
1546
1570
|
if mask.dtype != np.uint8:
|
1547
|
-
mask = (mask /
|
1571
|
+
mask = (mask / mask.max() * 255).astype(np.uint8)
|
1548
1572
|
else:
|
1573
|
+
# Create a new mask with the same size as the image
|
1549
1574
|
mask = np.zeros(image.shape[:2], dtype=np.uint8)
|
1550
|
-
print(f'
|
1575
|
+
print(f'Loaded new mask for image: {image_path}')
|
1576
|
+
|
1551
1577
|
return image, mask
|
1552
1578
|
|
1553
1579
|
####################################################################################################
|