simba-uw-tf-dev 5.4.3__tar.gz → 5.4.4__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.
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/PKG-INFO +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/setup.py +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/geometry.py +5 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/timeseries.py +10 -2
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/utils.py +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/feature_extraction_mixin.py +19 -3
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/feature_extraction_supplement_mixin.py +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/image_mixin.py +67 -13
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/inference_batch.py +46 -46
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/ROI_feature_visualizer_mp.py +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/plot_clf_results_mp.py +4 -4
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_utils.py +5 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/converters.py +27 -3
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/litpose_merge_projects.py +6 -6
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/sam3_to_yolo_bbox.py +46 -22
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/data.py +5 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/enums.py +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/read_write.py +5 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/PKG-INFO +1 -1
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/bigquery_download_stats.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/cleaning.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/issue_msg.yml.disabled +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/issue_report.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/tests_py310.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.github/workflows/tests_py36.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.gitignore +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.pytest.ini +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/.readthedocs.yaml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/App.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/CITATION.cff +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/CODE_OF_CONDUCT.md +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/LICENSE +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/MANIFEST.in +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/README.md +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/requirements.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/requirements_arm.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/requirements_gpu.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/requirements_wsl.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/caltech_download.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/create_issues_report.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/dataverse_download.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/gitter_stats.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/make_qr_code.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/osf_download.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/scripts/upgrade_simba_keep_configs.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/setup.cfg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/SimBA.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/SimBA_logo.ico +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/.env +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/.recent_projects.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/TheGoldenLab.PNG +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/dash_simba_base.css +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Aldrich.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/BioRhyme.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Cossette Titre.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/DynaPuff.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Elms Sans.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Ewert.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Federo.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Indie Flower.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Jersey 10.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Playwrite ES Deco.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Poppins Bold.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Poppins Regular.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Quantico.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/UbuntuMono-Regular.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Ultra.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/Walter Turncoat.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/fonts/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo.icns +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo.ico +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo_3.ico +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo_3_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/SimBA_logo_4_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/abacus.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/abacus_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/abacus_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/about.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/add.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/add_on.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/analyze_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/analyze_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/api.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/application.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/archive.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/arrow_down_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/arrow_down_green_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/attributes_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/audio.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/average.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/average_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/avi.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/background.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bar_graph_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bar_graph_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bar_graph_light_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/batch.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/black_and_white.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/black_cross.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/blur.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bmp.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bold.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/boolean.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/boris.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/branches_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/brightness.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/browse.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/browse_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/brush_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bubble.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bubble_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bubble_pink.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bullet_grey.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bullseye.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/bw.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/calipher.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/camera.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/category.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/center.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/change.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/check_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/circle.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/circle_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/circle_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/circle_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/circle_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clahe.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clean.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clean_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clf.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clf_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clip.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/clock.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/close.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/cluster.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/cluster_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/coco_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/color_wheel.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_icons/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_icons/horizontal.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_icons/mixed_mosaic.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_icons/mosaic.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_icons/vertical.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/concat_videos.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/convert.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/counter.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/cpu_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/create.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/crop.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/crop_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/crop_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/crop_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/crossfade.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/csv_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/csv_grey.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/curve_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/danger.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dash_simba.css +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/data_table.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/decision_tree_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/decision_tree_purple.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/decision_tree_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/delete_large_orange.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/delete_large_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dependency.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/details.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/developer.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dice_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dimensionality_reduction.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/direction.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/direction_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/direction_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/display_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/distance.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/distance_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dlc_1.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dlc_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/documentation.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/documentation_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/download.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/draw.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/dumbbell.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/duplicate.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/duplicate_2_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/duplicate_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/duplicate_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ear_right.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ear_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/edit.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/edit_roi_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/egocentric.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/equation_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ethovision.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/exit.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/eye.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/factory.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fast_forward.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fast_forward_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fast_forward_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fast_forward_large_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fast_reverse.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fastforward_green_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/feather_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/features.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ffmpeg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/file.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/file_type.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fill.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/filter.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/finish.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fire.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/first.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/first_frame_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/first_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/flip_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/flip_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/flip_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/folder.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/folder_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/folder_video.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/font.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/font_size.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/forest.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/forward.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/forward_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/four_squares.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/fps.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/frames.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/frames_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gamma.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gantt_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gantt_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gif.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/github.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/github_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gitter.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gitter_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gpu.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gpu_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/gpu_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/green_check.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/green_dice.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/grey.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/greyscale.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/half_circle.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/half_circle_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/heatmap.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/height.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/hexagon.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/hexagon_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/hierarchy.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/hierarchy_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/histogram.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/home.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/horizontal.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/id_card.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/id_card_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/image.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/import.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/info.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/info_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ini.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/interaction_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/interactive_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/invert.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/join_purple.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/join_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/join_yellow.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/jpeg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/json.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/jump.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/keyboard.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/label.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/label_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/label_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/label_yellow.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/labelme.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/labelme_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/labelme_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/last.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/last_frame_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/last_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/leaf.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/left_arrow_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/left_arrow_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/left_ear.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/light_bulb.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/line.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/line_chart_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/line_chart_light_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/line_chart_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/link.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/list.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/load.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/load_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/load_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/location.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/log.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/magnifying.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mars.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mean.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/median.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/merge.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/metrics.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/metrics_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/metrics_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/minus.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/minus_blue_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/minus_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/minus_red_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mixing_panel.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/monitor.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mouse_head.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mouse_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mov.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/move.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/move_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/mp4.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/multiple_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/multiple_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/multiple_yellow.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/navigation.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/nose.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/number_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/obb.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/one.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/one_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/one_to_many.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/opacity.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/options_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/original_size.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/osf.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/osf_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/outlier.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/outside.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/outside_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/overlap_iou.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/paint.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/palette_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/palette_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/parquet.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/path.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/path_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pct.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pct_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pdf_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/permutation_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/photos.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/play.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/play_large_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/plot.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/plus.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/plus_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/plus_green_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/plus_green_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/png.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/point.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/point_right_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pointing_left_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/polygon.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/polygon_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/polygon_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pose.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/pose_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/print.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/probability.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/progressbar_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/python.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/question_mark.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/range_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/readthedocs_logo.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/recent_files.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rectangle.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rectangle_1_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rectangle_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rectangle_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rectangle_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/remove_bg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/reorganize.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/resize.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/restart.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/reverse.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/reverse_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/reverse_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/reverse_large_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rewind.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rewind_blue_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rewind_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rewind_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/right_arrow_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/right_arrow_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rocket.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/roi.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/roi_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rotate.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/rounding.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ruler.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ruler_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/run.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/sample.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/save.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/save_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/save_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/save_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/save_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/scale_1.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/scale_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/scale_3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/search.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/segment.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/seperate_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/settings.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shade.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shap.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shap_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shapes_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shapes_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/shapes_small_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/sigma.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/simba_logo_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/single_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/single_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/single_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/size_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/skip.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/skip_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/skip_forward_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/skip_previous_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/sleap_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/smooth.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/speedometer.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/split.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/split_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/spread.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/square_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/stack.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/star.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/stop.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/stopwatch.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/stream.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/style.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/subset_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/superimpose.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/svg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/system.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/t.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/table.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/table_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text_bg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text_color.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text_color_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/text_spacing.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/threshold.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/tick.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/tick_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/tiff.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/tile_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/time.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/timer.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/timer_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/trash.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/trash_red.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/triangle_black.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/triangle_small.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/tv_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/two.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ultralytics_1.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/ultralytics_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/verbose.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/vertical.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/video.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/video_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/video_file_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/video_large.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/visualize.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/visualize_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/visualize_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/walk.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/wand_blue.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/warning.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/watermark_green.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/webm.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/webp.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/weight.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/weights.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/width.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/x.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/y.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/zero.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/zoom_in.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/icons/zoom_out.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/about_me.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/bg.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/bg_2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/bg_2024.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/landing.mp4 +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/simon_n.webp +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/splash.mp4 +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/splash.pptx +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/splash_2024.mp4 +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/img/~$splash.pptx +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/critical_values_05.pickle +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/feature_extraction_headers.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/features.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/model_names.parquet +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/tooptips.json +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/unsupervised_example_x.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/yolo.yaml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/yolo_schematics/tappelby.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/yolo_schematics/yolo_7bps.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/lookups/yolo_schematics/yolo_mitra.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/ppyoloe_plus_crn_s_80e_coco.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/UbuntuMono-Regular.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/animal_distances.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/baseline_scale.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/color_bar.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/down_arrow.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/feature_categories/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/feature_categories/shap_feature_categories.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/intruder_movement.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/intruder_shape.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/resident_intruder_movement.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/resident_intruder_shape.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/resident_movement.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/resident_shape.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/side_scale.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/side_scale_5.jpg +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/shap/ubuntu.regular.ttf +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/stl/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/stl/grid_floor.stl +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/stl/operant_lever.stl +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/stl/operant_tray.stl +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/stl/operant_walls.stl +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/tracker_yml/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/tracker_yml/botsort.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/tracker_yml/bytetrack.yml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/tracker_yml/tow_bytetrack.yaml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/unsupervised/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/unsupervised/features.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/assets/unsupervised/model_names.parquet +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/agg_boundary_stats.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/boundary_menus.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/boundary_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/find_boundaries.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/visualize_boundaries.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/bounding_box_tools/yolo/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_clf_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_main_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_movement_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_tools.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/cue_light_tools/cue_light_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/dash_app/SimBA_dash_app.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/dash_app/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/dash_app/dash_app.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/dash_app/run_dash_tkinter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/advanced_interpolator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/advanced_smoothing.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/agg_clf_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/agg_clf_counter_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/ataxia_detector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/blob_location_computer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/boolean_conditional_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/circling_detector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/circular_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/create_shap_log.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/data.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/image.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cuda/statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cue_light_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cue_light_clf_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/cue_light_movement_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/directing_animal_to_bodypart.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/directing_other_animals_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/distance_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/distance_timbin_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/egocentric_aligner.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/find_animal_blob_location.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/freezing_detector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/freezing_detector_v2.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/fsttc_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/gibbs_sampler.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/interpolate.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/interpolate_pose.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/interpolation_smoothing.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/kleinberg_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/light_dark_box_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/movement_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/mutual_exclusivity_corrector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/pup_retrieval_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/pybursts_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/pybursts_calculator_numba.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/severity_bout_based_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/severity_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/severity_frame_based_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/smoothing.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/spontaneous_alternation_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/timebins_clf_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/timebins_movement_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/timebins_movement_calculator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/data_processors/yolo_track_cleaner.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/aggression_feature_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/amber_feature_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/boundary_rearing_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/cave_fish_featurizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_14bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_16bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_4bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_7bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_8bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_8bps_2_animals.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_9bp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_extractor_user_defined.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/feature_subsets.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/gerbil_featurizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/add_probability_cnt_features.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/convex_hull_3_scratch_3.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/convex_hull_scratch_1.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/convex_hull_scratch_2.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/count_values_in_range.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/doctests.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/egocentrical_aligner.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/fish_feature_extractor_2022.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_2.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_3.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_4.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_5.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/graph_3d_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/graph_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/make_splash.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/mutual_exclusive.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/peaks.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/read_in_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/termite_rois.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/time_stamp_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/video_color.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/video_rotator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/misc/video_rotator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/mitra_feature_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/perimeter_jit.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/rat_social_featurizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/riptortus_featurizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/straub_tail_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/feature_extractors/wingwave_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/extract_labelled_frames.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/extract_labelling_meta.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/labelling_advanced_interface.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/labelling_interface.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/mitra_style_appender.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/play_annotation_video.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/single_clf_appender_excel.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/standard_labeller.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/labelling/targeted_annotations_clips.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/abstract_classes.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/annotator_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/circular_statistics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/config_reader.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/geometry_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/network_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/plotting_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/pop_up_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/pose_importer_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/statistics_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/timeseries_features_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/train_model_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/unsupervised_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/grid_search_multiclass_rf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/grid_search_rf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/inference_multi_animal_batch.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/inference_multiclass_batch.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/inference_validation.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/ordinal_clf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/regression/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/regression/metrics.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/regression/model.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/sam_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/train_multiclass_rf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/train_multilabel_rf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/train_rf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_fit.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_nvdec_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_pose_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_pose_track_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/model/yolo_seg_inference.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_location.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_location_advanced.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_location_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_movement.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_movement_advanced.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/outlier_corrector_movement_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/outlier_tools/skip_outlier_correction.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/EzPathPlot.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/ROI_feature_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/annotation_videos.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/blob_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/blob_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/circular_feature_overlay_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/circular_plotting.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/clf_validator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/clf_validator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/compare_bbox_mdls.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/cue_light_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/data_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/directing_animals_to_bodypart_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/directing_animals_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/directing_animals_visualizer_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/distance_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/distance_plotter_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/ez_path_plot.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/frame_mergerer_ffmpeg.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/gantt_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/gantt_creator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/gantt_plotly.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/geometry_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/heat_mapper_clf.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/heat_mapper_clf_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/heat_mapper_location.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/heat_mapper_location_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/interactive_probability_grapher.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/light_dark_box_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/path_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/path_plotter_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/plot_clf_results.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/pose_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/pose_plotter_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/probability_plot_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/probability_plot_creator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/roi_directing_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/roi_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/roi_plotter_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/sam_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/shap_agg_stats_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/single_run_model_validation_video.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/single_run_model_validation_video_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/skeleton_video_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/spontaneous_alternation_plotter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/tools/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/tools/tkinter_tools.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/yolo_annotation_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/yolo_pose_track_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/yolo_pose_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/yolo_seg_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/plotting/yolo_visualize.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/bp_names/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/bp_names/bp_names.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/configuration_names/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/configuration_names/pose_config_names.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/no_animals/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/no_animals/no_animals.csv +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/1.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/10.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/11.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/12.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/13.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/14.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/15.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/16.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/2.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/3.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/4.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/5.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/6.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/7.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/8.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_configurations/schematics/9.png +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/dlc_importer_csv.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/facemap_h5_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/import_mars.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/madlc_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/misc/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/misc/apt_trk_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/read_DANNCE_mat.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/simba_blob_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/simba_yolo_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/sleap_csv_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/sleap_h5_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/sleap_slp_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/superanimal_import.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_importers/trk_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_processors/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_processors/pose_reset.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_processors/remove_keypoints.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_processors/reorganize_keypoint.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/pose_processors/reverse_pose.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/requirements.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/ROI_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/ROI_directing_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/ROI_feature_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/ROI_size_standardizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/ROI_time_bin_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/import_roi_csvs.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/interactive_modifier_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/interactive_roi_bufferer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/interactive_roi_modifier_tkinter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_aggregate_statistics_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_aggregate_stats_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_clf_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_clf_calculator_mp.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_ruler.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_selector_circle_tkinter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_selector_polygon_tkinter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_selector_rectangle_tkinter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_time_bins_analyzer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/roi_tools/roi_ui_mixin.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/BENTO_appender.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/BORIS_appender.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/boris_source_cleaner.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/deepethogram_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/ethovision_import.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/observer_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/shah_appender.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/solomon_importer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/third_party_appender.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/tools.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_bbox.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/dlc_ma_h5_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/dlc_multi_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/dlc_single_to_multi_format_converter.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/dlc_to_labelme.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/dlc_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/labelme_to_df.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/labelme_to_dlc.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/labelme_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/labelme_to_yolo_keypoints.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/labelme_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/litpose_crop_annotations.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/litpose_crop_annotations_bbox_square.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/litpose_to_yolo_bbox.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/litpose_to_yolo_keypoints.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/merge_yolo_projects.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/sam3_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/simba_roi_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/simba_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/simba_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/sleap_csv_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/sleap_h5_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/sleap_to_yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/utils.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/yolo_labels_to_yolo_project.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/transform/yolo_to_imgs.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/blob_quick_check_interface.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/blob_tracker_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/create_project_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/get_tree_view.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/import_pose_frame.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/import_videos_frame.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/machine_model_settings_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/ml_settings_frm.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/about_simba_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/animal_directing_other_animals_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/animal_directing_roi_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/annotated_bouts_videos_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/append_roi_features_animals_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/append_roi_features_bodypart_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/archive_files_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/batch_preprocess_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/blob_visualizer_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/boolean_conditional_slicer_pup_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/change_speed_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/check_videos_seekable_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_add_remove_print_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_annotation_counts_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_by_roi_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_by_timebins_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_descriptive_statistics_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_probability_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/clf_validation_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/coco_keypoints_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/create_user_defined_pose_configuration_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/csv_2_parquet_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/cue_light_clf_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/cue_light_data_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/cue_light_main_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/cue_light_movement_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/cue_light_visualizer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/data_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/delete_all_rois_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/directing_animal_to_bodypart_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/directing_other_animals_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/direction_animal_to_bodypart_settings_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/distance_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/distance_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/distance_timebins_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/dlc_annotations_to_labelme_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/dlc_h5_inference_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/dlc_to_labelme_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/dlc_to_yolo_keypoints_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/duplicate_rois_by_source_target_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/egocentric_alignment_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/extract_annotation_frames_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/ez_path_plot_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/fsttc_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/gantt_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/heatmap_clf_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/heatmap_location_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/helpers.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/import_roi_csv_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/initialize_blob_tracking_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/interpolate_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/kleinberg_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/labelme_bbox_to_yolo_bbox_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/labelme_dir_to_csv_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/labelme_to_df_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/labelme_to_imgs_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/make_path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/merge_coco_keypoint_files_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/min_max_draw_size_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/movement_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/movement_analysis_time_bins_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/multiple_videos_to_frames_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/mutual_exclusivity_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/outlier_settings_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/pose_bp_drop_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/pose_reorganizer_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/print_video_meta_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/pup_retrieval_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/quick_path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/remove_roi_features_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_aggregate_stats_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_analysis_time_bins_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_directing_visualizer_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_features_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_size_standardizer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_tracking_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/roi_video_table_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/run_machine_models_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/select_video_for_labelling_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/select_video_for_pseudo_labelling_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/severity_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/simba_rois_to_yolo_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/simba_to_yolo_keypoints_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/single_video_to_frames_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/sleap_annotations_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/sleap_csv_predictions_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/sleap_h5_inference_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/smoothing_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/splash_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/spontaneous_alternation_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/subset_feature_extractor_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/targeted_annotation_clips_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/third_party_annotator_appender_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/validation_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/video_processing_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/visualize_pose_in_dir_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/yolo_inference_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/yolo_plot_results.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/pop_ups/yolo_pose_train_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/px_to_mm_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/tkinter_functions.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/user_defined_pose_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/utils.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/video_info_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/ui/video_timelaps.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/bout_aggregator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/cluster_frequentist_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/cluster_validation_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/cluster_video_visualizer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/cluster_xai_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/clusterer_comparison_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/data_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/data_map.yaml +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/dataset_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/dbcv_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/embedding_correlation_calculator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/enums.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/grid_search_visualizers.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/hdbscan_clusterer.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/outlier_detector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/cluster_frequentist_stats_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/cluster_validation_pop_up.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/cluster_videos_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/cluster_xai_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/clusterer_comparison_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/data_extractor_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/embedding_correlations_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/fit_cluster_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/fit_dim_reduction_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/grid_search_visualizer_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/print_embedding_info_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/transform_cluster_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/pop_ups/transform_dim_reduction_popup.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/tsne.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/umap_embedder.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/unsupervised/unsupervised_main.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/checks.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/cli/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/cli/cli_tools.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/config_creator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/custom_feature_extractor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/errors.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/lookups.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/printing.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/warnings.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/utils/yolo.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/.DS_Store +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/__init__.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/async_frame_reader.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/async_frame_reader_gpu.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/batch_process_create_ffmpeg_commands.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/batch_process_menus.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/blob_tracking_executor.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/brightness_contrast_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/calculate_px_dist.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/clahe_ui.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/egocentric_video_rotator.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/extract_frames.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/extract_seqframes.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/multi_cropper.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/roi_selector.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/roi_selector_circle.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/roi_selector_polygon.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/video_processing.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/video_processors/videos_to_frames.py +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/SOURCES.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/dependency_links.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/entry_points.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/requires.txt +0 -0
- {simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba_uw_tf_dev.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: simba_uw_tf_dev
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.4
|
|
4
4
|
Summary: Toolkit for computer classification and analysis of behaviors in experimental animals
|
|
5
5
|
Home-page: https://github.com/sgoldenlab/simba
|
|
6
6
|
Author: Simon Nilsson, Jia Jie Choong, Sophia Hwang
|
|
@@ -30,7 +30,7 @@ with open(GPU_REQUIREMENTS_PATH, "r") as f:
|
|
|
30
30
|
# Setup configuration
|
|
31
31
|
setuptools.setup(
|
|
32
32
|
name="simba_uw_tf_dev",
|
|
33
|
-
version="5.4.
|
|
33
|
+
version="5.4.4",
|
|
34
34
|
author="Simon Nilsson, Jia Jie Choong, Sophia Hwang",
|
|
35
35
|
author_email="sronilsson@gmail.com",
|
|
36
36
|
description="Toolkit for computer classification and analysis of behaviors in experimental animals",
|
|
@@ -78,6 +78,11 @@ def is_inside_circle(x: np.ndarray, y: np.ndarray, r: float) -> np.ndarray:
|
|
|
78
78
|
"""
|
|
79
79
|
Determines whether points in array `x` are inside the circle with center ``y`` and radius ``r``
|
|
80
80
|
|
|
81
|
+
.. image:: _static/img/simba.data_processors.cuda.geometry.is_inside_circle.webp
|
|
82
|
+
:alt: Is inside circle
|
|
83
|
+
:width: 700
|
|
84
|
+
:align: center
|
|
85
|
+
|
|
81
86
|
.. csv-table::
|
|
82
87
|
:header: EXPECTED RUNTIMES
|
|
83
88
|
:file: ../../../docs/tables/is_inside_circle.csv
|
|
@@ -44,6 +44,11 @@ def sliding_threshold(data: np.ndarray, time_window: float, sample_rate: float,
|
|
|
44
44
|
"""
|
|
45
45
|
Compute the count of observations above or below threshold crossings over a sliding window using GPU acceleration.
|
|
46
46
|
|
|
47
|
+
.. image:: _static/img/sliding_threshold.webp
|
|
48
|
+
:alt: Sliding threshold
|
|
49
|
+
:width: 700
|
|
50
|
+
:align: center
|
|
51
|
+
|
|
47
52
|
:param np.ndarray data: Input data array.
|
|
48
53
|
:param float time_window: Size of the sliding window in seconds.
|
|
49
54
|
:param float sample_rate: Number of samples per second in the data.
|
|
@@ -85,9 +90,7 @@ def _sliding_percent_beyond_n_std_kernel(data, time, std_n, results):
|
|
|
85
90
|
std_val = _cuda_std(sample, m) * std_n[0]
|
|
86
91
|
cnt = 0
|
|
87
92
|
for i in range(sample.shape[0]):
|
|
88
|
-
|
|
89
93
|
if (sample[i] > (m + std_val)) or (sample[i] < (m - std_val)):
|
|
90
|
-
print(sample[i], m + std_val)
|
|
91
94
|
cnt += 1
|
|
92
95
|
results[r-1] = cnt
|
|
93
96
|
|
|
@@ -98,6 +101,11 @@ def sliding_percent_beyond_n_std(data: np.ndarray, time_window: float, sample_ra
|
|
|
98
101
|
|
|
99
102
|
This function uses GPU acceleration via CUDA to efficiently compute the result over large datasets.
|
|
100
103
|
|
|
104
|
+
.. image:: _static/img/simba.data_processors.cuda.timeseries.sliding_percent_beyond_n_std.webp
|
|
105
|
+
:alt: Sliding percent beyond n std
|
|
106
|
+
:width: 700
|
|
107
|
+
:align: center
|
|
108
|
+
|
|
101
109
|
:param np.ndarray data: The input 1D data array for which the sliding window computation is to be performed.
|
|
102
110
|
:param float time_window: The length of the time window in seconds.
|
|
103
111
|
:param float sample_rate: The sample rate of the data in Hz (samples per second).
|
|
@@ -86,6 +86,11 @@ class FeatureExtractionMixin(object):
|
|
|
86
86
|
For GPU acceleration through CuPy, use :func:`simba.data_processors.cuda.statistics.get_euclidean_distance_cupy`.
|
|
87
87
|
For GPU acceleration through numba CUDA, use :func:`simba.data_processors.cuda.statistics.get_euclidean_distance_cuda`.
|
|
88
88
|
|
|
89
|
+
.. image:: _static/img/euclidean_distance.webp
|
|
90
|
+
:alt: Euclidean distance between two body-parts
|
|
91
|
+
:width: 400
|
|
92
|
+
:align: center
|
|
93
|
+
|
|
89
94
|
:param np.ndarray bp_1_x: 2D array of size len(frames) x 1 with bodypart 1 x-coordinates.
|
|
90
95
|
:param np.ndarray bp_2_x: 2D array of size len(frames) x 1 with bodypart 2 x-coordinates.
|
|
91
96
|
:param np.ndarray bp_1_y: 2D array of size len(frames) x 1 with bodypart 1 y-coordinates.
|
|
@@ -582,6 +587,10 @@ class FeatureExtractionMixin(object):
|
|
|
582
587
|
Jitted analogue of meth:`scipy.cdist` for 3D array. Use to calculate Euclidean distances between
|
|
583
588
|
all coordinates in of one array and itself.
|
|
584
589
|
|
|
590
|
+
.. image:: _static/img/cdist_3d.webp
|
|
591
|
+
:width: 700
|
|
592
|
+
:align: center
|
|
593
|
+
|
|
585
594
|
:param np.ndarray data: 3D array of body-part coordinates of size len(frames) x -1 x 2.
|
|
586
595
|
:return np.ndarray: 3D array of size data.shape[0], data.shape[1], data.shape[1].
|
|
587
596
|
"""
|
|
@@ -598,8 +607,14 @@ class FeatureExtractionMixin(object):
|
|
|
598
607
|
# @njit('(float32[:],)')
|
|
599
608
|
def cosine_similarity(data: np.ndarray) -> np.ndarray:
|
|
600
609
|
"""
|
|
601
|
-
|
|
602
|
-
|
|
610
|
+
Analogue of ``sklearn.metrics.pairwise.cosine_similarity``. Similar to scipy.cdist.
|
|
611
|
+
Calculates the cosine similarity (the cosine of the angle between two vectors, so magnitude is
|
|
612
|
+
ignored) between all pairs of rows in a 2D array. Values range from 1 (same direction) through
|
|
613
|
+
0 (orthogonal) to -1 (opposite). Zero-vectors yield a similarity of 0.
|
|
614
|
+
|
|
615
|
+
.. image:: _static/img/cosine_similarity.webp
|
|
616
|
+
:width: 700
|
|
617
|
+
:align: center
|
|
603
618
|
|
|
604
619
|
:param np.ndarray data: 2D array of observations.
|
|
605
620
|
:return: Matrix representing the cosine similarity between all observations in ``data``.
|
|
@@ -608,11 +623,12 @@ class FeatureExtractionMixin(object):
|
|
|
608
623
|
:example:
|
|
609
624
|
>>> data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).astype(np.float32)
|
|
610
625
|
>>> FeatureExtractionMixin().cosine_similarity(data=data)
|
|
611
|
-
>>> [[1.0, 0.974, 0.959][0.974,
|
|
626
|
+
>>> [[1.0, 0.974, 0.959], [0.974, 1.0, 0.998], [0.959, 0.998, 1.0]]
|
|
612
627
|
"""
|
|
613
628
|
|
|
614
629
|
dot_product = np.dot(data, data.T)
|
|
615
630
|
norms = np.linalg.norm(data, axis=1).reshape(-1, 1)
|
|
631
|
+
norms[norms == 0] = 1 # avoid division by zero; zero-vectors yield a similarity of 0
|
|
616
632
|
similarity = dot_product / (norms * norms.T)
|
|
617
633
|
return similarity
|
|
618
634
|
|
{simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/mixins/feature_extraction_supplement_mixin.py
RENAMED
|
@@ -172,7 +172,7 @@ class FeatureExtractionSupplemental(FeatureExtractionMixin):
|
|
|
172
172
|
if window_data[-1] > window_data[-2]:
|
|
173
173
|
peak_cnt += 1
|
|
174
174
|
for k in prange(1, len(window_data) - 1):
|
|
175
|
-
if window_data[
|
|
175
|
+
if window_data[k] > window_data[k - 1] and window_data[k] > window_data[k + 1]:
|
|
176
176
|
peak_cnt += 1
|
|
177
177
|
peak_ratio = peak_cnt / window_data.shape[0]
|
|
178
178
|
results[j, i] = peak_ratio
|
|
@@ -111,6 +111,11 @@ class ImageMixin(object):
|
|
|
111
111
|
Gaussian blurring is used to reduce image noise and detail by smoothing the image. It applies a weighted average
|
|
112
112
|
where more importance is given to the central pixels, creating a soft blur effect.
|
|
113
113
|
|
|
114
|
+
.. image:: _static/img/gaussian_blur.webp
|
|
115
|
+
:alt: Gaussian blur
|
|
116
|
+
:width: 700
|
|
117
|
+
:align: center
|
|
118
|
+
|
|
114
119
|
:param np.ndarray img: Input image as a NumPy array. The image should be a valid 2D (grayscale) or 3D (color) array.
|
|
115
120
|
:param Optional[Tuple] kernel_size: A tuple (height, width) representing the size of the Gaussian kernel. The values must be positive odd integers. Default is (9, 9).
|
|
116
121
|
:return: A NumPy array representing the blurred image with the same dimensions as the input image.
|
|
@@ -129,6 +134,11 @@ class ImageMixin(object):
|
|
|
129
134
|
"""
|
|
130
135
|
Applies morphological erosion to the input image using the specified kernel size and number of iterations.
|
|
131
136
|
|
|
137
|
+
.. image:: _static/img/erode.webp
|
|
138
|
+
:alt: Erode
|
|
139
|
+
:width: 700
|
|
140
|
+
:align: center
|
|
141
|
+
|
|
132
142
|
:param np.ndarray img: A 2D or 3D NumPy array representing the input image on which erosion will be applied. It should be in the form of a binary or greyscale image.
|
|
133
143
|
:param Optional[Tuple[int, int]] kernel_size: A tuple (width, height) specifying the size of the kernel to be used for erosion. The default kernel size is (3, 3).
|
|
134
144
|
:param Optional[int] iterations: The number of times the erosion operation is applied. The default value is 3.
|
|
@@ -141,7 +151,7 @@ class ImageMixin(object):
|
|
|
141
151
|
check_instance(source=ImageMixin.gaussian_blur.__name__, instance=kernel_size, accepted_types=(tuple,))
|
|
142
152
|
check_valid_lst(data=list(kernel_size), source=ImageMixin.gaussian_blur.__name__, valid_dtypes=(int,), exact_len=2)
|
|
143
153
|
check_int(name=ImageMixin.erode.__name__, value=iterations, min_value=1)
|
|
144
|
-
return cv2.erode(img, np.ones(
|
|
154
|
+
return cv2.erode(img, np.ones(kernel_size, np.uint8), iterations=iterations)
|
|
145
155
|
|
|
146
156
|
@staticmethod
|
|
147
157
|
def get_histocomparison(
|
|
@@ -163,10 +173,19 @@ class ImageMixin(object):
|
|
|
163
173
|
"""
|
|
164
174
|
Compare histograms of two images using OpenCV's histogram comparison methods.
|
|
165
175
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
Each image is reduced to a normalized intensity histogram (256 bins per channel) and the two histograms are
|
|
177
|
+
compared with the chosen method. Because only the distribution of intensities is compared, the score is blind
|
|
178
|
+
to where pixels sit (a spatially shuffled image scores identically) and to image content (two different images
|
|
179
|
+
with similar tone distributions score as alike).
|
|
180
|
+
|
|
181
|
+
The "more similar" direction depends on the method: for ``correlation`` and ``intersection`` higher values
|
|
182
|
+
indicate greater similarity, while for ``chi_square`` and ``bhattacharyya``/``hellinger`` lower values
|
|
183
|
+
(0 = identical) indicate greater similarity.
|
|
184
|
+
|
|
185
|
+
.. image:: _static/img/get_histocomparison.webp
|
|
186
|
+
:alt: Get histocomparison
|
|
187
|
+
:width: 700
|
|
188
|
+
:align: center
|
|
170
189
|
|
|
171
190
|
.. seealso::
|
|
172
191
|
For histogram comparison within specific geometries, see :func:`simba.mixins.geometry_mixin.GeometryMixin.geometry_histocomparison`.
|
|
@@ -195,16 +214,26 @@ class ImageMixin(object):
|
|
|
195
214
|
options=tuple(GeometryEnum.HISTOGRAM_COMPARISON_MAP.value.keys()),
|
|
196
215
|
)
|
|
197
216
|
method = GeometryEnum.HISTOGRAM_COMPARISON_MAP.value[method]
|
|
198
|
-
if
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
)
|
|
217
|
+
if img_1.ndim != img_2.ndim:
|
|
218
|
+
raise InvalidInputError(
|
|
219
|
+
msg=f"img_1 and img_2 must have the same number of channels (got {img_1.ndim}D and {img_2.ndim}D)",
|
|
220
|
+
source=ImageMixin.get_histocomparison.__name__,
|
|
203
221
|
)
|
|
222
|
+
|
|
223
|
+
def _histogram(img: np.ndarray) -> np.ndarray:
|
|
224
|
+
img = img.astype(np.uint8)
|
|
225
|
+
if img.ndim == 2:
|
|
226
|
+
channels = [cv2.calcHist([img], [0], None, [256], [0, 256])]
|
|
227
|
+
else:
|
|
228
|
+
channels = [cv2.calcHist([img], [c], None, [256], [0, 256]) for c in range(img.shape[2])]
|
|
229
|
+
hist = np.concatenate(channels, axis=0)
|
|
230
|
+
return cv2.normalize(hist, hist).flatten()
|
|
231
|
+
|
|
232
|
+
hist_1, hist_2 = _histogram(img_1), _histogram(img_2)
|
|
233
|
+
if absolute:
|
|
234
|
+
return abs(cv2.compareHist(hist_1, hist_2, method))
|
|
204
235
|
else:
|
|
205
|
-
return cv2.compareHist(
|
|
206
|
-
img_1.astype(np.float32), img_2.astype(np.float32), method
|
|
207
|
-
)
|
|
236
|
+
return cv2.compareHist(hist_1, hist_2, method)
|
|
208
237
|
|
|
209
238
|
@staticmethod
|
|
210
239
|
def get_contourmatch(img_1: np.ndarray,
|
|
@@ -413,6 +442,11 @@ class ImageMixin(object):
|
|
|
413
442
|
.. note::
|
|
414
443
|
See wiki ` https://en.wikipedia.org/wiki/Image_moment#Hu_invariant_moments <See https://en.wikipedia.org/wiki/Image_moment#Hu_invariant_moments>`__.
|
|
415
444
|
|
|
445
|
+
.. image:: _static/img/img_moments.webp
|
|
446
|
+
:alt: Image moments
|
|
447
|
+
:width: 700
|
|
448
|
+
:align: center
|
|
449
|
+
|
|
416
450
|
:param np.ndarray img: The input image as a 2D or 3D NumPy array. If the image has multiple channels (e.g., RGB or BGR), it will be converted to grayscale.
|
|
417
451
|
:param Optional[bool] hu_moments: If set to True, the function computes and returns the 7 Hu moments. If False, it returns the standard moments of the image. Default is False.
|
|
418
452
|
:return: A 24x1 2D-array if `hu_moments` is False (representing standard moments), or a 7x1 2D-array if `hu_moments` is True (representing Hu moments).
|
|
@@ -439,6 +473,11 @@ class ImageMixin(object):
|
|
|
439
473
|
"""
|
|
440
474
|
Find contours in an image.
|
|
441
475
|
|
|
476
|
+
.. image:: _static/img/find_contours.webp
|
|
477
|
+
:alt: Find contours
|
|
478
|
+
:width: 700
|
|
479
|
+
:align: center
|
|
480
|
+
|
|
442
481
|
.. seealso::
|
|
443
482
|
For contour comparisons, see :func:`simba.mixins.image_mixin.ImageMixin.get_contourmatch`
|
|
444
483
|
|
|
@@ -525,6 +564,11 @@ class ImageMixin(object):
|
|
|
525
564
|
|
|
526
565
|
E.g., having a cropped image, find the image and frame number in a video it most likely has been cropped from.
|
|
527
566
|
|
|
567
|
+
.. image:: _static/img/template_matching_cpu.webp
|
|
568
|
+
:alt: Template matching CPU
|
|
569
|
+
:width: 700
|
|
570
|
+
:align: center
|
|
571
|
+
|
|
528
572
|
:param Union[str, os.PathLike] video_path: Path to the video file on disk.
|
|
529
573
|
:param np.ndarray img: Template image for matching. E.g., a cropped image from ``video_path``.
|
|
530
574
|
:param Optional[int] core_cnt: Number of CPU cores to use for parallel processing. Default is -1 (max available cores).
|
|
@@ -737,6 +781,11 @@ class ImageMixin(object):
|
|
|
737
781
|
"""
|
|
738
782
|
Segment a horizontal part of all images in stack.
|
|
739
783
|
|
|
784
|
+
.. image:: _static/img/segment_img_stack_horizontal.webp
|
|
785
|
+
:alt: Segment img stack horizontal
|
|
786
|
+
:width: 800
|
|
787
|
+
:align: center
|
|
788
|
+
|
|
740
789
|
.. seealso::
|
|
741
790
|
:func:`simba.mixins.image_mixin.ImageMixin.segment_img_horizontal`
|
|
742
791
|
:func:`simba.data_processors.cuda.image.segment_img_stack_horizontal`,
|
|
@@ -910,6 +959,11 @@ class ImageMixin(object):
|
|
|
910
959
|
"""
|
|
911
960
|
Jitted pairwise comparison of images in two stacks of equal length using mean squared errors.
|
|
912
961
|
|
|
962
|
+
.. image:: _static/img/img_stack_mse.webp
|
|
963
|
+
:alt: Image stack MSE
|
|
964
|
+
:width: 700
|
|
965
|
+
:align: center
|
|
966
|
+
|
|
913
967
|
.. note::
|
|
914
968
|
Useful for noting subtle changes, each imgs_2 equals imgs_1 with images shifted by 1. Images has to be in uint8 format.
|
|
915
969
|
Also see ``img_sliding_mse``.
|
|
@@ -113,49 +113,49 @@ class InferenceBatch(TrainModelMixin, ConfigReader):
|
|
|
113
113
|
|
|
114
114
|
def run(self):
|
|
115
115
|
check_all_file_names_are_represented_in_video_log(video_info_df=self.video_info_df, data_paths=self.feature_file_paths)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
116
|
+
for file_cnt, file_path in enumerate(self.feature_file_paths):
|
|
117
|
+
video_timer = SimbaTimer(start=True)
|
|
118
|
+
_, file_name, _ = get_fn_ext(file_path)
|
|
119
|
+
if self.verbose: stdout_information(msg=f"Analyzing video {file_name}... (Video {file_cnt+1}/{len(self.feature_file_paths)})")
|
|
120
|
+
file_save_path = os.path.join(self.save_dir, f"{file_name}.{self.file_type}")
|
|
121
|
+
in_df = read_df(file_path, self.file_type)
|
|
122
|
+
x_df = self.drop_bp_cords(df=in_df).astype(np.float32)
|
|
123
|
+
self.check_df_dataset_integrity(df=x_df, logs_path=self.logs_path, file_name=file_name)
|
|
124
|
+
_, px_per_mm, fps = self.read_video_info(video_name=file_name, raise_error=False)
|
|
125
|
+
out_df = deepcopy(in_df)
|
|
126
|
+
for m, m_hyp in self.model_dict.items():
|
|
127
|
+
check_if_keys_exist_in_dict(data=m_hyp, key=[MODEL_PATH, MODEL_NAME, THRESHOLD, MINIMUM_BOUT_LENGTH], name=f'classifier {m}', raise_error=False)
|
|
128
|
+
if not os.path.isfile(m_hyp[MODEL_PATH]):
|
|
129
|
+
NoFileFoundWarning(msg=f'SKIPPING CLASSIFIER {m} for video {file_name}. The classifier model file {m_hyp[MODEL_PATH]} could not be found.', source=self.__class__.__name__)
|
|
130
|
+
continue
|
|
131
|
+
clf = self.read_pickle(file_path=m_hyp[MODEL_PATH])
|
|
132
|
+
if self.feature_subsets_by_clf is None or m_hyp[MODEL_NAME] not in self.feature_subsets_by_clf:
|
|
133
|
+
probability_column = f"Probability_{m_hyp[MODEL_NAME]}"
|
|
134
|
+
out_df[probability_column] = self.clf_predict_proba(clf=clf, x_df=x_df, data_path=file_path, model_name=m_hyp[MODEL_NAME])
|
|
135
|
+
out_df[m_hyp[MODEL_NAME]] = np.where(out_df[probability_column] > m_hyp[THRESHOLD], 1, 0)
|
|
136
|
+
clf_min_bout = self.minimum_bout_length if self.minimum_bout_length is not None else m_hyp[MINIMUM_BOUT_LENGTH]
|
|
137
|
+
if int(clf_min_bout) > 0:
|
|
138
|
+
if self.verbose: stdout_information(msg=f'Correcting minimum bouts in video {file_name} and classifier {m_hyp[MODEL_NAME]} ({clf_min_bout}ms)...')
|
|
139
|
+
out_df = plug_holes_shortest_bout(data_df=out_df, clf_name=m_hyp[MODEL_NAME], fps=fps, shortest_bout=clf_min_bout)
|
|
140
|
+
else:
|
|
141
|
+
subset_cnts = len(self.feature_subsets_by_clf[m_hyp[MODEL_NAME]].keys())
|
|
142
|
+
self.config.set(section=ConfigKey.SML_SETTINGS.value, option=ConfigKey.TARGET_CNT.value, value=str(subset_cnts))
|
|
143
|
+
for mdl_cnt, (model_subset_name, model_x) in enumerate(self.feature_subsets_by_clf[m_hyp[MODEL_NAME]].items()):
|
|
144
|
+
probability_column = f"Probability_{m_hyp[MODEL_NAME]}_{model_subset_name}"
|
|
145
|
+
self.config.set(section=ConfigKey.SML_SETTINGS.value, option=f'target_name_{mdl_cnt+1}', value=f'{m_hyp[MODEL_NAME]}_{model_subset_name}')
|
|
146
|
+
self.config.set(section=ConfigKey.THRESHOLD_SETTINGS.value, option=f'threshold_{mdl_cnt+1}', value=f'{m_hyp[THRESHOLD]}')
|
|
147
|
+
self.config.set(section=ConfigKey.MIN_BOUT_LENGTH.value, option=f'min_bout_{mdl_cnt+1}', value=f'{m_hyp[MINIMUM_BOUT_LENGTH]}')
|
|
148
|
+
check_that_column_exist(df=x_df, column_name=model_x, file_name=file_path, raise_error=True)
|
|
149
|
+
out_df[probability_column] = self.clf_predict_proba(clf=clf, x_df=x_df[model_x], data_path=file_path, model_name=model_subset_name)
|
|
150
|
+
out_df[f'{m_hyp[MODEL_NAME]}_{model_subset_name}'] = np.where(out_df[probability_column] > m_hyp[THRESHOLD], 1, 0)
|
|
151
|
+
clf_min_bout = self.minimum_bout_length if self.minimum_bout_length is not None else m_hyp[MINIMUM_BOUT_LENGTH]
|
|
152
|
+
if int(clf_min_bout) > 0:
|
|
153
|
+
if self.verbose: stdout_information(msg=f'Correcting minimum bouts in video {file_name} and classifier {m_hyp[MODEL_NAME]} ({clf_min_bout}ms)...')
|
|
154
|
+
out_df = plug_holes_shortest_bout(data_df=out_df, clf_name=f'{m_hyp[MODEL_NAME]}_{model_subset_name}', fps=fps, shortest_bout=clf_min_bout)
|
|
155
|
+
with open(self.config_path, "w") as f: self.config.write(f)
|
|
156
|
+
write_df(df=out_df, file_type=self.file_type, save_path=file_save_path)
|
|
157
|
+
video_timer.stop_timer()
|
|
158
|
+
if self.verbose: stdout_information(msg=f"Predictions created for {file_name} (frame count: {len(in_df)}, elapsed time: {video_timer.elapsed_time_str}) ...")
|
|
159
159
|
if self.save_agg_stats is not None:
|
|
160
160
|
if self.verbose: stdout_information(msg=f"Computing aggregate classifier statistics into {self.save_agg_stats}...")
|
|
161
161
|
agg = AggregateClfCalculator(config_path=self.config_path, classifiers=list(self.clf_names), data_dir=self.save_dir, save_dir=self.save_agg_stats)
|
|
@@ -174,9 +174,9 @@ class InferenceBatch(TrainModelMixin, ConfigReader):
|
|
|
174
174
|
|
|
175
175
|
#
|
|
176
176
|
# test = InferenceBatch(config_path=r"H:\projects\jason_zhang\jason_project\project_folder\project_config.ini",
|
|
177
|
-
# save_dir=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING',
|
|
178
|
-
# model_dict={'GROOMING': {'model_path': r"H:\projects\jason_zhang\jason_project\models\GROOMING.sav", 'minimum_bout_length': 500, 'threshold': 0.
|
|
179
|
-
# save_agg_stats=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING')
|
|
177
|
+
# save_dir=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING\500_0.275_smoothing_500ms\csv',
|
|
178
|
+
# model_dict={'GROOMING': {'model_path': r"H:\projects\jason_zhang\jason_project\models\GROOMING.sav", 'minimum_bout_length': 500, 'threshold': 0.275}},
|
|
179
|
+
# save_agg_stats=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING\500_0.25\csv')
|
|
180
180
|
# test.run()
|
|
181
181
|
|
|
182
182
|
#
|
|
@@ -31,8 +31,8 @@ from simba.utils.checks import (check_file_exist_and_readable,
|
|
|
31
31
|
from simba.utils.data import (find_frame_numbers_from_time_stamp, get_cpu_pool,
|
|
32
32
|
slice_roi_dict_for_video, terminate_cpu_pool)
|
|
33
33
|
from simba.utils.enums import Formats, Options, TextOptions
|
|
34
|
-
from simba.utils.lookups import get_simba_font_name_and_path
|
|
35
34
|
from simba.utils.errors import BodypartColumnNotFoundError, NoFilesFoundError
|
|
35
|
+
from simba.utils.lookups import get_simba_font_name_and_path
|
|
36
36
|
from simba.utils.printing import stdout_information, stdout_success
|
|
37
37
|
from simba.utils.read_write import (concatenate_videos_in_folder,
|
|
38
38
|
find_core_cnt, get_fn_ext,
|
|
@@ -519,17 +519,17 @@ class PlotSklearnResultsMultiProcess(ConfigReader, TrainModelMixin, PlottingMixi
|
|
|
519
519
|
# if __name__ == "__main__":
|
|
520
520
|
# clf_plotter = PlotSklearnResultsMultiProcess(config_path=r"H:\projects\jason_zhang\jason_project\project_folder\project_config.ini",
|
|
521
521
|
# video_paths=r"H:\projects\jason_zhang\jason_project\project_folder\videos",
|
|
522
|
-
# data_dir=r"H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING",
|
|
523
|
-
# save_dir=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING\videos',
|
|
522
|
+
# data_dir=r"H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING\500_0.275_smoothing_500ms\csvs",
|
|
523
|
+
# save_dir=r'H:\projects\jason_zhang\jason_project\project_folder\csv\GROOMING\500_0.275_smoothing_500ms\videos',
|
|
524
524
|
# clf_names=('GROOMING',),
|
|
525
525
|
# video_setting=True,
|
|
526
526
|
# frame_setting=False,
|
|
527
527
|
# rotate=False,
|
|
528
528
|
# show_confidence=True,
|
|
529
|
-
# core_cnt=
|
|
529
|
+
# core_cnt=8,
|
|
530
530
|
# show_pose=True,
|
|
531
531
|
# animal_names=False,
|
|
532
|
-
# font='
|
|
532
|
+
# font='poppins regular',
|
|
533
533
|
# print_timer=HHMMSSSSSS,
|
|
534
534
|
# overwrite=False,
|
|
535
535
|
# time_slice=None, # {START_TIME: '00:00:00', END_TIME: '00:00:10'}, #{START_TIME: '00:00:00', END_TIME: '00:01:00'}, #,{START_TIME: '00:00:00', END_TIME: '00:01:00'}
|
|
@@ -319,6 +319,11 @@ def get_ear_tags_for_rectangle(center: Tuple[int, int], width: int, height: int)
|
|
|
319
319
|
"""
|
|
320
320
|
Knowing the center, width, and height of rectangle, return its vertices.
|
|
321
321
|
|
|
322
|
+
.. image:: _static/img/get_ear_tags_for_rectangle.webp
|
|
323
|
+
:alt: Get ear tags for rectangle
|
|
324
|
+
:width: 600
|
|
325
|
+
:align: center
|
|
326
|
+
|
|
322
327
|
:param Tuple[int, int] center: The center x and y coordinates of the rectangle
|
|
323
328
|
:param int width: The width of the rectangle in pixels.
|
|
324
329
|
:param Tuple[int, int] height: The width of the rectangle in pixels.
|
{simba_uw_tf_dev-5.4.3 → simba_uw_tf_dev-5.4.4}/simba/third_party_label_appenders/converters.py
RENAMED
|
@@ -82,6 +82,11 @@ def geometries_to_coco(geometries: Dict[str, np.ndarray],
|
|
|
82
82
|
them into COCO format annotations. The geometries are associated with frames of a video, and the corresponding
|
|
83
83
|
images are extracted from the video, saved as PNG files, and linked to the annotations.
|
|
84
84
|
|
|
85
|
+
.. image:: _static/img/geometries_to_coco.webp
|
|
86
|
+
:alt: Geometries to COCO
|
|
87
|
+
:width: 700
|
|
88
|
+
:align: center
|
|
89
|
+
|
|
85
90
|
:example:
|
|
86
91
|
>>> data_path = r"C:\troubleshooting\mitra\project_folder\csv\outlier_corrected_movement_location\FRR_gq_Saline_0624.csv"
|
|
87
92
|
>>> animal_data = read_df(file_path=data_path, file_type='csv', usecols=['Nose_x', 'Nose_y', 'Tail_base_x', 'Tail_base_y', 'Left_side_x', 'Left_side_y', 'Right_side_x', 'Right_side_y']).values.reshape(-1, 4, 2)[0:20].astype(np.int32)
|
|
@@ -114,7 +119,7 @@ def geometries_to_coco(geometries: Dict[str, np.ndarray],
|
|
|
114
119
|
img_save_path = os.path.join(save_img_dir, img_name)
|
|
115
120
|
cv2.imwrite(img_save_path, img)
|
|
116
121
|
img_names.append(img_name)
|
|
117
|
-
annotation_id =
|
|
122
|
+
annotation_id = len(annotations) + 1
|
|
118
123
|
d = GeometryMixin().get_shape_lengths_widths(shapes=Polygon(img_geometry))
|
|
119
124
|
a_h, a_w, a_a = d['max_length'], d['max_width'], d['max_area']
|
|
120
125
|
bbox = [int(category_data[img_cnt][0][0]), int(category_data[img_cnt][0][1]), int(a_w), int(a_h)]
|
|
@@ -137,6 +142,11 @@ def geometries_to_yolo(geometries: Dict[Union[str, int], np.ndarray],
|
|
|
137
142
|
"""
|
|
138
143
|
Converts geometrical shapes (like polygons) into YOLO format annotations and saves them along with corresponding video frames as images.
|
|
139
144
|
|
|
145
|
+
.. image:: _static/img/geometries_to_yolo.webp
|
|
146
|
+
:alt: Geometries to YOLO
|
|
147
|
+
:width: 700
|
|
148
|
+
:align: center
|
|
149
|
+
|
|
140
150
|
:param Dict[Union[str, int], np.ndarray geometries: A dictionary where the keys represent category IDs (either string or int), and the values are NumPy arrays of shape `(n_frames, n_points, 2)`. Each entry in the array represents the geometry of an object in a particular frame (e.g., keypoints or polygons).
|
|
141
151
|
:param Union[str, os.PathLike] video_path: Path to the video file from which frames are extracted. The video is used to extract images corresponding to the geometrical annotations.
|
|
142
152
|
:param Union[str, os.PathLike] save_dir: The directory where the output images and YOLO annotation files will be saved. Images will be stored in a subfolder `images/` and annotations in `labels/`.
|
|
@@ -204,7 +214,7 @@ def geometries_to_yolo(geometries: Dict[Union[str, int], np.ndarray],
|
|
|
204
214
|
results[img_name] = [img_results]
|
|
205
215
|
else:
|
|
206
216
|
results[img_name].append(img_results)
|
|
207
|
-
lbl_cnt
|
|
217
|
+
lbl_cnt += 1
|
|
208
218
|
|
|
209
219
|
for k, v in results.items():
|
|
210
220
|
name = k.split(sep='.', maxsplit=2)[0]
|
|
@@ -367,6 +377,11 @@ def dlc_to_labelme(dlc_dir: Union[str, os.PathLike],
|
|
|
367
377
|
"""
|
|
368
378
|
Convert a folder of DLC annotations into labelme json format.
|
|
369
379
|
|
|
380
|
+
.. image:: _static/img/dlc_to_labelme.webp
|
|
381
|
+
:alt: DLC to Labelme
|
|
382
|
+
:width: 700
|
|
383
|
+
:align: center
|
|
384
|
+
|
|
370
385
|
:param Union[str, os.PathLike] dlc_dir: Folder with DLC annotations. I.e., directory inside
|
|
371
386
|
:param Union[str, os.PathLike] save_dir: Directory to where to save the labelme json files.
|
|
372
387
|
:param Optional[str] labelme_version: Version number encoded in the json files.
|
|
@@ -741,6 +756,11 @@ def simba_rois_to_yolo(config_path: Optional[Union[str, os.PathLike]] = None,
|
|
|
741
756
|
"""
|
|
742
757
|
Converts SimBA roi definitions into annotations and images for training yolo network.
|
|
743
758
|
|
|
759
|
+
.. image:: _static/img/simba_rois_to_yolo.webp
|
|
760
|
+
:alt: SimBA ROIs to YOLO
|
|
761
|
+
:width: 700
|
|
762
|
+
:align: center
|
|
763
|
+
|
|
744
764
|
:param Optional[Union[str, os.PathLike]] config_path: Optional path to the project config file in SimBA project.
|
|
745
765
|
:param Optional[Union[str, os.PathLike]] roi_path: Path to the SimBA roi definitions .h5 file. If None, then the ``roi_coordinates_path`` of the project.
|
|
746
766
|
:param Optional[Union[str, os.PathLike]] video_dir: Directory where to find the videos. If None, then the videos folder of the project.
|
|
@@ -883,12 +903,16 @@ def yolo_obb_data_to_bounding_box(center_x: float, center_y: float, width: float
|
|
|
883
903
|
this function computes the coordinates of the four corner points of the bounding box,
|
|
884
904
|
with rotation applied about the center.
|
|
885
905
|
|
|
906
|
+
.. image:: _static/img/yolo_obb_data_to_bounding_box.webp
|
|
907
|
+
:alt: YOLO OBB data to bounding box
|
|
908
|
+
:width: 600
|
|
909
|
+
:align: center
|
|
910
|
+
|
|
886
911
|
:param float center_x: The x-coordinate of the bounding box center.
|
|
887
912
|
:param float center_y: The y-coordinate of the bounding box center.
|
|
888
913
|
:param float width: The width of the bounding box.
|
|
889
914
|
:param float height: The height of the bounding box.
|
|
890
915
|
:param float angle: The rotation angle of the bounding box in degrees, measured counterclockwise.
|
|
891
|
-
|
|
892
916
|
:return: An array of shape (4, 2) containing the (x, y) coordinates of the four corners of the bounding box in the following order: top-left, top-right, bottom-right, and bottom-left.
|
|
893
917
|
:rtype: np.ndarray
|
|
894
918
|
"""
|
|
@@ -344,9 +344,9 @@ class LitPoseMergeProjects:
|
|
|
344
344
|
|
|
345
345
|
|
|
346
346
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
347
|
+
merger = LitPoseMergeProjects(master_dir=r'H:\sina\project_0609_5cam\project_0609_5cam',
|
|
348
|
+
other_dirs=[r"H:\sina\project_0609_5cam_simon", r"H:\sina\project_0615\project_0615"],
|
|
349
|
+
duplicate_method='skip',
|
|
350
|
+
verbose=True,
|
|
351
|
+
skip_videos=False)
|
|
352
|
+
merger.run()
|