simba-uw-tf-dev 4.7.6__tar.gz → 4.7.7__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-4.7.6 → simba_uw_tf_dev-4.7.7}/PKG-INFO +1 -1
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/setup.py +1 -1
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/.recent_projects.txt +1 -0
- simba_uw_tf_dev-4.7.7/simba/assets/icons/folder_2.png +0 -0
- simba_uw_tf_dev-4.7.7/simba/assets/icons/folder_video.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/tooptips.json +24 -2
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/yolo_fit.py +42 -9
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo.py +1 -2
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/sleap_csv_to_yolo.py +18 -12
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/create_project_ui.py +1 -1
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/batch_preprocess_pop_up.py +1 -1
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/simba_to_yolo_keypoints_popup.py +96 -96
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/sleap_annotations_to_yolo_popup.py +32 -18
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/sleap_csv_predictions_to_yolo_popup.py +15 -14
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/yolo_plot_results.py +146 -153
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/yolo_pose_train_popup.py +69 -23
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/checks.py +2414 -2401
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/read_write.py +22 -20
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/video_processing.py +3 -2
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba_uw_tf_dev.egg-info/PKG-INFO +1 -1
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba_uw_tf_dev.egg-info/SOURCES.txt +2 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/bigquery_download_stats.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/cleaning.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/issue_msg.yml.disabled +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/issue_report.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/tests_py310.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.github/workflows/tests_py36.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.gitignore +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.pytest.ini +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/.readthedocs.yaml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/App.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/CITATION.cff +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/CODE_OF_CONDUCT.md +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/LICENSE +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/MANIFEST.in +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/README.md +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/requirements.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/requirements_arm.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/requirements_gpu.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/requirements_wsl.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/caltech_download.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/create_issues_report.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/dataverse_download.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/gitter_stats.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/make_qr_code.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/osf_download.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/scripts/upgrade_simba_keep_configs.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/setup.cfg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/SimBA.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/SimBA_logo.ico +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/.env +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/TheGoldenLab.PNG +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/dash_simba_base.css +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/fonts/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/fonts/Playwrite ES Deco.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/fonts/Poppins Bold.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/fonts/Poppins Regular.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/fonts/UbuntuMono-Regular.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo.icns +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo.ico +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo_3.ico +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo_3_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/SimBA_logo_4_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/abacus.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/abacus_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/abacus_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/about.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/add.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/add_on.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/analyze_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/analyze_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/api.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/application.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/archive.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/arrow_down_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/arrow_down_green_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/attributes_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/audio.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/average.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/average_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/avi.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bar_graph_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bar_graph_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bar_graph_light_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/batch.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/black_and_white.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/black_cross.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/blur.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bmp.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bold.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/boolean.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/boris.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/branches_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/brightness.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/browse.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/browse_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/brush_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bubble.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bubble_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bubble_pink.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bullet_grey.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bullseye.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/bw.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/calipher.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/camera.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/category.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/center.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/change.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/check_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/circle.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/circle_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/circle_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/circle_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/circle_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clahe.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clean.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clean_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clf.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clf_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clip.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/clock.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/close.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/cluster.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/cluster_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/coco_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/color_wheel.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_icons/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_icons/horizontal.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_icons/mixed_mosaic.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_icons/mosaic.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_icons/vertical.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/concat_videos.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/convert.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/counter.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/cpu_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/create.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/crop.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/crop_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/crop_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/crossfade.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/csv_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/csv_grey.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/curve_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/danger.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dash_simba.css +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/data_table.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/decision_tree_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/decision_tree_purple.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/decision_tree_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/delete_large_orange.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/delete_large_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dependency.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/details.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/developer.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dice_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dimensionality_reduction.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/direction.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/direction_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/direction_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/display_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/distance.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/distance_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dlc_1.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dlc_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/documentation.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/documentation_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/download.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/draw.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/dumbbell.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/duplicate.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/duplicate_2_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/duplicate_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/duplicate_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ear_right.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ear_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/edit.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/edit_roi_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/egocentric.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/equation_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ethovision.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/exit.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/eye.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/factory.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fast_forward.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fast_forward_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fast_forward_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fast_forward_large_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fast_reverse.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fastforward_green_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/feather_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/features.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ffmpeg.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/file.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/file_type.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fill.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/filter.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/finish.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fire.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/first.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/first_frame_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/first_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/flip_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/flip_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/flip_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/folder.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/font.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/font_size.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/forest.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/forward.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/forward_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/four_squares.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/fps.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/frames.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/frames_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gamma.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gantt_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gantt_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gif.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/github.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/github_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gitter.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gitter_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gpu.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gpu_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/gpu_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/green_check.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/green_dice.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/grey.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/greyscale.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/half_circle.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/half_circle_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/heatmap.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/height.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/hexagon.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/hexagon_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/hierarchy.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/hierarchy_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/histogram.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/home.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/horizontal.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/id_card.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/id_card_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/image.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/import.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/info.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/info_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ini.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/interaction_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/interactive_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/invert.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/join_purple.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/join_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/join_yellow.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/jpeg.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/json.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/jump.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/label.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/label_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/label_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/label_yellow.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/labelme.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/labelme_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/labelme_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/last.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/last_frame_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/last_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/leaf.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/left_arrow_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/left_arrow_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/left_ear.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/light_bulb.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/line.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/line_chart_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/line_chart_light_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/line_chart_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/link.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/list.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/load.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/load_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/load_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/location.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/log.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/magnifying.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mars.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/merge.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/metrics.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/metrics_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/metrics_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/minus.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/minus_blue_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/minus_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/minus_red_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mixing_panel.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/monitor.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mouse_head.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mouse_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mov.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/move.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/move_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/mp4.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/multiple_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/multiple_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/multiple_yellow.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/navigation.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/nose.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/number_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/obb.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/one.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/one_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/one_to_many.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/opacity.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/options_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/original_size.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/osf.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/osf_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/outlier.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/outside.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/outside_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/overlap_iou.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/paint.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/palette_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/palette_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/parquet.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/path.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/path_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pct.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pct_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pdf_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/permutation_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/photos.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/play.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/play_large_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/plot.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/plus.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/plus_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/plus_green_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/plus_green_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/png.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/point.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/point_right_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pointing_left_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/polygon.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/polygon_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/polygon_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pose.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/pose_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/print.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/probability.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/progressbar_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/python.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/question_mark.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/range_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/readthedocs_logo.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/recent_files.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rectangle.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rectangle_1_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rectangle_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rectangle_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rectangle_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/remove_bg.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/reorganize.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/resize.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/restart.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/reverse.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/reverse_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/reverse_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/reverse_large_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rewind.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rewind_blue_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rewind_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rewind_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/right_arrow_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/right_arrow_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rocket.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/roi.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/roi_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rotate.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/rounding.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ruler.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ruler_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/run.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/sample.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/save.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/save_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/save_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/save_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/save_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/scale_1.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/scale_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/scale_3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/search.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/segment.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/seperate_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/settings.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shade.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shap.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shap_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shapes_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shapes_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/shapes_small_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/sigma.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/simba_logo_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/single_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/single_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/single_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/size_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/skip.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/skip_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/skip_forward_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/skip_previous_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/sleap_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/smooth.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/speedometer.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/split.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/split_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/square_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/stack.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/star.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/stop.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/stopwatch.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/stream.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/style.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/subset_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/superimpose.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/system.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/t.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/table.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/table_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text_bg.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text_color.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text_color_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/text_spacing.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/threshold.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/tick.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/tick_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/tiff.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/tile_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/time.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/timer.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/timer_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/trash.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/trash_red.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/triangle_black.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/triangle_small.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/tv_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/two.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ultralytics_1.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/ultralytics_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/verbose.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/vertical.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/video.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/video_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/video_file_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/video_large.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/visualize.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/visualize_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/visualize_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/walk.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/wand_blue.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/warning.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/watermark_green.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/webm.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/webp.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/weight.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/weights.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/width.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/x.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/y.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/zero.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/zoom_in.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/icons/zoom_out.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/about_me.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/bg.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/bg_2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/bg_2024.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/landing.mp4 +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/simon_n.webp +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/splash.mp4 +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/splash.pptx +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/splash_2024.mp4 +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/img/~$splash.pptx +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/critical_values_05.pickle +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/feature_extraction_headers.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/features.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/model_names.parquet +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/unsupervised_example_x.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/yolo.yaml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/yolo_schematics/yolo_7bps.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/lookups/yolo_schematics/yolo_mitra.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/UbuntuMono-Regular.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/animal_distances.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/baseline_scale.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/color_bar.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/down_arrow.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/feature_categories/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/feature_categories/shap_feature_categories.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/intruder_movement.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/intruder_shape.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/resident_intruder_movement.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/resident_intruder_shape.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/resident_movement.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/resident_shape.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/side_scale.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/side_scale_5.jpg +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/shap/ubuntu.regular.ttf +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/stl/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/stl/grid_floor.stl +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/stl/operant_lever.stl +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/stl/operant_tray.stl +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/stl/operant_walls.stl +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/tracker_yml/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/tracker_yml/botsort.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/tracker_yml/bytetrack.yml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/tracker_yml/tow_bytetrack.yaml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/unsupervised/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/unsupervised/features.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/assets/unsupervised/model_names.parquet +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/agg_boundary_stats.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/boundary_menus.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/boundary_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/find_boundaries.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/visualize_boundaries.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/bounding_box_tools/yolo/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_clf_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_main_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_movement_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_tools.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/cue_light_tools/cue_light_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/dash_app/SimBA_dash_app.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/dash_app/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/dash_app/dash_app.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/dash_app/run_dash_tkinter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/advanced_interpolator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/advanced_smoothing.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/agg_clf_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/agg_clf_counter_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/blob_location_computer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/boolean_conditional_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/circling_detector.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/circular_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/create_shap_log.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/data.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/geometry.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/image.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/timeseries.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cuda/utils.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cue_light_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cue_light_clf_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/cue_light_movement_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/directing_animal_to_bodypart.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/directing_other_animals_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/egocentric_aligner.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/find_animal_blob_location.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/freezing_detector.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/fsttc_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/gibbs_sampler.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/interpolate.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/interpolate_pose.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/interpolation_smoothing.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/kleinberg_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/light_dark_box_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/movement_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/mutual_exclusivity_corrector.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/pup_retrieval_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/pybursts_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/severity_bout_based_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/severity_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/severity_frame_based_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/smoothing.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/spontaneous_alternation_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/timebins_clf_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/timebins_movement_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/timebins_movement_calculator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/data_processors/yolo_track_cleaner.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/aggression_feature_extractor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/amber_feature_extractor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/boundary_rearing_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/cave_fish_featurizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_14bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_16bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_4bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_7bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_8bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_8bps_2_animals.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_9bp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_extractor_user_defined.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/feature_subsets.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/gerbil_featurizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/add_probability_cnt_features.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/convex_hull_3_scratch_3.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/convex_hull_scratch_1.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/convex_hull_scratch_2.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/count_values_in_range.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/doctests.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/egocentrical_aligner.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/fish_feature_extractor_2022.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_2.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_3.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_4.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_5.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/graph_3d_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/graph_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/make_splash.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/mutual_exclusive.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/peaks.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/read_in_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/termite_rois.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/time_stamp_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/video_color.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/video_rotator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/misc/video_rotator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/mitra_feature_extractor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/perimeter_jit.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/rat_social_featurizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/riptortus_featurizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/feature_extractors/straub_tail_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/extract_labelled_frames.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/extract_labelling_meta.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/labelling_advanced_interface.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/labelling_interface.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/mitra_style_appender.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/play_annotation_video.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/single_clf_appender_excel.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/standard_labeller.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/labelling/targeted_annotations_clips.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/abstract_classes.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/annotator_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/circular_statistics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/config_reader.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/feature_extraction_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/feature_extraction_supplement_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/geometry_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/image_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/network_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/plotting_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/pop_up_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/pose_importer_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/statistics_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/timeseries_features_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/train_model_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/mixins/unsupervised_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/grid_search_multiclass_rf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/grid_search_rf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/inference_batch.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/inference_multiclass_batch.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/inference_validation.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/ordinal_clf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/regression/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/regression/metrics.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/regression/model.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/sam_inference.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/train_multiclass_rf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/train_multilabel_rf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/train_rf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/yolo_inference.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/yolo_pose_inference.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/yolo_pose_track_inference.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/model/yolo_seg_inference.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_location.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_location_advanced.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_location_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_movement.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_movement_advanced.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/outlier_corrector_movement_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/outlier_tools/skip_outlier_correction.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/ROI_feature_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/ROI_feature_visualizer_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/blob_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/blob_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/circular_feature_overlay_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/circular_plotting.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/clf_validator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/clf_validator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/cue_light_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/data_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/directing_animals_to_bodypart_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/directing_animals_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/directing_animals_visualizer_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/distance_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/distance_plotter_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/ez_path_plot.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/frame_mergerer_ffmpeg.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/gantt_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/gantt_creator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/gantt_plotly.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/geometry_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/heat_mapper_clf.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/heat_mapper_clf_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/heat_mapper_location.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/heat_mapper_location_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/interactive_probability_grapher.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/light_dark_box_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/path_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/path_plotter_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/plot_clf_results.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/plot_clf_results_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/pose_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/pose_plotter_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/probability_plot_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/probability_plot_creator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/roi_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/roi_plotter_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/sam_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/shap_agg_stats_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/single_run_model_validation_video.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/single_run_model_validation_video_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/spontaneous_alternation_plotter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/tools/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/tools/tkinter_tools.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/yolo_pose_track_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/yolo_pose_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/yolo_seg_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/plotting/yolo_visualize.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/bp_names/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/bp_names/bp_names.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/configuration_names/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/configuration_names/pose_config_names.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/no_animals/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/no_animals/no_animals.csv +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/1.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/10.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/11.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/12.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/13.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/14.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/15.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/16.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/2.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/3.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/4.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/5.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/6.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/7.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/8.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_configurations/schematics/9.png +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/dlc_importer_csv.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/facemap_h5_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/import_mars.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/madlc_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/misc/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/misc/apt_trk_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/read_DANNCE_mat.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/simba_blob_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/simba_yolo_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/sleap_csv_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/sleap_h5_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/sleap_slp_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/superanimal_import.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_importers/trk_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_processors/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_processors/pose_reset.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_processors/remove_keypoints.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_processors/reorganize_keypoint.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/pose_processors/reverse_pose.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/requirements.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/ROI_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/ROI_directing_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/ROI_feature_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/ROI_size_standardizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/ROI_time_bin_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/import_roi_csvs.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/interactive_modifier_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/interactive_roi_bufferer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/interactive_roi_modifier_tkinter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_aggregate_statistics_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_aggregate_stats_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_clf_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_clf_calculator_mp.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_ruler.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_selector_circle_tkinter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_selector_polygon_tkinter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_selector_rectangle_tkinter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_time_bins_analyzer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_ui_mixin.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/roi_tools/roi_utils.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/BENTO_appender.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/BORIS_appender.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/boris_source_cleaner.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/converters.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/deepethogram_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/ethovision_import.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/observer_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/shah_appender.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/solomon_importer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/third_party_appender.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/tools.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_bbox.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/dlc_ma_h5_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/dlc_multi_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/dlc_single_to_multi_format_converter.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/dlc_to_labelme.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/dlc_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/labelme_to_df.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/labelme_to_dlc.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/labelme_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/labelme_to_yolo_keypoints.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/labelme_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/simba_roi_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/simba_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/simba_to_yolo_seg.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/sleap_h5_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/sleap_to_yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/utils.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/third_party_label_appenders/transform/yolo_to_imgs.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/blob_quick_check_interface.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/blob_tracker_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/get_tree_view.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/import_pose_frame.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/import_videos_frame.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/machine_model_settings_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/ml_settings_frm.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/about_simba_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/animal_directing_other_animals_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/append_roi_features_animals_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/append_roi_features_bodypart_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/archive_files_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/blob_visualizer_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/boolean_conditional_slicer_pup_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/change_speed_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/check_videos_seekable_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_add_remove_print_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_annotation_counts_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_by_roi_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_by_timebins_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_descriptive_statistics_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_probability_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/clf_validation_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/coco_keypoints_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/create_user_defined_pose_configuration_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/csv_2_parquet_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/cue_light_clf_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/cue_light_data_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/cue_light_main_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/cue_light_movement_analyzer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/cue_light_visualizer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/data_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/delete_all_rois_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/directing_animal_to_bodypart_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/directing_other_animals_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/direction_animal_to_bodypart_settings_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/distance_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/dlc_annotations_to_labelme_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/dlc_h5_inference_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/dlc_to_labelme_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/dlc_to_yolo_keypoints_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/duplicate_rois_by_source_target_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/egocentric_alignment_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/extract_annotation_frames_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/fsttc_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/gantt_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/heatmap_clf_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/heatmap_location_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/helpers.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/import_roi_csv_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/initialize_blob_tracking_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/interpolate_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/kleinberg_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/labelme_bbox_to_yolo_bbox_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/labelme_dir_to_csv_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/labelme_to_df_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/labelme_to_imgs_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/make_path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/merge_coco_keypoint_files_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/min_max_draw_size_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/movement_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/movement_analysis_time_bins_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/multiple_videos_to_frames_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/mutual_exclusivity_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/outlier_settings_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/pose_bp_drop_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/pose_reorganizer_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/print_video_meta_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/pup_retrieval_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/quick_path_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/remove_roi_features_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_aggregate_stats_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_analysis_time_bins_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_features_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_size_standardizer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_tracking_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/roi_video_table_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/run_machine_models_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/select_video_for_labelling_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/select_video_for_pseudo_labelling_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/severity_analysis_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/simba_rois_to_yolo_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/single_video_to_frames_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/sleap_h5_inference_to_yolo_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/smoothing_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/splash_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/spontaneous_alternation_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/subset_feature_extractor_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/targeted_annotation_clips_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/third_party_annotator_appender_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/validation_plot_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/video_processing_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/visualize_pose_in_dir_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/yolo_inference_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/px_to_mm_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/tkinter_functions.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/user_defined_pose_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/video_info_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/video_timelaps.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/bout_aggregator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/cluster_frequentist_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/cluster_validation_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/cluster_video_visualizer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/cluster_xai_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/clusterer_comparison_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/data_extractor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/data_map.yaml +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/dataset_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/dbcv_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/embedding_correlation_calculator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/enums.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/grid_search_visualizers.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/hdbscan_clusterer.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/outlier_detector.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/cluster_frequentist_stats_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/cluster_validation_pop_up.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/cluster_videos_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/cluster_xai_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/clusterer_comparison_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/data_extractor_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/embedding_correlations_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/fit_cluster_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/fit_dim_reduction_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/grid_search_visualizer_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/print_embedding_info_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/transform_cluster_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/pop_ups/transform_dim_reduction_popup.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/tsne.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/umap_embedder.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/unsupervised/unsupervised_main.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/cli/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/cli/cli_tools.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/config_creator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/custom_feature_extractor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/data.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/enums.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/errors.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/lookups.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/printing.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/warnings.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/utils/yolo.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/.DS_Store +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/__init__.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/async_frame_reader.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/batch_process_create_ffmpeg_commands.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/batch_process_menus.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/blob_tracking_executor.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/brightness_contrast_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/calculate_px_dist.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/clahe_ui.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/egocentric_video_rotator.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/extract_frames.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/extract_seqframes.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/multi_cropper.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/roi_selector.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/roi_selector_circle.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/roi_selector_polygon.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/video_processors/videos_to_frames.py +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba_uw_tf_dev.egg-info/dependency_links.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba_uw_tf_dev.egg-info/entry_points.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba_uw_tf_dev.egg-info/requires.txt +0 -0
- {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/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: 4.7.
|
|
3
|
+
Version: 4.7.7
|
|
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
|
|
@@ -29,7 +29,7 @@ with open(GPU_REQUIREMENTS_PATH, "r") as f:
|
|
|
29
29
|
# Setup configuration
|
|
30
30
|
setuptools.setup(
|
|
31
31
|
name="simba_uw_tf_dev",
|
|
32
|
-
version="4.7.
|
|
32
|
+
version="4.7.7",
|
|
33
33
|
author="Simon Nilsson, Jia Jie Choong, Sophia Hwang",
|
|
34
34
|
author_email="sronilsson@gmail.com",
|
|
35
35
|
description="Toolkit for computer classification and analysis of behaviors in experimental animals",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
E:/troubleshooting/mitra_pbn/mitra_pbn/project_folder/project_config.ini
|
|
1
2
|
C:/troubleshooting/sleap_two_animals/project_folder/project_config.ini
|
|
2
3
|
E:/troubleshooting/mitra_emergence/project_folder/project_config.ini
|
|
3
4
|
C:/troubleshooting/meberled/project_folder/project_config.ini
|
|
Binary file
|
|
Binary file
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"batch_dropdown": "Number of frames processed at once. Larger batches speed up inference but require more GPU RAM.",
|
|
6
6
|
"verbose_dropdown": "Toggle console printouts for progress and timings. Keep TRUE while tuning, FALSE for quiet runs.",
|
|
7
7
|
"workers_dropdown": "How many CPU worker threads to use for pre/post-processing. Set <= available cores.",
|
|
8
|
-
"format_dropdown": "
|
|
8
|
+
"format_dropdown": "Export/serialization format. Training: export the trained model to this format after training (None = PyTorch .pt only). Inference: match the format of your weights file, or None to auto-detect from file extension. Options: onnx, engine, torchscript, onnxsimplify, coreml, openvino, pb, tf, tflite, torch.",
|
|
9
9
|
"img_size_dropdown": "Resize shorter image side to this many pixels before inference. Larger sizes improve accuracy but slow down processing.",
|
|
10
10
|
"devices_dropdown": "Compute device to run on. Select CUDA device ID for GPU or CPU.",
|
|
11
11
|
"interpolate_dropdown": "Fill missing detections by interpolating coordinates over time. Recommended for cleaner trajectories.",
|
|
@@ -43,5 +43,27 @@
|
|
|
43
43
|
"KLEINBERG_GAMMA": "Higher values (e.g., 0.5-1.0) reduce total burst count by making downward transitions costly; lower values (e.g., 0.1-0.3) allow more flexible state changes",
|
|
44
44
|
"KLEINBERG_HIERARCHY": "Hierarchy level to extract bursts from (0=lowest, higher=more selective).\n Level 0 captures all bursts; level 1-2 typically filters noise; level 3+ selects only the most prominent, sustained bursts.\nHigher levels yield fewer but more confident detections",
|
|
45
45
|
"KLEINBERG_HIERARCHY_SEARCH": "If True, searches for target hierarchy level within detected burst periods,\n falling back to lower levels if target not found. If False, extracts only bursts at the exact specified hierarchy level.\n Recommended when target hierarchy may be sparse.",
|
|
46
|
-
"KLEINBERG_SAVE_ORIGINALS": "If True, saves the original data in a new sub-directory of \nthe project_folder/csv/machine_results directory"
|
|
46
|
+
"KLEINBERG_SAVE_ORIGINALS": "If True, saves the original data in a new sub-directory of \nthe project_folder/csv/machine_results directory",
|
|
47
|
+
"yolo_map_path": "Path to the YOLO dataset YAML file. Defines class names, paths to train/val images and labels, and number of keypoints.",
|
|
48
|
+
"yolo_initial_weights_path": "Optional path to pretrained weights (.pt) to start training from (e.g. yolo11n-pose.pt). Leave blank to train from scratch.",
|
|
49
|
+
"epochs_dropdown": "Number of training epochs. More epochs can improve accuracy but increase overfitting risk and training time.",
|
|
50
|
+
"plots_dropdown": "If TRUE, generate and save training curves (loss, mAP, etc.) in the save directory.",
|
|
51
|
+
"patience_dropdown": "Early-stopping patience: training stops if validation metric does not improve for this many epochs.",
|
|
52
|
+
"simba2yolo_config": "Path to the SimBA project configuration file (.ini). Defines project paths, body-parts, and animals.",
|
|
53
|
+
"simba2yolo_train_size": "Percentage of sampled frames to use for the YOLO training set. The remainder is used for validation. E.g. 70 means 70% train, 30% val.",
|
|
54
|
+
"simba2yolo_padding": "Extra margin (as a fraction of image size) added around the keypoint bounding box. Use a small value (e.g. 0.05–0.2) if the tight box cuts off body parts or you want more context in each crop; None or 0 = no padding.",
|
|
55
|
+
"simba2yolo_sample_size": "Maximum number of frames to sample per video for creating YOLO images and labels. Higher values give more data but increase processing time.",
|
|
56
|
+
"simba2yolo_grey": "If TRUE, extracted video frames are saved in greyscale. If FALSE, frames are saved in color.",
|
|
57
|
+
"simba2yolo_clahe": "If TRUE, apply CLAHE (Contrast Limited Adaptive Histogram Equalization) to frames before saving. Can improve keypoint visibility in low-contrast videos.",
|
|
58
|
+
"yolo_plot_line_thickness": "Thickness of the lines drawn between keypoints (skeleton). AUTO lets the plotter choose based on video size; or set 1–20 pixels.",
|
|
59
|
+
"yolo_plot_circle_size": "Radius of the circles drawn at each keypoint. AUTO lets the plotter choose based on video size; or set 1–20 pixels.",
|
|
60
|
+
"yolo_plot_tracks": "If TRUE, draw trajectory paths (tracks) for each detected instance over time. If FALSE, draw only keypoints and skeleton per frame.",
|
|
61
|
+
"yolo_plot_data_path": "Path to a single YOLO pose result CSV (output from YOLO pose inference). Must match the video you select.",
|
|
62
|
+
"yolo_plot_video_path": "Path to the video file to overlay pose results onto. Filename should match the data CSV (without extension).",
|
|
63
|
+
"yolo_plot_data_dir": "Directory containing YOLO pose result CSV files. Used for batch plotting; each CSV is matched to a video of the same name in the video directory.",
|
|
64
|
+
"SLEAP_DATA_DIR": "Directory containing SLEAP CSV prediction files. Each CSV should match a video filename (without extension).",
|
|
65
|
+
"ANIMAL_COUNT": "Number of animals (tracks) in the videos. Used to name classes (e.g. animal_1, animal_2) in the YOLO dataset.",
|
|
66
|
+
"sleap_remove_animal_ids": "If TRUE, merge all tracks into a single identity (animal_1). Use when animal IDs are not meaningful or for single-animal data.",
|
|
67
|
+
"sleap_threshold": "Minimum SLEAP instance confidence (the instance.score column in the CSV). Only pose predictions with score ≥ this value are used when building the YOLO dataset. E.g. 90 means keep instances where instance.score ≥ 0.9; lower values include more frames but may add noisy predictions.",
|
|
68
|
+
"SLEAP_SLP_DATA_DIR": "Directory containing SLEAP .SLP project/annotation files. Each .SLP file is converted to YOLO pose format."
|
|
47
69
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import sys
|
|
3
|
+
import urllib.request
|
|
3
4
|
from contextlib import redirect_stderr, redirect_stdout
|
|
4
5
|
|
|
5
6
|
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
|
|
@@ -19,13 +20,19 @@ except ModuleNotFoundError:
|
|
|
19
20
|
from simba.data_processors.cuda.utils import _is_cuda_available
|
|
20
21
|
from simba.utils.checks import (check_file_exist_and_readable,
|
|
21
22
|
check_if_dir_exists, check_int, check_str,
|
|
22
|
-
check_valid_boolean, check_valid_device
|
|
23
|
+
check_valid_boolean, check_valid_device,
|
|
24
|
+
check_valid_url)
|
|
23
25
|
from simba.utils.enums import Options
|
|
24
26
|
from simba.utils.errors import SimBAGPUError, SimBAPAckageVersionError
|
|
25
27
|
from simba.utils.printing import stdout_information
|
|
26
28
|
from simba.utils.read_write import find_core_cnt, get_current_time
|
|
27
29
|
from simba.utils.yolo import load_yolo_model
|
|
28
30
|
|
|
31
|
+
#YOLO_X_PATH = "https://huggingface.co/Ultralytics/YOLO11/resolve/main/yolo11x-pose.pt"
|
|
32
|
+
|
|
33
|
+
YOLO_M_PATH = "https://huggingface.co/Ultralytics/YOLO11/resolve/main/yolo11m-pose.pt"
|
|
34
|
+
|
|
35
|
+
|
|
29
36
|
|
|
30
37
|
class FitYolo():
|
|
31
38
|
|
|
@@ -74,9 +81,9 @@ class FitYolo():
|
|
|
74
81
|
"""
|
|
75
82
|
|
|
76
83
|
def __init__(self,
|
|
77
|
-
weights_path: Union[str, os.PathLike],
|
|
78
84
|
model_yaml: Union[str, os.PathLike],
|
|
79
85
|
save_path: Union[str, os.PathLike],
|
|
86
|
+
weights_path: Optional[Union[str, os.PathLike]] = None,
|
|
80
87
|
epochs: int = 200,
|
|
81
88
|
batch: Union[int, float] = 16,
|
|
82
89
|
plots: bool = True,
|
|
@@ -92,7 +99,11 @@ class FitYolo():
|
|
|
92
99
|
raise SimBAGPUError(msg='No GPU detected.', source=self.__class__.__name__)
|
|
93
100
|
if YOLO is None:
|
|
94
101
|
raise SimBAPAckageVersionError(msg='Ultralytics package not detected.', source=self.__class__.__name__)
|
|
95
|
-
|
|
102
|
+
if weights_path is not None:
|
|
103
|
+
check_file_exist_and_readable(file_path=weights_path)
|
|
104
|
+
self.weights_path = weights_path
|
|
105
|
+
else:
|
|
106
|
+
self._download_start_weights()
|
|
96
107
|
check_file_exist_and_readable(file_path=model_yaml)
|
|
97
108
|
check_valid_boolean(value=verbose, source=f'{__class__.__name__} verbose', raise_error=True)
|
|
98
109
|
check_valid_boolean(value=plots, source=f'{__class__.__name__} plots', raise_error=True)
|
|
@@ -106,12 +117,19 @@ class FitYolo():
|
|
|
106
117
|
check_valid_device(device=device)
|
|
107
118
|
self.model_yaml, self.epochs, self.batch = model_yaml, epochs, batch
|
|
108
119
|
self.imgsz, self.device, self.workers, self.format = imgsz, device, workers, format
|
|
109
|
-
self.plots, self.save_path, self.verbose, self.
|
|
120
|
+
self.plots, self.save_path, self.verbose, self.patience = plots, save_path, verbose, patience
|
|
121
|
+
|
|
122
|
+
def _download_start_weights(self, url: str = YOLO_M_PATH, save_path: Union[str, os.PathLike] = "yolo11m-pose.pt"):
|
|
123
|
+
print(f'No start weights provided, downloading {save_path} from {url}...')
|
|
124
|
+
check_valid_url(url=url, raise_error=True, source=self.__class__.__name__)
|
|
125
|
+
if not os.path.isfile(save_path):
|
|
126
|
+
urllib.request.urlretrieve(url, save_path)
|
|
127
|
+
stdout_information(msg=f'Downloaded initial weights from {url}', source=self.__class__.__name__)
|
|
128
|
+
self.weights_path = save_path
|
|
129
|
+
print(self.weights_path)
|
|
110
130
|
|
|
111
131
|
|
|
112
132
|
def run(self):
|
|
113
|
-
# Temporarily redirect stdout/stderr to terminal to ensure ultralytics output goes to terminal
|
|
114
|
-
# sys.__stdout__ and sys.__stderr__ are the original terminal streams
|
|
115
133
|
stdout_information(msg=f'[{get_current_time()}] Please follow the YOLO pose model training in the terminal from where SimBA was launched ...', source=self.__class__.__name__)
|
|
116
134
|
stdout_information(msg=f'[{get_current_time()}] Results will be stored in the {self.save_path} directory ..', source=self.__class__.__name__)
|
|
117
135
|
with redirect_stdout(sys.__stdout__), redirect_stderr(sys.__stderr__):
|
|
@@ -133,7 +151,7 @@ class FitYolo():
|
|
|
133
151
|
|
|
134
152
|
if __name__ == "__main__" and not hasattr(sys, 'ps1'):
|
|
135
153
|
parser = argparse.ArgumentParser(description="Fit YOLO model using ultralytics package.")
|
|
136
|
-
parser.add_argument('--weights_path', type=str,
|
|
154
|
+
parser.add_argument('--weights_path', type=str, default=None, help='Path to the trained YOLO model weights (e.g., yolo11n-pose.pt). Omit to download default starter weights.')
|
|
137
155
|
parser.add_argument('--model_yaml', type=str, required=True, help='Path to map.yaml (model structure and label definitions)')
|
|
138
156
|
parser.add_argument('--save_path', type=str, required=True, help='Directory where trained model and logs will be saved')
|
|
139
157
|
parser.add_argument('--epochs', type=int, default=25, help='Number of epochs to train the model. Default is 25')
|
|
@@ -146,7 +164,6 @@ if __name__ == "__main__" and not hasattr(sys, 'ps1'):
|
|
|
146
164
|
parser.add_argument('--workers', type=int, default=8, help='Number of data loader workers. Default is 8. Use -1 for max cores')
|
|
147
165
|
parser.add_argument('--patience', type=int, default=100, help='Number of epochs to wait without improvement in validation metrics before early stopping the training. Default is 100')
|
|
148
166
|
|
|
149
|
-
|
|
150
167
|
args = parser.parse_args()
|
|
151
168
|
|
|
152
169
|
yolo_fitter = FitYolo(weights_path=args.weights_path,
|
|
@@ -159,11 +176,27 @@ if __name__ == "__main__" and not hasattr(sys, 'ps1'):
|
|
|
159
176
|
format=args.format,
|
|
160
177
|
device=int(args.device) if args.device != 'cpu' else 'cpu',
|
|
161
178
|
verbose=args.verbose,
|
|
162
|
-
workers=args.workers
|
|
179
|
+
workers=args.workers,
|
|
180
|
+
patience=args.patience)
|
|
163
181
|
yolo_fitter.run()
|
|
164
182
|
|
|
165
183
|
|
|
166
184
|
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
# fitter = FitYolo(weights_path=r"D:\maplight_tg2576_yolo\yolo_mdl\original_weight_oct\best.pt",
|
|
188
|
+
# model_yaml=r"D:\maplight_tg2576_yolo\yolo_mdl\map.yaml",
|
|
189
|
+
# save_path=r"D:\maplight_tg2576_yolo\yolo_mdl\mdl",
|
|
190
|
+
# epochs=1500,
|
|
191
|
+
# batch=22,
|
|
192
|
+
# format=None,
|
|
193
|
+
# device=0,
|
|
194
|
+
# imgsz=640)
|
|
195
|
+
# fitter.run()
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
167
200
|
# fitter = FitYolo(weights_path=r"E:\yolo_resident_intruder\mdl\train3\weights\best.pt",
|
|
168
201
|
# model_yaml=r"E:\maplight_videos\yolo_mdl\map.yaml",
|
|
169
202
|
# save_path=r"E:\maplight_videos\yolo_mdl\mdl",
|
|
@@ -75,7 +75,7 @@ class COCOKeypoints2Yolo:
|
|
|
75
75
|
img_dir: Union[str, os.PathLike],
|
|
76
76
|
save_dir: Union[str, os.PathLike],
|
|
77
77
|
train_size: float = 0.7,
|
|
78
|
-
flip_idx: Tuple[int, ...] = (0, 2, 1,
|
|
78
|
+
flip_idx: Tuple[int, ...] = (0, 2, 1, 5, 4, 3, 6),
|
|
79
79
|
verbose: bool = True,
|
|
80
80
|
greyscale: bool = False,
|
|
81
81
|
clahe: bool = False,
|
|
@@ -175,7 +175,6 @@ class COCOKeypoints2Yolo:
|
|
|
175
175
|
missing = [x for x in list(range(shapes[0])) if x not in self.flip_idx]
|
|
176
176
|
if len(missing) > 0:
|
|
177
177
|
raise InvalidInputError(msg=f'keypoints contains index values not in flip_idx ({missing}).', source=self.__class__.__name__)
|
|
178
|
-
|
|
179
178
|
create_yolo_keypoint_yaml(path=self.save_dir, train_path=self.train_img_dir, val_path=self.val_img_dir, names=self.map_dict, save_path=self.map_path, kpt_shape=(int(shapes[0]), 3), flip_idx=self.flip_idx)
|
|
180
179
|
timer.stop_timer()
|
|
181
180
|
if self.verbose: stdout_success(msg=f'COCO keypoints to YOLO conversion complete. Data saved in directory {self.save_dir}.', elapsed_time=timer.elapsed_time_str)
|
|
@@ -19,10 +19,10 @@ from simba.utils.checks import (check_float, check_if_dir_exists, check_int,
|
|
|
19
19
|
check_valid_dataframe, check_valid_tuple)
|
|
20
20
|
from simba.utils.enums import Options
|
|
21
21
|
from simba.utils.errors import NoFilesFoundError
|
|
22
|
-
from simba.utils.printing import SimbaTimer, stdout_success
|
|
22
|
+
from simba.utils.printing import SimbaTimer, stdout_success, stdout_information
|
|
23
23
|
from simba.utils.read_write import (create_directory,
|
|
24
24
|
find_files_of_filetypes_in_directory,
|
|
25
|
-
get_video_meta_data, read_frm_of_video)
|
|
25
|
+
get_video_meta_data, read_frm_of_video, copy_files_to_directory, clean_sleap_filenames_in_directory, remove_a_folder)
|
|
26
26
|
from simba.utils.yolo import keypoint_array_to_yolo_annotation_str
|
|
27
27
|
|
|
28
28
|
|
|
@@ -70,11 +70,16 @@ class Sleap2Yolo:
|
|
|
70
70
|
padding: float = 0.00,
|
|
71
71
|
single_id: Optional[str] = None):
|
|
72
72
|
|
|
73
|
+
check_if_dir_exists(in_dir=save_dir)
|
|
73
74
|
self.data_paths = find_files_of_filetypes_in_directory(directory=data_dir, extensions=['.csv'], as_dict=True, raise_error=True)
|
|
75
|
+
self.data_temp_dir = os.path.join(data_dir, '.temp')
|
|
76
|
+
create_directory(paths=self.data_temp_dir, overwrite=True, verbose=True)
|
|
77
|
+
copy_files_to_directory(file_paths=list(self.data_paths.values()), dir=self.data_temp_dir, verbose=False, integer_save_names=False)
|
|
78
|
+
clean_sleap_filenames_in_directory(dir=self.data_temp_dir, verbose=True)
|
|
79
|
+
self.data_paths = find_files_of_filetypes_in_directory(directory=self.data_temp_dir, extensions=['.csv'], as_dict=True, raise_error=True)
|
|
74
80
|
self.video_paths = find_files_of_filetypes_in_directory(directory=video_dir, extensions=Options.ALL_VIDEO_FORMAT_OPTIONS.value, as_dict=True, raise_error=True)
|
|
75
81
|
missing_video_paths = [x for x in self.video_paths.keys() if x not in self.data_paths.keys()]
|
|
76
82
|
missing_data_paths = [x for x in self.data_paths.keys() if x not in self.video_paths.keys()]
|
|
77
|
-
check_if_dir_exists(in_dir=save_dir)
|
|
78
83
|
self.img_dir, self.lbl_dir = os.path.join(save_dir, 'images'), os.path.join(save_dir, 'labels')
|
|
79
84
|
self.img_train_dir, self.img_val_dir = os.path.join(save_dir, 'images', 'train'), os.path.join(save_dir, 'images', 'val')
|
|
80
85
|
self.lbl_train_dir, self.lb_val_dir = os.path.join(save_dir, 'labels', 'train'), os.path.join(save_dir, 'labels', 'val')
|
|
@@ -92,15 +97,15 @@ class Sleap2Yolo:
|
|
|
92
97
|
if frms_cnt is not None:
|
|
93
98
|
check_int(name=f'{self.__class__.__name__} frms_cnt', value=frms_cnt, min_value=1, raise_error=True)
|
|
94
99
|
if len(missing_video_paths) > 0:
|
|
95
|
-
|
|
100
|
+
remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
|
|
101
|
+
raise NoFilesFoundError(msg=f'{len(missing_video_paths)} video(s) {missing_video_paths} (of {len(self.data_paths.keys())} expected) could not be found in {video_dir} directory', source=self.__class__.__name__)
|
|
96
102
|
if len(missing_data_paths) > 0:
|
|
97
|
-
|
|
103
|
+
remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
|
|
104
|
+
raise NoFilesFoundError(msg=f'{len(missing_data_paths)} CSV data for {missing_data_paths} (of {len(self.video_paths.keys())} could not be found in {data_dir} directory', source=self.__class__.__name__)
|
|
98
105
|
self.verbose, self.instance_threshold, self.frms_cnt = verbose, instance_threshold, frms_cnt
|
|
99
106
|
self.names, self.greyscale, self.train_size, self.clahe = names, greyscale, train_size, clahe
|
|
100
107
|
self.padding, self.flip_idx, self.save_dir, self.single_id = padding, flip_idx, save_dir, single_id
|
|
101
108
|
|
|
102
|
-
|
|
103
|
-
|
|
104
109
|
def run(self):
|
|
105
110
|
dfs, timer, bp_cols = [], SimbaTimer(start=True), []
|
|
106
111
|
for file_cnt, (file_name, file_path) in enumerate(self.data_paths.items()):
|
|
@@ -115,6 +120,7 @@ class Sleap2Yolo:
|
|
|
115
120
|
dfs.append(df)
|
|
116
121
|
|
|
117
122
|
dfs = pd.concat(dfs, axis=0)
|
|
123
|
+
dfs['track'] = dfs['track'].fillna(-1)
|
|
118
124
|
unique_tracks_lk = {v: k for k, v in enumerate(dfs['track'].unique())}
|
|
119
125
|
if self.names is not None:
|
|
120
126
|
check_valid_tuple(x=self.names, source=f'{self.__class__.__name__} names', valid_dtypes=(str,), accepted_lengths=(len(list(unique_tracks_lk.keys())),))
|
|
@@ -125,14 +131,13 @@ class Sleap2Yolo:
|
|
|
125
131
|
train_idx = random.sample(list(dfs['id'].unique()), int(len(dfs['frame_idx'].unique()) * self.train_size))
|
|
126
132
|
if self.flip_idx is None:
|
|
127
133
|
self.flip_idx = get_yolo_keypoint_flip_idx(x=list(dict.fromkeys([x[:-2] for x in bp_cols])))
|
|
128
|
-
|
|
129
134
|
for frm_cnt, frm_id in enumerate(dfs['id'].unique()):
|
|
130
135
|
frm_data = dfs[dfs['id'] == frm_id]
|
|
131
136
|
video_path = list(frm_data['video'])[0]
|
|
132
137
|
frm_idx = list(frm_data['frame_idx'])[0]
|
|
133
138
|
video_meta = get_video_meta_data(video_path=video_path)
|
|
134
139
|
if self.verbose:
|
|
135
|
-
|
|
140
|
+
stdout_information(msg=f'Processing frame: {frm_cnt + 1}/{len(list(dfs["id"].unique()))} ...', source=self.__class__.__name__)
|
|
136
141
|
img = read_frm_of_video(video_path=video_path, frame_index=frm_idx, greyscale=self.greyscale, clahe=self.clahe)
|
|
137
142
|
img_h, img_w = img.shape[0], img.shape[1]
|
|
138
143
|
if list(frm_data['id'])[0] in train_idx:
|
|
@@ -155,12 +160,13 @@ class Sleap2Yolo:
|
|
|
155
160
|
|
|
156
161
|
create_yolo_keypoint_yaml(path=self.save_dir, train_path=self.img_train_dir, val_path=self.img_val_dir, names=map_dict, save_path=self.map_path, kpt_shape=(len(self.flip_idx), 3), flip_idx=tuple(self.flip_idx))
|
|
157
162
|
timer.stop_timer()
|
|
163
|
+
remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
|
|
158
164
|
stdout_success(msg=f'YOLO formated data saved in {self.save_dir} directory', source=self.__class__.__name__, elapsed_time=timer.elapsed_time_str)
|
|
159
165
|
|
|
160
166
|
|
|
161
|
-
# DATA_DIR = r'
|
|
162
|
-
# VIDEO_DIR = r'
|
|
163
|
-
# SAVE_DIR = r"
|
|
167
|
+
# DATA_DIR = r'E:\troubleshooting\mitra_pbn\raw_data\yolo\tracking'
|
|
168
|
+
# VIDEO_DIR = r'E:\troubleshooting\mitra_pbn\raw_data\yolo\videos'
|
|
169
|
+
# SAVE_DIR = r"E:\troubleshooting\mitra_pbn\raw_data\yolo\data"
|
|
164
170
|
#
|
|
165
171
|
# runner = Sleap2Yolo(data_dir=DATA_DIR, video_dir=VIDEO_DIR, frms_cnt=50, train_size=0.8, instance_threshold=0.9, save_dir=SAVE_DIR, single_id='ant')
|
|
166
172
|
# runner.run()
|
|
@@ -66,7 +66,7 @@ class ProjectCreatorPopUp():
|
|
|
66
66
|
self.settings_frm = CreateLabelFrameWithIcon(parent=self.create_project_tab, header="SETTINGS", icon_name=Keys.DOCUMENTATION.value, icon_link=Links.CREATE_PROJECT.value)
|
|
67
67
|
self.general_settings_frm = CreateLabelFrameWithIcon(parent=self.settings_frm, header="GENERAL PROJECT SETTINGS", icon_name='settings', icon_link=Links.CREATE_PROJECT.value, padx=5, pady=5, relief='solid')
|
|
68
68
|
self.project_dir_select = FolderSelect(self.general_settings_frm, "PROJECT DIRECTORY:", lblwidth=35, entry_width=35, font=Formats.FONT_REGULAR.value, lbl_icon='browse')
|
|
69
|
-
self.project_name_eb = Entry_Box(self.general_settings_frm, "PROJECT NAME:", labelwidth=35, entry_box_width=35, img='id_card_2')
|
|
69
|
+
self.project_name_eb = Entry_Box(self.general_settings_frm, "PROJECT NAME:", labelwidth=35, entry_box_width=35, img='id_card_2', justify='center')
|
|
70
70
|
self.file_type_dropdown = SimBADropDown(parent=self.general_settings_frm, dropdown_options=Options.WORKFLOW_FILE_TYPE_OPTIONS.value, label='WORKFLOW FILE TYPE:', label_width=35, dropdown_width=35, value=Options.WORKFLOW_FILE_TYPE_OPTIONS.value[0], img='file_type')
|
|
71
71
|
|
|
72
72
|
self.ml_settings_frm = GetMLSettingsFrame(parent=self.create_project_tab, lbl_width=35, bx_width=22)
|
|
@@ -21,7 +21,7 @@ class BatchPreProcessPopUp(PopUpMixin):
|
|
|
21
21
|
PopUpMixin.__init__(self, title="BATCH PROCESS VIDEO", size=(600, 400), icon='stack')
|
|
22
22
|
selections_frm = CreateLabelFrameWithIcon(parent=self.main_frm, header="SELECTIONS", icon_name=Keys.DOCUMENTATION.value, icon_link=Links.BATCH_PREPROCESS.value,)
|
|
23
23
|
self.input_folder_select = FolderSelect(selections_frm, "INPUT VIDEO DIRECTORY:", title="Select Folder with Input Videos", lblwidth=30, lbl_icon='folder')
|
|
24
|
-
self.output_folder_select = FolderSelect(selections_frm, "OUTPUT VIDEO DIRECTORY:", title="Select Folder for Output videos", lblwidth=30, lbl_icon='
|
|
24
|
+
self.output_folder_select = FolderSelect(selections_frm, "OUTPUT VIDEO DIRECTORY:", title="Select Folder for Output videos", lblwidth=30, lbl_icon='folder_2')
|
|
25
25
|
|
|
26
26
|
confirm_btn = SimbaButton(parent=selections_frm, txt="CONFIRM", img='tick', txt_clr='blue', font=Formats.FONT_REGULAR.value, cmd=self.run)
|
|
27
27
|
selections_frm.grid(row=0, column=0, sticky=NW)
|
{simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/simba_to_yolo_keypoints_popup.py
RENAMED
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
__author__ = "Simon Nilsson; sronilsson@gmail.com"
|
|
2
|
-
|
|
3
|
-
from tkinter import *
|
|
4
|
-
|
|
5
|
-
import numpy as np
|
|
6
|
-
|
|
7
|
-
from simba.mixins.config_reader import ConfigReader
|
|
8
|
-
from simba.mixins.pop_up_mixin import PopUpMixin
|
|
9
|
-
from simba.third_party_label_appenders.transform.simba_to_yolo import \
|
|
10
|
-
SimBA2Yolo
|
|
11
|
-
from simba.third_party_label_appenders.transform.utils import (
|
|
12
|
-
get_yolo_keypoint_bp_id_idx, get_yolo_keypoint_flip_idx)
|
|
13
|
-
from simba.ui.tkinter_functions import (CreateLabelFrameWithIcon, FileSelect,
|
|
14
|
-
FolderSelect, SimBADropDown)
|
|
15
|
-
from simba.utils.read_write import str_2_bool
|
|
16
|
-
|
|
17
|
-
TRAIN_SIZE_OPTIONS = np.arange(10, 110, 10)
|
|
18
|
-
SAMPLE_SIZE_OPTIONS = list(np.arange(50, 650, 50))
|
|
19
|
-
|
|
20
|
-
THRESHOLD_OPTIONS =
|
|
21
|
-
|
|
22
|
-
PADDING_OPTIONS = list(np.round(np.arange(0.01, 10.05, 0.05),2).astype(str))
|
|
23
|
-
PADDING_OPTIONS = list(np.insert(PADDING_OPTIONS, 0, 'None'))
|
|
24
|
-
|
|
25
|
-
class SimBA2YoloKeypointsPopUp(PopUpMixin):
|
|
26
|
-
|
|
27
|
-
"""
|
|
28
|
-
:example:
|
|
29
|
-
>>> SimBA2YoloKeypointsPopUp()
|
|
30
|
-
"""
|
|
31
|
-
def __init__(self):
|
|
32
|
-
PopUpMixin.__init__(self, title="SIMBA TO YOLO KEYPOINTS", icon='SimBA_logo_3_small')
|
|
33
|
-
settings_frm = CreateLabelFrameWithIcon(parent=self.main_frm, header="SETTINGS", icon_name='settings')
|
|
34
|
-
self.config_select = FileSelect(parent=settings_frm, fileDescription='SIMBA PROJECT CONFIG (.INI): ', lblwidth=35, file_types=[("INI FILE", (".ini", ".INI",))], entry_width=40, initialdir=r"C:\troubleshooting\mitra\project_folder", lbl_icon='ini')
|
|
35
|
-
self.save_dir = FolderSelect(settings_frm, folderDescription="SAVE DIRECTORY:", lblwidth=35, entry_width=40, initialdir=r'C:\troubleshooting\mitra\yolo', lbl_icon='folder')
|
|
36
|
-
self.train_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=TRAIN_SIZE_OPTIONS, label="TRAIN SIZE (%): ", label_width=35, dropdown_width=40, value=70, img='pct_2')
|
|
37
|
-
self.verbose_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="VERBOSE: ", label_width=35, dropdown_width=40, value='TRUE', img='verbose')
|
|
38
|
-
self.padding_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=PADDING_OPTIONS, label="PADDING: ", label_width=35, dropdown_width=40, value='None', img='size_black')
|
|
39
|
-
self.sample_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=SAMPLE_SIZE_OPTIONS, label="FRAME SAMPLES PER VIDEO: ", label_width=35, dropdown_width=40, value=100, img='frames')
|
|
40
|
-
self.threshold_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=THRESHOLD_OPTIONS, label="CONFIDENCE THRESHOLD: ", label_width=35, dropdown_width=40, value='None', img='threshold')
|
|
41
|
-
self.grey_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="GREYSCALE: ", label_width=35, dropdown_width=40, value='FALSE', img='grey')
|
|
42
|
-
self.clahe_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="CLAHE: ", label_width=35, dropdown_width=40, value='FALSE', img='clahe')
|
|
43
|
-
|
|
44
|
-
settings_frm.grid(row=0, column=0, sticky=NW)
|
|
45
|
-
self.config_select.grid(row=0, column=0, sticky=NW)
|
|
46
|
-
self.save_dir.grid(row=1, column=0, sticky=NW)
|
|
47
|
-
self.train_size_dropdown.grid(row=2, column=0, sticky=NW)
|
|
48
|
-
|
|
49
|
-
self.verbose_dropdown.grid(row=3, column=0, sticky=NW)
|
|
50
|
-
self.padding_dropdown.grid(row=4, column=0, sticky=NW)
|
|
51
|
-
self.sample_size_dropdown.grid(row=5, column=0, sticky=NW)
|
|
52
|
-
self.threshold_dropdown.grid(row=6, column=0, sticky=NW)
|
|
53
|
-
self.grey_dropdown.grid(row=7, column=0, sticky=NW)
|
|
54
|
-
self.clahe_dropdown.grid(row=8, column=0, sticky=NW)
|
|
55
|
-
|
|
56
|
-
self.create_run_frm(run_function=self.run)
|
|
57
|
-
self.main_frm.mainloop()
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def run(self):
|
|
61
|
-
config_path = self.config_select.file_path
|
|
62
|
-
config = ConfigReader(config_path=config_path)
|
|
63
|
-
animal_names = list(config.animal_bp_dict.keys())
|
|
64
|
-
bps = [x[:-2] for x in config.animal_bp_dict[animal_names[0]]['X_bps']]
|
|
65
|
-
flip_idx = get_yolo_keypoint_flip_idx(x=bps)
|
|
66
|
-
#map_dict = {c: k for c, k in enumerate(animal_names)}
|
|
67
|
-
bp_id_idx = None
|
|
68
|
-
if len(animal_names) > 1:
|
|
69
|
-
bp_id_idx = get_yolo_keypoint_bp_id_idx(animal_bp_dict=config.animal_bp_dict)
|
|
70
|
-
train_size = int(self.train_size_dropdown.get_value()) / 100
|
|
71
|
-
verbose = str_2_bool(self.verbose_dropdown.get_value())
|
|
72
|
-
save_dir = self.save_dir.folder_path
|
|
73
|
-
padding = float(self.padding_dropdown.get_value()) if self.padding_dropdown.get_value() != 'None' else 0.0
|
|
74
|
-
sample_size = int(self.sample_size_dropdown.get_value())
|
|
75
|
-
grey = str_2_bool(self.grey_dropdown.get_value())
|
|
76
|
-
clahe = str_2_bool(self.clahe_dropdown.get_value())
|
|
77
|
-
threshold = float(self.threshold_dropdown.get_value())
|
|
78
|
-
|
|
79
|
-
runner = SimBA2Yolo(config_path=config_path,
|
|
80
|
-
save_dir=save_dir,
|
|
81
|
-
data_dir=None,
|
|
82
|
-
train_size=train_size,
|
|
83
|
-
threshold=threshold,
|
|
84
|
-
verbose=verbose,
|
|
85
|
-
greyscale=grey,
|
|
86
|
-
padding=padding,
|
|
87
|
-
flip_idx=flip_idx,
|
|
88
|
-
names=tuple(animal_names),
|
|
89
|
-
sample_size=sample_size,
|
|
90
|
-
bp_id_idx=bp_id_idx,
|
|
91
|
-
clahe=clahe)
|
|
92
|
-
runner.run()
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
#SimBA2YoloKeypointsPopUp()
|
|
96
|
-
#simba_to_yolo_keypoints(config_path=r"C:\troubleshooting\mitra\project_folder\project_config.ini", save_dir=r'C:\troubleshooting\mitra\yolo', sample_size=150, verbose=True)
|
|
1
|
+
__author__ = "Simon Nilsson; sronilsson@gmail.com"
|
|
2
|
+
|
|
3
|
+
from tkinter import *
|
|
4
|
+
|
|
5
|
+
import numpy as np
|
|
6
|
+
|
|
7
|
+
from simba.mixins.config_reader import ConfigReader
|
|
8
|
+
from simba.mixins.pop_up_mixin import PopUpMixin
|
|
9
|
+
from simba.third_party_label_appenders.transform.simba_to_yolo import \
|
|
10
|
+
SimBA2Yolo
|
|
11
|
+
from simba.third_party_label_appenders.transform.utils import (
|
|
12
|
+
get_yolo_keypoint_bp_id_idx, get_yolo_keypoint_flip_idx)
|
|
13
|
+
from simba.ui.tkinter_functions import (CreateLabelFrameWithIcon, FileSelect,
|
|
14
|
+
FolderSelect, SimBADropDown)
|
|
15
|
+
from simba.utils.read_write import str_2_bool
|
|
16
|
+
|
|
17
|
+
TRAIN_SIZE_OPTIONS = np.arange(10, 110, 10)
|
|
18
|
+
SAMPLE_SIZE_OPTIONS = list(np.arange(50, 650, 50))
|
|
19
|
+
|
|
20
|
+
THRESHOLD_OPTIONS = [round(x, 2) for x in np.arange(0.1, 1.1, 0.1)]
|
|
21
|
+
|
|
22
|
+
PADDING_OPTIONS = list(np.round(np.arange(0.01, 10.05, 0.05),2).astype(str))
|
|
23
|
+
PADDING_OPTIONS = list(np.insert(PADDING_OPTIONS, 0, 'None'))
|
|
24
|
+
|
|
25
|
+
class SimBA2YoloKeypointsPopUp(PopUpMixin):
|
|
26
|
+
|
|
27
|
+
"""
|
|
28
|
+
:example:
|
|
29
|
+
>>> SimBA2YoloKeypointsPopUp()
|
|
30
|
+
"""
|
|
31
|
+
def __init__(self):
|
|
32
|
+
PopUpMixin.__init__(self, title="SIMBA TO YOLO KEYPOINTS", icon='SimBA_logo_3_small')
|
|
33
|
+
settings_frm = CreateLabelFrameWithIcon(parent=self.main_frm, header="SETTINGS", icon_name='settings')
|
|
34
|
+
self.config_select = FileSelect(parent=settings_frm, fileDescription='SIMBA PROJECT CONFIG (.INI): ', lblwidth=35, file_types=[("INI FILE", (".ini", ".INI",))], entry_width=40, initialdir=r"C:\troubleshooting\mitra\project_folder", lbl_icon='ini', tooltip_key='simba2yolo_config')
|
|
35
|
+
self.save_dir = FolderSelect(settings_frm, folderDescription="SAVE DIRECTORY:", lblwidth=35, entry_width=40, initialdir=r'C:\troubleshooting\mitra\yolo', lbl_icon='folder', tooltip_key='SAVE_DIR')
|
|
36
|
+
self.train_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=TRAIN_SIZE_OPTIONS, label="TRAIN SIZE (%): ", label_width=35, dropdown_width=40, value=70, img='pct_2', tooltip_key='simba2yolo_train_size')
|
|
37
|
+
self.verbose_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="VERBOSE: ", label_width=35, dropdown_width=40, value='TRUE', img='verbose', tooltip_key='verbose_dropdown')
|
|
38
|
+
self.padding_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=PADDING_OPTIONS, label="PADDING: ", label_width=35, dropdown_width=40, value='None', img='size_black', tooltip_key='simba2yolo_padding')
|
|
39
|
+
self.sample_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=SAMPLE_SIZE_OPTIONS, label="FRAME SAMPLES PER VIDEO: ", label_width=35, dropdown_width=40, value=100, img='frames', tooltip_key='simba2yolo_sample_size')
|
|
40
|
+
self.threshold_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=THRESHOLD_OPTIONS, label="CONFIDENCE THRESHOLD: ", label_width=35, dropdown_width=40, value='None', img='threshold', tooltip_key='threshold_dropdown')
|
|
41
|
+
self.grey_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="GREYSCALE: ", label_width=35, dropdown_width=40, value='FALSE', img='grey', tooltip_key='simba2yolo_grey')
|
|
42
|
+
self.clahe_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="CLAHE: ", label_width=35, dropdown_width=40, value='FALSE', img='clahe', tooltip_key='simba2yolo_clahe')
|
|
43
|
+
|
|
44
|
+
settings_frm.grid(row=0, column=0, sticky=NW)
|
|
45
|
+
self.config_select.grid(row=0, column=0, sticky=NW)
|
|
46
|
+
self.save_dir.grid(row=1, column=0, sticky=NW)
|
|
47
|
+
self.train_size_dropdown.grid(row=2, column=0, sticky=NW)
|
|
48
|
+
|
|
49
|
+
self.verbose_dropdown.grid(row=3, column=0, sticky=NW)
|
|
50
|
+
self.padding_dropdown.grid(row=4, column=0, sticky=NW)
|
|
51
|
+
self.sample_size_dropdown.grid(row=5, column=0, sticky=NW)
|
|
52
|
+
self.threshold_dropdown.grid(row=6, column=0, sticky=NW)
|
|
53
|
+
self.grey_dropdown.grid(row=7, column=0, sticky=NW)
|
|
54
|
+
self.clahe_dropdown.grid(row=8, column=0, sticky=NW)
|
|
55
|
+
|
|
56
|
+
self.create_run_frm(run_function=self.run)
|
|
57
|
+
self.main_frm.mainloop()
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def run(self):
|
|
61
|
+
config_path = self.config_select.file_path
|
|
62
|
+
config = ConfigReader(config_path=config_path)
|
|
63
|
+
animal_names = list(config.animal_bp_dict.keys())
|
|
64
|
+
bps = [x[:-2] for x in config.animal_bp_dict[animal_names[0]]['X_bps']]
|
|
65
|
+
flip_idx = get_yolo_keypoint_flip_idx(x=bps)
|
|
66
|
+
#map_dict = {c: k for c, k in enumerate(animal_names)}
|
|
67
|
+
bp_id_idx = None
|
|
68
|
+
if len(animal_names) > 1:
|
|
69
|
+
bp_id_idx = get_yolo_keypoint_bp_id_idx(animal_bp_dict=config.animal_bp_dict)
|
|
70
|
+
train_size = int(self.train_size_dropdown.get_value()) / 100
|
|
71
|
+
verbose = str_2_bool(self.verbose_dropdown.get_value())
|
|
72
|
+
save_dir = self.save_dir.folder_path
|
|
73
|
+
padding = float(self.padding_dropdown.get_value()) if self.padding_dropdown.get_value() != 'None' else 0.0
|
|
74
|
+
sample_size = int(self.sample_size_dropdown.get_value())
|
|
75
|
+
grey = str_2_bool(self.grey_dropdown.get_value())
|
|
76
|
+
clahe = str_2_bool(self.clahe_dropdown.get_value())
|
|
77
|
+
threshold = float(self.threshold_dropdown.get_value())
|
|
78
|
+
|
|
79
|
+
runner = SimBA2Yolo(config_path=config_path,
|
|
80
|
+
save_dir=save_dir,
|
|
81
|
+
data_dir=None,
|
|
82
|
+
train_size=train_size,
|
|
83
|
+
threshold=threshold,
|
|
84
|
+
verbose=verbose,
|
|
85
|
+
greyscale=grey,
|
|
86
|
+
padding=padding,
|
|
87
|
+
flip_idx=flip_idx,
|
|
88
|
+
names=tuple(animal_names),
|
|
89
|
+
sample_size=sample_size,
|
|
90
|
+
bp_id_idx=bp_id_idx,
|
|
91
|
+
clahe=clahe)
|
|
92
|
+
runner.run()
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
#SimBA2YoloKeypointsPopUp()
|
|
96
|
+
#simba_to_yolo_keypoints(config_path=r"C:\troubleshooting\mitra\project_folder\project_config.ini", save_dir=r'C:\troubleshooting\mitra\yolo', sample_size=150, verbose=True)
|
{simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.7}/simba/ui/pop_ups/sleap_annotations_to_yolo_popup.py
RENAMED
|
@@ -20,8 +20,9 @@ from simba.utils.read_write import (find_files_of_filetypes_in_directory,
|
|
|
20
20
|
TRAIN_SIZE_OPTIONS = list(np.arange(10, 110, 10))
|
|
21
21
|
SAMPLE_SIZE_OPTIONS = list(np.arange(50, 650, 50))
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
PADDING_OPTIONS =
|
|
23
|
+
_padding_arr = np.concatenate([[0.01], np.arange(0.05, 10.05, 0.05)])
|
|
24
|
+
PADDING_OPTIONS = [f"{x:.2f}" for x in np.round(_padding_arr, 2)]
|
|
25
|
+
PADDING_OPTIONS = ['None'] + PADDING_OPTIONS
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
|
|
@@ -37,26 +38,28 @@ class SLEAPAnnotations2YoloPopUp(PopUpMixin):
|
|
|
37
38
|
def __init__(self):
|
|
38
39
|
PopUpMixin.__init__(self, title="SLEAP ANNOTATIONS TO YOLO POSE ESTIMATION ANNOTATIONS", icon='sleap_small')
|
|
39
40
|
settings_frm = CreateLabelFrameWithIcon(parent=self.main_frm, header="SETTINGS", icon_name='settings')
|
|
40
|
-
self.sleap_dir = FolderSelect(settings_frm, folderDescription="SLEAP DATA DIRECTORY (.SLP):", lblwidth=35, entry_width=40,
|
|
41
|
-
self.
|
|
41
|
+
self.sleap_dir = FolderSelect(settings_frm, folderDescription="SLEAP DATA DIRECTORY (.SLP):", lblwidth=35, entry_width=40, lbl_icon='folder', tooltip_key='SLEAP_SLP_DATA_DIR')
|
|
42
|
+
self.video_dir = FolderSelect(settings_frm, folderDescription="VIDEO DIRECTORY:", lblwidth=35, entry_width=40, lbl_icon='folder_video', tooltip_key='VIDEO_DIR')
|
|
43
|
+
self.save_dir = FolderSelect(settings_frm, folderDescription="SAVE DIRECTORY:", lblwidth=35, entry_width=40, initialdir=r"D:\troubleshooting\two_animals_sleap\yolo_kpts_2", lbl_icon='folder', tooltip_key='SAVE_DIR')
|
|
42
44
|
|
|
43
|
-
self.verbose_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="VERBOSE: ", label_width=35, dropdown_width=40, value='TRUE', img='verbose')
|
|
44
|
-
self.train_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=TRAIN_SIZE_OPTIONS, label="TRAIN SIZE (%): ", label_width=35, dropdown_width=40, value=70, img='pct_2')
|
|
45
|
-
self.grey_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="GREYSCALE: ", label_width=35, dropdown_width=40, value='FALSE', img='grey')
|
|
46
|
-
self.padding_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=PADDING_OPTIONS, label="PADDING: ", label_width=35, dropdown_width=40, value='None', img='size_black')
|
|
47
|
-
self.clahe_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="CLAHE: ", label_width=35, dropdown_width=40, value='FALSE', img='clahe')
|
|
48
|
-
self.single_id_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="REMOVE ANIMAL ID'S", label_width=35, dropdown_width=40, value='FALSE', img='mouse_head')
|
|
45
|
+
self.verbose_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="VERBOSE: ", label_width=35, dropdown_width=40, value='TRUE', img='verbose', tooltip_key='verbose_dropdown')
|
|
46
|
+
self.train_size_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=TRAIN_SIZE_OPTIONS, label="TRAIN SIZE (%): ", label_width=35, dropdown_width=40, value=70, img='pct_2', tooltip_key='simba2yolo_train_size')
|
|
47
|
+
self.grey_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="GREYSCALE: ", label_width=35, dropdown_width=40, value='FALSE', img='grey', tooltip_key='simba2yolo_grey')
|
|
48
|
+
self.padding_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=PADDING_OPTIONS, label="PADDING: ", label_width=35, dropdown_width=40, value='None', img='size_black', tooltip_key='simba2yolo_padding')
|
|
49
|
+
self.clahe_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="CLAHE: ", label_width=35, dropdown_width=40, value='FALSE', img='clahe', tooltip_key='simba2yolo_clahe')
|
|
50
|
+
self.single_id_dropdown = SimBADropDown(parent=settings_frm, dropdown_options=['TRUE', 'FALSE'], label="REMOVE ANIMAL ID'S", label_width=35, dropdown_width=40, value='FALSE', img='mouse_head', tooltip_key='sleap_remove_animal_ids')
|
|
49
51
|
|
|
50
52
|
settings_frm.grid(row=0, column=0, sticky=NW)
|
|
51
53
|
self.sleap_dir .grid(row=0, column=0, sticky=NW)
|
|
52
|
-
self.
|
|
54
|
+
self.video_dir.grid(row=1, column=0, sticky=NW)
|
|
55
|
+
self.save_dir.grid(row=2, column=0, sticky=NW)
|
|
53
56
|
|
|
54
|
-
self.verbose_dropdown.grid(row=
|
|
55
|
-
self.train_size_dropdown.grid(row=
|
|
56
|
-
self.grey_dropdown.grid(row=
|
|
57
|
-
self.clahe_dropdown.grid(row=
|
|
58
|
-
self.padding_dropdown.grid(row=
|
|
59
|
-
self.single_id_dropdown.grid(row=
|
|
57
|
+
self.verbose_dropdown.grid(row=3, column=0, sticky=NW)
|
|
58
|
+
self.train_size_dropdown.grid(row=4, column=0, sticky=NW)
|
|
59
|
+
self.grey_dropdown.grid(row=5, column=0, sticky=NW)
|
|
60
|
+
self.clahe_dropdown.grid(row=6, column=0, sticky=NW)
|
|
61
|
+
self.padding_dropdown.grid(row=7, column=0, sticky=NW)
|
|
62
|
+
self.single_id_dropdown.grid(row=8, column=0, sticky=NW)
|
|
60
63
|
|
|
61
64
|
self.create_run_frm(run_function=self.run)
|
|
62
65
|
self.main_frm.mainloop()
|
|
@@ -65,9 +68,12 @@ class SLEAPAnnotations2YoloPopUp(PopUpMixin):
|
|
|
65
68
|
def run(self):
|
|
66
69
|
sleap_dir = self.sleap_dir.folder_path
|
|
67
70
|
save_dir = self.save_dir.folder_path
|
|
71
|
+
video_dir = self.video_dir.folder_path
|
|
68
72
|
|
|
69
73
|
check_if_dir_exists(in_dir=sleap_dir, source=f'{self.__class__.__name__} SLEAP DATA DIRECTORY', raise_error=True)
|
|
70
74
|
check_if_dir_exists(in_dir=save_dir, source=f'{self.__class__.__name__} SAVE DIRECTORY', raise_error=True)
|
|
75
|
+
video_dir_exist = check_if_dir_exists(in_dir=video_dir, source=f'{self.__class__.__name__} VIDEO DIRECTORY', raise_error=False)
|
|
76
|
+
video_dir = video_dir if video_dir_exist else None
|
|
71
77
|
_ = find_files_of_filetypes_in_directory(directory=sleap_dir, extensions=['.slp'], raise_error=True)
|
|
72
78
|
|
|
73
79
|
grey = str_2_bool(self.grey_dropdown.get_value())
|
|
@@ -77,7 +83,15 @@ class SLEAPAnnotations2YoloPopUp(PopUpMixin):
|
|
|
77
83
|
padding = float(self.padding_dropdown.get_value()) if self.padding_dropdown.get_value() != 'None' else 0.0
|
|
78
84
|
single_id = 'animal_1' if str_2_bool(self.single_id_dropdown.get_value()) else None
|
|
79
85
|
|
|
80
|
-
runner = SleapAnnotations2Yolo(sleap_dir=sleap_dir,
|
|
86
|
+
runner = SleapAnnotations2Yolo(sleap_dir=sleap_dir,
|
|
87
|
+
save_dir=save_dir,
|
|
88
|
+
video_dir=video_dir,
|
|
89
|
+
padding=padding,
|
|
90
|
+
train_size=train_size,
|
|
91
|
+
verbose=verbose,
|
|
92
|
+
greyscale=grey,
|
|
93
|
+
clahe=clahe,
|
|
94
|
+
single_id=single_id)
|
|
81
95
|
runner.run()
|
|
82
96
|
|
|
83
97
|
|