simba-uw-tf-dev 4.7.6__tar.gz → 4.7.8__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.
Files changed (1023) hide show
  1. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/PKG-INFO +1 -1
  2. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/setup.py +1 -1
  3. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/.recent_projects.txt +1 -0
  4. simba_uw_tf_dev-4.7.8/simba/assets/icons/folder_2.png +0 -0
  5. simba_uw_tf_dev-4.7.8/simba/assets/icons/folder_video.png +0 -0
  6. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/tooptips.json +35 -2
  7. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/yolo_fit.py +42 -9
  8. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo.py +1 -2
  9. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/sleap_csv_to_yolo.py +21 -13
  10. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/create_project_ui.py +1 -1
  11. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/batch_preprocess_pop_up.py +2 -2
  12. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/simba_to_yolo_keypoints_popup.py +96 -96
  13. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/sleap_annotations_to_yolo_popup.py +32 -18
  14. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/sleap_csv_predictions_to_yolo_popup.py +15 -14
  15. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/video_processing_pop_up.py +8 -7
  16. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/yolo_plot_results.py +146 -153
  17. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/yolo_pose_train_popup.py +69 -23
  18. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/tkinter_functions.py +53 -6
  19. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/checks.py +2414 -2401
  20. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/read_write.py +22 -20
  21. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/batch_process_menus.py +22 -22
  22. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/video_processing.py +3 -2
  23. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba_uw_tf_dev.egg-info/PKG-INFO +1 -1
  24. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba_uw_tf_dev.egg-info/SOURCES.txt +2 -0
  25. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  26. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  27. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/bigquery_download_stats.yml +0 -0
  28. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/cleaning.yml +0 -0
  29. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/issue_msg.yml.disabled +0 -0
  30. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/issue_report.yml +0 -0
  31. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/tests_py310.yml +0 -0
  32. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.github/workflows/tests_py36.yml +0 -0
  33. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.gitignore +0 -0
  34. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.pytest.ini +0 -0
  35. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/.readthedocs.yaml +0 -0
  36. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/App.py +0 -0
  37. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/CITATION.cff +0 -0
  38. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/CODE_OF_CONDUCT.md +0 -0
  39. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/LICENSE +0 -0
  40. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/MANIFEST.in +0 -0
  41. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/README.md +0 -0
  42. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/__init__.py +0 -0
  43. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/requirements.txt +0 -0
  44. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/requirements_arm.txt +0 -0
  45. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/requirements_gpu.txt +0 -0
  46. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/requirements_wsl.txt +0 -0
  47. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/__init__.py +0 -0
  48. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/caltech_download.py +0 -0
  49. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/create_issues_report.py +0 -0
  50. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/dataverse_download.py +0 -0
  51. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/gitter_stats.py +0 -0
  52. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/make_qr_code.py +0 -0
  53. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/osf_download.py +0 -0
  54. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/scripts/upgrade_simba_keep_configs.py +0 -0
  55. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/setup.cfg +0 -0
  56. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/.DS_Store +0 -0
  57. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/SimBA.py +0 -0
  58. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/SimBA_logo.ico +0 -0
  59. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/__init__.py +0 -0
  60. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/.DS_Store +0 -0
  61. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/.env +0 -0
  62. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/TheGoldenLab.PNG +0 -0
  63. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/__init__.py +0 -0
  64. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/dash_simba_base.css +0 -0
  65. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/fonts/.DS_Store +0 -0
  66. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/fonts/Playwrite ES Deco.ttf +0 -0
  67. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/fonts/Poppins Bold.ttf +0 -0
  68. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/fonts/Poppins Regular.ttf +0 -0
  69. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/fonts/UbuntuMono-Regular.ttf +0 -0
  70. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/.DS_Store +0 -0
  71. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo.icns +0 -0
  72. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo.ico +0 -0
  73. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo.png +0 -0
  74. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo_3.ico +0 -0
  75. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo_3.png +0 -0
  76. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo_3_small.png +0 -0
  77. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/SimBA_logo_4_small.png +0 -0
  78. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/__init__.py +0 -0
  79. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/abacus.png +0 -0
  80. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/abacus_2.png +0 -0
  81. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/abacus_3.png +0 -0
  82. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/about.png +0 -0
  83. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/add.png +0 -0
  84. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/add_on.png +0 -0
  85. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/analyze_blue.png +0 -0
  86. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/analyze_green.png +0 -0
  87. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/api.png +0 -0
  88. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/application.png +0 -0
  89. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/archive.png +0 -0
  90. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/arrow_down_green.png +0 -0
  91. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/arrow_down_green_2.png +0 -0
  92. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/attributes_large.png +0 -0
  93. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/audio.png +0 -0
  94. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/average.png +0 -0
  95. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/average_2.png +0 -0
  96. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/avi.png +0 -0
  97. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bar_graph_blue.png +0 -0
  98. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bar_graph_green.png +0 -0
  99. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bar_graph_light_blue.png +0 -0
  100. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/batch.png +0 -0
  101. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/black_and_white.png +0 -0
  102. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/black_cross.png +0 -0
  103. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/blur.png +0 -0
  104. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bmp.png +0 -0
  105. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bold.png +0 -0
  106. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/boolean.png +0 -0
  107. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/boris.png +0 -0
  108. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/branches_small.png +0 -0
  109. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/brightness.png +0 -0
  110. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/browse.png +0 -0
  111. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/browse_small.png +0 -0
  112. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/brush_large.png +0 -0
  113. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bubble.png +0 -0
  114. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bubble_green.png +0 -0
  115. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bubble_pink.png +0 -0
  116. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bullet_grey.png +0 -0
  117. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bullseye.png +0 -0
  118. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/bw.png +0 -0
  119. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/calipher.png +0 -0
  120. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/camera.png +0 -0
  121. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/category.png +0 -0
  122. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/center.png +0 -0
  123. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/change.png +0 -0
  124. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/check_blue.png +0 -0
  125. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/circle.png +0 -0
  126. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/circle_2.png +0 -0
  127. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/circle_black.png +0 -0
  128. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/circle_large.png +0 -0
  129. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/circle_small.png +0 -0
  130. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clahe.png +0 -0
  131. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clean.png +0 -0
  132. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clean_red.png +0 -0
  133. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clf.png +0 -0
  134. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clf_2.png +0 -0
  135. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clip.png +0 -0
  136. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/clock.png +0 -0
  137. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/close.png +0 -0
  138. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/cluster.png +0 -0
  139. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/cluster_2.png +0 -0
  140. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/coco_small.png +0 -0
  141. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/color_wheel.png +0 -0
  142. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat.png +0 -0
  143. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_icons/__init__.py +0 -0
  144. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_icons/horizontal.png +0 -0
  145. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_icons/mixed_mosaic.png +0 -0
  146. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_icons/mosaic.png +0 -0
  147. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_icons/vertical.png +0 -0
  148. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/concat_videos.png +0 -0
  149. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/convert.png +0 -0
  150. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/counter.png +0 -0
  151. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/cpu_small.png +0 -0
  152. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/create.png +0 -0
  153. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/crop.png +0 -0
  154. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/crop_2.png +0 -0
  155. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/crop_red.png +0 -0
  156. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/crossfade.png +0 -0
  157. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/csv_black.png +0 -0
  158. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/csv_grey.png +0 -0
  159. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/curve_black.png +0 -0
  160. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/danger.png +0 -0
  161. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dash_simba.css +0 -0
  162. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/data_table.png +0 -0
  163. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/decision_tree_blue.png +0 -0
  164. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/decision_tree_purple.png +0 -0
  165. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/decision_tree_small.png +0 -0
  166. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/delete_large_orange.png +0 -0
  167. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/delete_large_red.png +0 -0
  168. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dependency.png +0 -0
  169. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/details.png +0 -0
  170. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/developer.png +0 -0
  171. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dice_green.png +0 -0
  172. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dimensionality_reduction.png +0 -0
  173. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/direction.png +0 -0
  174. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/direction_2.png +0 -0
  175. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/direction_3.png +0 -0
  176. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/display_large.png +0 -0
  177. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/distance.png +0 -0
  178. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/distance_red.png +0 -0
  179. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dlc_1.png +0 -0
  180. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dlc_2.png +0 -0
  181. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/documentation.png +0 -0
  182. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/documentation_large.png +0 -0
  183. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/download.png +0 -0
  184. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/draw.png +0 -0
  185. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/dumbbell.png +0 -0
  186. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/duplicate.png +0 -0
  187. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/duplicate_2_large.png +0 -0
  188. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/duplicate_large.png +0 -0
  189. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/duplicate_small.png +0 -0
  190. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ear_right.png +0 -0
  191. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ear_small.png +0 -0
  192. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/edit.png +0 -0
  193. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/edit_roi_large.png +0 -0
  194. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/egocentric.png +0 -0
  195. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/equation_small.png +0 -0
  196. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ethovision.png +0 -0
  197. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/exit.png +0 -0
  198. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/eye.png +0 -0
  199. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/factory.png +0 -0
  200. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fast_forward.png +0 -0
  201. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fast_forward_green.png +0 -0
  202. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fast_forward_large.png +0 -0
  203. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fast_forward_large_2.png +0 -0
  204. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fast_reverse.png +0 -0
  205. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fastforward_green_2.png +0 -0
  206. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/feather_green.png +0 -0
  207. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/features.png +0 -0
  208. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ffmpeg.png +0 -0
  209. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/file.png +0 -0
  210. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/file_type.png +0 -0
  211. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fill.png +0 -0
  212. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/filter.png +0 -0
  213. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/finish.png +0 -0
  214. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fire.png +0 -0
  215. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/first.png +0 -0
  216. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/first_frame_blue.png +0 -0
  217. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/first_green.png +0 -0
  218. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/flip_black.png +0 -0
  219. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/flip_green.png +0 -0
  220. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/flip_red.png +0 -0
  221. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/folder.png +0 -0
  222. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/font.png +0 -0
  223. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/font_size.png +0 -0
  224. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/forest.png +0 -0
  225. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/forward.png +0 -0
  226. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/forward_large.png +0 -0
  227. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/four_squares.png +0 -0
  228. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/fps.png +0 -0
  229. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/frames.png +0 -0
  230. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/frames_2.png +0 -0
  231. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gamma.png +0 -0
  232. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gantt_large.png +0 -0
  233. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gantt_small.png +0 -0
  234. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gif.png +0 -0
  235. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/github.png +0 -0
  236. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/github_2.png +0 -0
  237. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gitter.png +0 -0
  238. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gitter_large.png +0 -0
  239. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gpu.png +0 -0
  240. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gpu_2.png +0 -0
  241. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/gpu_3.png +0 -0
  242. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/green_check.png +0 -0
  243. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/green_dice.png +0 -0
  244. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/grey.png +0 -0
  245. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/greyscale.png +0 -0
  246. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/half_circle.png +0 -0
  247. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/half_circle_small.png +0 -0
  248. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/heatmap.png +0 -0
  249. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/height.png +0 -0
  250. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/hexagon.png +0 -0
  251. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/hexagon_small.png +0 -0
  252. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/hierarchy.png +0 -0
  253. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/hierarchy_2.png +0 -0
  254. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/histogram.png +0 -0
  255. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/home.png +0 -0
  256. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/horizontal.png +0 -0
  257. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/id_card.png +0 -0
  258. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/id_card_2.png +0 -0
  259. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/image.png +0 -0
  260. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/import.png +0 -0
  261. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/info.png +0 -0
  262. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/info_large.png +0 -0
  263. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ini.png +0 -0
  264. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/interaction_large.png +0 -0
  265. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/interactive_blue.png +0 -0
  266. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/invert.png +0 -0
  267. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/join_purple.png +0 -0
  268. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/join_red.png +0 -0
  269. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/join_yellow.png +0 -0
  270. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/jpeg.png +0 -0
  271. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/json.png +0 -0
  272. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/jump.png +0 -0
  273. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/label.png +0 -0
  274. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/label_blue.png +0 -0
  275. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/label_large.png +0 -0
  276. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/label_yellow.png +0 -0
  277. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/labelme.png +0 -0
  278. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/labelme_2.png +0 -0
  279. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/labelme_3.png +0 -0
  280. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/last.png +0 -0
  281. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/last_frame_blue.png +0 -0
  282. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/last_red.png +0 -0
  283. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/leaf.png +0 -0
  284. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/left_arrow_green.png +0 -0
  285. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/left_arrow_red.png +0 -0
  286. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/left_ear.png +0 -0
  287. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/light_bulb.png +0 -0
  288. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/line.png +0 -0
  289. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/line_chart_blue.png +0 -0
  290. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/line_chart_light_blue.png +0 -0
  291. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/line_chart_red.png +0 -0
  292. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/link.png +0 -0
  293. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/list.png +0 -0
  294. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/load.png +0 -0
  295. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/load_black.png +0 -0
  296. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/load_blue.png +0 -0
  297. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/location.png +0 -0
  298. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/log.png +0 -0
  299. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/magnifying.png +0 -0
  300. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mars.png +0 -0
  301. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/merge.png +0 -0
  302. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/metrics.png +0 -0
  303. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/metrics_blue.png +0 -0
  304. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/metrics_green.png +0 -0
  305. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/minus.png +0 -0
  306. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/minus_blue_2.png +0 -0
  307. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/minus_red.png +0 -0
  308. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/minus_red_2.png +0 -0
  309. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mixing_panel.png +0 -0
  310. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/monitor.png +0 -0
  311. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mouse_head.png +0 -0
  312. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mouse_small.png +0 -0
  313. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mov.png +0 -0
  314. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/move.png +0 -0
  315. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/move_large.png +0 -0
  316. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/mp4.png +0 -0
  317. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/multiple_blue.png +0 -0
  318. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/multiple_green.png +0 -0
  319. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/multiple_yellow.png +0 -0
  320. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/navigation.png +0 -0
  321. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/nose.png +0 -0
  322. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/number_black.png +0 -0
  323. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/obb.png +0 -0
  324. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/one.png +0 -0
  325. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/one_blue.png +0 -0
  326. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/one_to_many.png +0 -0
  327. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/opacity.png +0 -0
  328. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/options_small.png +0 -0
  329. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/original_size.png +0 -0
  330. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/osf.png +0 -0
  331. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/osf_large.png +0 -0
  332. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/outlier.png +0 -0
  333. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/outside.png +0 -0
  334. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/outside_2.png +0 -0
  335. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/overlap_iou.png +0 -0
  336. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/paint.png +0 -0
  337. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/palette_large.png +0 -0
  338. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/palette_small.png +0 -0
  339. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/parquet.png +0 -0
  340. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/path.png +0 -0
  341. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/path_2.png +0 -0
  342. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pct.png +0 -0
  343. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pct_2.png +0 -0
  344. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pdf_large.png +0 -0
  345. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/permutation_blue.png +0 -0
  346. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/photos.png +0 -0
  347. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/play.png +0 -0
  348. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/play_large_green.png +0 -0
  349. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/plot.png +0 -0
  350. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/plus.png +0 -0
  351. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/plus_green.png +0 -0
  352. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/plus_green_2.png +0 -0
  353. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/plus_green_3.png +0 -0
  354. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/png.png +0 -0
  355. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/point.png +0 -0
  356. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/point_right_large.png +0 -0
  357. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pointing_left_large.png +0 -0
  358. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/polygon.png +0 -0
  359. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/polygon_2.png +0 -0
  360. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/polygon_large.png +0 -0
  361. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pose.png +0 -0
  362. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/pose_2.png +0 -0
  363. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/print.png +0 -0
  364. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/probability.png +0 -0
  365. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/progressbar_black.png +0 -0
  366. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/python.png +0 -0
  367. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/question_mark.png +0 -0
  368. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/range_large.png +0 -0
  369. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/readthedocs_logo.png +0 -0
  370. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/recent_files.png +0 -0
  371. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rectangle.png +0 -0
  372. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rectangle_1_large.png +0 -0
  373. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rectangle_2.png +0 -0
  374. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rectangle_red.png +0 -0
  375. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rectangle_small.png +0 -0
  376. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/remove_bg.png +0 -0
  377. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/reorganize.png +0 -0
  378. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/resize.png +0 -0
  379. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/restart.png +0 -0
  380. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/reverse.png +0 -0
  381. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/reverse_blue.png +0 -0
  382. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/reverse_large.png +0 -0
  383. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/reverse_large_red.png +0 -0
  384. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rewind.png +0 -0
  385. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rewind_blue_2.png +0 -0
  386. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rewind_large.png +0 -0
  387. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rewind_red.png +0 -0
  388. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/right_arrow_green.png +0 -0
  389. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/right_arrow_red.png +0 -0
  390. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rocket.png +0 -0
  391. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/roi.png +0 -0
  392. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/roi_green.png +0 -0
  393. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rotate.png +0 -0
  394. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/rounding.png +0 -0
  395. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ruler.png +0 -0
  396. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ruler_large.png +0 -0
  397. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/run.png +0 -0
  398. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/sample.png +0 -0
  399. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/save.png +0 -0
  400. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/save_blue.png +0 -0
  401. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/save_green.png +0 -0
  402. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/save_large.png +0 -0
  403. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/save_small.png +0 -0
  404. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/scale_1.png +0 -0
  405. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/scale_2.png +0 -0
  406. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/scale_3.png +0 -0
  407. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/search.png +0 -0
  408. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/segment.png +0 -0
  409. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/seperate_green.png +0 -0
  410. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/settings.png +0 -0
  411. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shade.png +0 -0
  412. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shap.png +0 -0
  413. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shap_2.png +0 -0
  414. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shapes_large.png +0 -0
  415. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shapes_small.png +0 -0
  416. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/shapes_small_2.png +0 -0
  417. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/sigma.png +0 -0
  418. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/simba_logo_2.png +0 -0
  419. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/single_black.png +0 -0
  420. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/single_blue.png +0 -0
  421. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/single_green.png +0 -0
  422. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/size_black.png +0 -0
  423. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/skip.png +0 -0
  424. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/skip_2.png +0 -0
  425. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/skip_forward_large.png +0 -0
  426. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/skip_previous_large.png +0 -0
  427. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/sleap_small.png +0 -0
  428. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/smooth.png +0 -0
  429. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/speedometer.png +0 -0
  430. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/split.png +0 -0
  431. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/split_2.png +0 -0
  432. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/square_black.png +0 -0
  433. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/stack.png +0 -0
  434. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/star.png +0 -0
  435. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/stop.png +0 -0
  436. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/stopwatch.png +0 -0
  437. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/stream.png +0 -0
  438. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/style.png +0 -0
  439. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/subset_blue.png +0 -0
  440. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/superimpose.png +0 -0
  441. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/system.png +0 -0
  442. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/t.png +0 -0
  443. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/table.png +0 -0
  444. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/table_2.png +0 -0
  445. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text.png +0 -0
  446. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text_bg.png +0 -0
  447. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text_black.png +0 -0
  448. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text_color.png +0 -0
  449. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text_color_2.png +0 -0
  450. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/text_spacing.png +0 -0
  451. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/threshold.png +0 -0
  452. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/tick.png +0 -0
  453. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/tick_large.png +0 -0
  454. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/tiff.png +0 -0
  455. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/tile_green.png +0 -0
  456. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/time.png +0 -0
  457. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/timer.png +0 -0
  458. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/timer_2.png +0 -0
  459. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/trash.png +0 -0
  460. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/trash_red.png +0 -0
  461. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/triangle_black.png +0 -0
  462. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/triangle_small.png +0 -0
  463. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/tv_large.png +0 -0
  464. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/two.png +0 -0
  465. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ultralytics_1.png +0 -0
  466. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/ultralytics_2.png +0 -0
  467. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/verbose.png +0 -0
  468. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/vertical.png +0 -0
  469. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/video.png +0 -0
  470. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/video_2.png +0 -0
  471. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/video_file_large.png +0 -0
  472. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/video_large.png +0 -0
  473. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/visualize.png +0 -0
  474. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/visualize_blue.png +0 -0
  475. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/visualize_green.png +0 -0
  476. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/walk.png +0 -0
  477. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/wand_blue.png +0 -0
  478. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/warning.png +0 -0
  479. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/watermark_green.png +0 -0
  480. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/webm.png +0 -0
  481. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/webp.png +0 -0
  482. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/weight.png +0 -0
  483. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/weights.png +0 -0
  484. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/width.png +0 -0
  485. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/x.png +0 -0
  486. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/y.png +0 -0
  487. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/zero.png +0 -0
  488. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/zoom_in.png +0 -0
  489. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/icons/zoom_out.png +0 -0
  490. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/__init__.py +0 -0
  491. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/about_me.png +0 -0
  492. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/bg.png +0 -0
  493. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/bg_2.png +0 -0
  494. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/bg_2024.png +0 -0
  495. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/landing.mp4 +0 -0
  496. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/simon_n.webp +0 -0
  497. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/splash.mp4 +0 -0
  498. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/splash.pptx +0 -0
  499. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/splash_2024.mp4 +0 -0
  500. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/img/~$splash.pptx +0 -0
  501. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/__init__.py +0 -0
  502. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/critical_values_05.pickle +0 -0
  503. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/feature_extraction_headers.csv +0 -0
  504. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/features.csv +0 -0
  505. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/model_names.parquet +0 -0
  506. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/unsupervised_example_x.csv +0 -0
  507. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/yolo.yaml +0 -0
  508. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/yolo_schematics/yolo_7bps.csv +0 -0
  509. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/lookups/yolo_schematics/yolo_mitra.csv +0 -0
  510. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/UbuntuMono-Regular.ttf +0 -0
  511. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/__init__.py +0 -0
  512. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/animal_distances.jpg +0 -0
  513. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/baseline_scale.jpg +0 -0
  514. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/color_bar.jpg +0 -0
  515. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/down_arrow.jpg +0 -0
  516. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/feature_categories/__init__.py +0 -0
  517. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/feature_categories/shap_feature_categories.csv +0 -0
  518. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/intruder_movement.jpg +0 -0
  519. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/intruder_shape.jpg +0 -0
  520. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/resident_intruder_movement.jpg +0 -0
  521. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/resident_intruder_shape.jpg +0 -0
  522. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/resident_movement.jpg +0 -0
  523. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/resident_shape.jpg +0 -0
  524. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/side_scale.jpg +0 -0
  525. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/side_scale_5.jpg +0 -0
  526. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/shap/ubuntu.regular.ttf +0 -0
  527. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/stl/__init__.py +0 -0
  528. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/stl/grid_floor.stl +0 -0
  529. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/stl/operant_lever.stl +0 -0
  530. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/stl/operant_tray.stl +0 -0
  531. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/stl/operant_walls.stl +0 -0
  532. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/tracker_yml/__init__.py +0 -0
  533. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/tracker_yml/botsort.yml +0 -0
  534. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/tracker_yml/bytetrack.yml +0 -0
  535. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/tracker_yml/tow_bytetrack.yaml +0 -0
  536. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/unsupervised/__init__.py +0 -0
  537. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/unsupervised/features.csv +0 -0
  538. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/assets/unsupervised/model_names.parquet +0 -0
  539. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/__init__.py +0 -0
  540. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/agg_boundary_stats.py +0 -0
  541. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/boundary_menus.py +0 -0
  542. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/boundary_statistics.py +0 -0
  543. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/find_boundaries.py +0 -0
  544. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/visualize_boundaries.py +0 -0
  545. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/bounding_box_tools/yolo/__init__.py +0 -0
  546. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/__init__.py +0 -0
  547. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_analyzer.py +0 -0
  548. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_clf_statistics.py +0 -0
  549. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_main_popup.py +0 -0
  550. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_movement_statistics.py +0 -0
  551. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_tools.py +0 -0
  552. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/cue_light_tools/cue_light_visualizer.py +0 -0
  553. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/dash_app/SimBA_dash_app.py +0 -0
  554. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/dash_app/__init__.py +0 -0
  555. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/dash_app/dash_app.py +0 -0
  556. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/dash_app/run_dash_tkinter.py +0 -0
  557. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/.DS_Store +0 -0
  558. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/__init__.py +0 -0
  559. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/advanced_interpolator.py +0 -0
  560. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/advanced_smoothing.py +0 -0
  561. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/agg_clf_calculator.py +0 -0
  562. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/agg_clf_counter_mp.py +0 -0
  563. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/blob_location_computer.py +0 -0
  564. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/boolean_conditional_calculator.py +0 -0
  565. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/circling_detector.py +0 -0
  566. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/__init__.py +0 -0
  567. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/circular_statistics.py +0 -0
  568. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/create_shap_log.py +0 -0
  569. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/data.py +0 -0
  570. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/geometry.py +0 -0
  571. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/image.py +0 -0
  572. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/statistics.py +0 -0
  573. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/timeseries.py +0 -0
  574. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cuda/utils.py +0 -0
  575. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cue_light_analyzer.py +0 -0
  576. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cue_light_clf_statistics.py +0 -0
  577. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/cue_light_movement_statistics.py +0 -0
  578. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/directing_animal_to_bodypart.py +0 -0
  579. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/directing_other_animals_calculator.py +0 -0
  580. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/egocentric_aligner.py +0 -0
  581. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/find_animal_blob_location.py +0 -0
  582. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/freezing_detector.py +0 -0
  583. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/fsttc_calculator.py +0 -0
  584. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/gibbs_sampler.py +0 -0
  585. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/interpolate.py +0 -0
  586. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/interpolate_pose.py +0 -0
  587. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/interpolation_smoothing.py +0 -0
  588. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/kleinberg_calculator.py +0 -0
  589. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/light_dark_box_analyzer.py +0 -0
  590. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/movement_calculator.py +0 -0
  591. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/mutual_exclusivity_corrector.py +0 -0
  592. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/pup_retrieval_calculator.py +0 -0
  593. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/pybursts_calculator.py +0 -0
  594. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/severity_bout_based_calculator.py +0 -0
  595. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/severity_calculator.py +0 -0
  596. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/severity_frame_based_calculator.py +0 -0
  597. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/smoothing.py +0 -0
  598. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/spontaneous_alternation_calculator.py +0 -0
  599. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/timebins_clf_calculator.py +0 -0
  600. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/timebins_movement_calculator.py +0 -0
  601. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/timebins_movement_calculator_mp.py +0 -0
  602. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/data_processors/yolo_track_cleaner.py +0 -0
  603. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/.DS_Store +0 -0
  604. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/__init__.py +0 -0
  605. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/aggression_feature_extractor.py +0 -0
  606. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/amber_feature_extractor.py +0 -0
  607. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/boundary_rearing_analyzer.py +0 -0
  608. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/cave_fish_featurizer.py +0 -0
  609. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_14bp.py +0 -0
  610. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_16bp.py +0 -0
  611. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_4bp.py +0 -0
  612. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_7bp.py +0 -0
  613. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_8bp.py +0 -0
  614. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_8bps_2_animals.py +0 -0
  615. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_9bp.py +0 -0
  616. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_extractor_user_defined.py +0 -0
  617. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/feature_subsets.py +0 -0
  618. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/gerbil_featurizer.py +0 -0
  619. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/add_probability_cnt_features.py +0 -0
  620. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/convex_hull_3_scratch_3.py +0 -0
  621. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/convex_hull_scratch_1.py +0 -0
  622. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/convex_hull_scratch_2.py +0 -0
  623. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/count_values_in_range.py +0 -0
  624. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/doctests.py +0 -0
  625. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/egocentrical_aligner.py +0 -0
  626. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/fish_feature_extractor_2022.py +0 -0
  627. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_2.py +0 -0
  628. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_3.py +0 -0
  629. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_4.py +0 -0
  630. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_5.py +0 -0
  631. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/graph_3d_plotter.py +0 -0
  632. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/graph_creator.py +0 -0
  633. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/make_splash.py +0 -0
  634. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/mutual_exclusive.py +0 -0
  635. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/peaks.py +0 -0
  636. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/read_in_mp.py +0 -0
  637. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/termite_rois.csv +0 -0
  638. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/time_stamp_calculator.py +0 -0
  639. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/video_color.py +0 -0
  640. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/video_rotator.py +0 -0
  641. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/misc/video_rotator_mp.py +0 -0
  642. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/mitra_feature_extractor.py +0 -0
  643. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/perimeter_jit.py +0 -0
  644. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/rat_social_featurizer.py +0 -0
  645. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/riptortus_featurizer.py +0 -0
  646. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/feature_extractors/straub_tail_analyzer.py +0 -0
  647. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/__init__.py +0 -0
  648. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/extract_labelled_frames.py +0 -0
  649. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/extract_labelling_meta.py +0 -0
  650. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/labelling_advanced_interface.py +0 -0
  651. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/labelling_interface.py +0 -0
  652. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/mitra_style_appender.py +0 -0
  653. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/play_annotation_video.py +0 -0
  654. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/single_clf_appender_excel.py +0 -0
  655. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/standard_labeller.py +0 -0
  656. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/labelling/targeted_annotations_clips.py +0 -0
  657. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/.DS_Store +0 -0
  658. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/__init__.py +0 -0
  659. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/abstract_classes.py +0 -0
  660. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/annotator_mixin.py +0 -0
  661. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/circular_statistics.py +0 -0
  662. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/config_reader.py +0 -0
  663. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/feature_extraction_mixin.py +0 -0
  664. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/feature_extraction_supplement_mixin.py +0 -0
  665. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/geometry_mixin.py +0 -0
  666. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/image_mixin.py +0 -0
  667. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/network_mixin.py +0 -0
  668. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/plotting_mixin.py +0 -0
  669. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/pop_up_mixin.py +0 -0
  670. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/pose_importer_mixin.py +0 -0
  671. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/statistics_mixin.py +0 -0
  672. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/timeseries_features_mixin.py +0 -0
  673. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/train_model_mixin.py +0 -0
  674. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/mixins/unsupervised_mixin.py +0 -0
  675. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/__init__.py +0 -0
  676. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/grid_search_multiclass_rf.py +0 -0
  677. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/grid_search_rf.py +0 -0
  678. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/inference_batch.py +0 -0
  679. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/inference_multiclass_batch.py +0 -0
  680. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/inference_validation.py +0 -0
  681. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/ordinal_clf.py +0 -0
  682. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/regression/__init__.py +0 -0
  683. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/regression/metrics.py +0 -0
  684. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/regression/model.py +0 -0
  685. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/sam_inference.py +0 -0
  686. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/train_multiclass_rf.py +0 -0
  687. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/train_multilabel_rf.py +0 -0
  688. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/train_rf.py +0 -0
  689. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/yolo_inference.py +0 -0
  690. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/yolo_pose_inference.py +0 -0
  691. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/yolo_pose_track_inference.py +0 -0
  692. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/model/yolo_seg_inference.py +0 -0
  693. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/__init__.py +0 -0
  694. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_location.py +0 -0
  695. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_location_advanced.py +0 -0
  696. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_location_mp.py +0 -0
  697. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_movement.py +0 -0
  698. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_movement_advanced.py +0 -0
  699. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/outlier_corrector_movement_mp.py +0 -0
  700. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/outlier_tools/skip_outlier_correction.py +0 -0
  701. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/.DS_Store +0 -0
  702. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/ROI_feature_visualizer.py +0 -0
  703. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/ROI_feature_visualizer_mp.py +0 -0
  704. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/__init__.py +0 -0
  705. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/blob_plotter.py +0 -0
  706. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/blob_visualizer.py +0 -0
  707. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/circular_feature_overlay_plotter.py +0 -0
  708. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/circular_plotting.py +0 -0
  709. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/clf_validator.py +0 -0
  710. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/clf_validator_mp.py +0 -0
  711. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/cue_light_visualizer.py +0 -0
  712. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/data_plotter.py +0 -0
  713. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/directing_animals_to_bodypart_visualizer.py +0 -0
  714. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/directing_animals_visualizer.py +0 -0
  715. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/directing_animals_visualizer_mp.py +0 -0
  716. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/distance_plotter.py +0 -0
  717. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/distance_plotter_mp.py +0 -0
  718. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/ez_path_plot.py +0 -0
  719. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/frame_mergerer_ffmpeg.py +0 -0
  720. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/gantt_creator.py +0 -0
  721. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/gantt_creator_mp.py +0 -0
  722. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/gantt_plotly.py +0 -0
  723. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/geometry_plotter.py +0 -0
  724. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/heat_mapper_clf.py +0 -0
  725. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/heat_mapper_clf_mp.py +0 -0
  726. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/heat_mapper_location.py +0 -0
  727. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/heat_mapper_location_mp.py +0 -0
  728. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/interactive_probability_grapher.py +0 -0
  729. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/light_dark_box_plotter.py +0 -0
  730. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/path_plotter.py +0 -0
  731. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/path_plotter_mp.py +0 -0
  732. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/plot_clf_results.py +0 -0
  733. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/plot_clf_results_mp.py +0 -0
  734. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/pose_plotter.py +0 -0
  735. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/pose_plotter_mp.py +0 -0
  736. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/probability_plot_creator.py +0 -0
  737. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/probability_plot_creator_mp.py +0 -0
  738. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/roi_plotter.py +0 -0
  739. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/roi_plotter_mp.py +0 -0
  740. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/sam_plotter.py +0 -0
  741. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/shap_agg_stats_visualizer.py +0 -0
  742. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/single_run_model_validation_video.py +0 -0
  743. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/single_run_model_validation_video_mp.py +0 -0
  744. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/spontaneous_alternation_plotter.py +0 -0
  745. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/tools/__init__.py +0 -0
  746. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/tools/tkinter_tools.py +0 -0
  747. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/yolo_pose_track_visualizer.py +0 -0
  748. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/yolo_pose_visualizer.py +0 -0
  749. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/yolo_seg_visualizer.py +0 -0
  750. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/plotting/yolo_visualize.py +0 -0
  751. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/.DS_Store +0 -0
  752. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/__init__.py +0 -0
  753. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/bp_names/__init__.py +0 -0
  754. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/bp_names/bp_names.csv +0 -0
  755. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/configuration_names/__init__.py +0 -0
  756. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/configuration_names/pose_config_names.csv +0 -0
  757. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/no_animals/__init__.py +0 -0
  758. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/no_animals/no_animals.csv +0 -0
  759. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/1.png +0 -0
  760. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/10.png +0 -0
  761. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/11.png +0 -0
  762. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/12.png +0 -0
  763. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/13.png +0 -0
  764. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/14.png +0 -0
  765. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/15.png +0 -0
  766. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/16.png +0 -0
  767. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/2.png +0 -0
  768. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/3.png +0 -0
  769. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/4.png +0 -0
  770. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/5.png +0 -0
  771. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/6.png +0 -0
  772. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/7.png +0 -0
  773. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/8.png +0 -0
  774. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_configurations/schematics/9.png +0 -0
  775. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/.DS_Store +0 -0
  776. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/__init__.py +0 -0
  777. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/dlc_importer_csv.py +0 -0
  778. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/facemap_h5_importer.py +0 -0
  779. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/import_mars.py +0 -0
  780. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/madlc_importer.py +0 -0
  781. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/misc/__init__.py +0 -0
  782. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/misc/apt_trk_importer.py +0 -0
  783. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/read_DANNCE_mat.py +0 -0
  784. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/simba_blob_importer.py +0 -0
  785. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/simba_yolo_importer.py +0 -0
  786. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/sleap_csv_importer.py +0 -0
  787. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/sleap_h5_importer.py +0 -0
  788. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/sleap_slp_importer.py +0 -0
  789. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/superanimal_import.py +0 -0
  790. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_importers/trk_importer.py +0 -0
  791. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_processors/__init__.py +0 -0
  792. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_processors/pose_reset.py +0 -0
  793. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_processors/remove_keypoints.py +0 -0
  794. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_processors/reorganize_keypoint.py +0 -0
  795. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/pose_processors/reverse_pose.py +0 -0
  796. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/requirements.txt +0 -0
  797. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/.DS_Store +0 -0
  798. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/ROI_analyzer.py +0 -0
  799. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/ROI_directing_analyzer.py +0 -0
  800. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/ROI_feature_analyzer.py +0 -0
  801. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/ROI_size_standardizer.py +0 -0
  802. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/ROI_time_bin_calculator.py +0 -0
  803. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/__init__.py +0 -0
  804. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/import_roi_csvs.py +0 -0
  805. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/interactive_modifier_ui.py +0 -0
  806. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/interactive_roi_bufferer.py +0 -0
  807. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/interactive_roi_modifier_tkinter.py +0 -0
  808. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_aggregate_statistics_analyzer.py +0 -0
  809. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_aggregate_stats_mp.py +0 -0
  810. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_clf_calculator.py +0 -0
  811. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_clf_calculator_mp.py +0 -0
  812. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_ruler.py +0 -0
  813. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_selector_circle_tkinter.py +0 -0
  814. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_selector_polygon_tkinter.py +0 -0
  815. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_selector_rectangle_tkinter.py +0 -0
  816. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_time_bins_analyzer.py +0 -0
  817. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_ui.py +0 -0
  818. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_ui_mixin.py +0 -0
  819. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/roi_tools/roi_utils.py +0 -0
  820. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/.DS_Store +0 -0
  821. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/BENTO_appender.py +0 -0
  822. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/BORIS_appender.py +0 -0
  823. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/__init__.py +0 -0
  824. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/boris_source_cleaner.py +0 -0
  825. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/converters.py +0 -0
  826. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/deepethogram_importer.py +0 -0
  827. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/ethovision_import.py +0 -0
  828. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/observer_importer.py +0 -0
  829. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/shah_appender.py +0 -0
  830. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/solomon_importer.py +0 -0
  831. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/third_party_appender.py +0 -0
  832. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/tools.py +0 -0
  833. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/__init__.py +0 -0
  834. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_bbox.py +0 -0
  835. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_seg.py +0 -0
  836. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/dlc_ma_h5_to_yolo.py +0 -0
  837. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/dlc_multi_to_yolo.py +0 -0
  838. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/dlc_single_to_multi_format_converter.py +0 -0
  839. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/dlc_to_labelme.py +0 -0
  840. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/dlc_to_yolo.py +0 -0
  841. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/labelme_to_df.py +0 -0
  842. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/labelme_to_dlc.py +0 -0
  843. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/labelme_to_yolo.py +0 -0
  844. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/labelme_to_yolo_keypoints.py +0 -0
  845. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/labelme_to_yolo_seg.py +0 -0
  846. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/simba_roi_to_yolo.py +0 -0
  847. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/simba_to_yolo.py +0 -0
  848. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/simba_to_yolo_seg.py +0 -0
  849. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/sleap_h5_to_yolo.py +0 -0
  850. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/sleap_to_yolo.py +0 -0
  851. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/utils.py +0 -0
  852. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/third_party_label_appenders/transform/yolo_to_imgs.py +0 -0
  853. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/.DS_Store +0 -0
  854. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/__init__.py +0 -0
  855. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/blob_quick_check_interface.py +0 -0
  856. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/blob_tracker_ui.py +0 -0
  857. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/get_tree_view.py +0 -0
  858. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/import_pose_frame.py +0 -0
  859. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/import_videos_frame.py +0 -0
  860. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/machine_model_settings_ui.py +0 -0
  861. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/ml_settings_frm.py +0 -0
  862. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/.DS_Store +0 -0
  863. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/__init__.py +0 -0
  864. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/about_simba_pop_up.py +0 -0
  865. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/animal_directing_other_animals_pop_up.py +0 -0
  866. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/append_roi_features_animals_pop_up.py +0 -0
  867. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/append_roi_features_bodypart_pop_up.py +0 -0
  868. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/archive_files_pop_up.py +0 -0
  869. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/blob_visualizer_pop_up.py +0 -0
  870. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/boolean_conditional_slicer_pup_up.py +0 -0
  871. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/change_speed_popup.py +0 -0
  872. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/check_videos_seekable_pop_up.py +0 -0
  873. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_add_remove_print_pop_up.py +0 -0
  874. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_annotation_counts_pop_up.py +0 -0
  875. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_by_roi_pop_up.py +0 -0
  876. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_by_timebins_pop_up.py +0 -0
  877. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_descriptive_statistics_pop_up.py +0 -0
  878. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_plot_pop_up.py +0 -0
  879. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_probability_plot_pop_up.py +0 -0
  880. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/clf_validation_plot_pop_up.py +0 -0
  881. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/coco_keypoints_to_yolo_popup.py +0 -0
  882. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/create_user_defined_pose_configuration_pop_up.py +0 -0
  883. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/csv_2_parquet_pop_up.py +0 -0
  884. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/cue_light_clf_analyzer_popup.py +0 -0
  885. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/cue_light_data_analyzer_popup.py +0 -0
  886. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/cue_light_main_popup.py +0 -0
  887. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/cue_light_movement_analyzer_popup.py +0 -0
  888. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/cue_light_visualizer_popup.py +0 -0
  889. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/data_plot_pop_up.py +0 -0
  890. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/delete_all_rois_pop_up.py +0 -0
  891. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/directing_animal_to_bodypart_plot_pop_up.py +0 -0
  892. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/directing_other_animals_plot_pop_up.py +0 -0
  893. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/direction_animal_to_bodypart_settings_pop_up.py +0 -0
  894. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/distance_plot_pop_up.py +0 -0
  895. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/dlc_annotations_to_labelme_popup.py +0 -0
  896. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/dlc_h5_inference_to_yolo_popup.py +0 -0
  897. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/dlc_to_labelme_popup.py +0 -0
  898. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/dlc_to_yolo_keypoints_popup.py +0 -0
  899. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/duplicate_rois_by_source_target_popup.py +0 -0
  900. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/egocentric_alignment_pop_up.py +0 -0
  901. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/extract_annotation_frames_pop_up.py +0 -0
  902. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/fsttc_pop_up.py +0 -0
  903. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/gantt_pop_up.py +0 -0
  904. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/heatmap_clf_pop_up.py +0 -0
  905. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/heatmap_location_pop_up.py +0 -0
  906. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/helpers.py +0 -0
  907. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/import_roi_csv_popup.py +0 -0
  908. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/initialize_blob_tracking_pop_up.py +0 -0
  909. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/interpolate_pop_up.py +0 -0
  910. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/kleinberg_pop_up.py +0 -0
  911. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/labelme_bbox_to_yolo_bbox_popup.py +0 -0
  912. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/labelme_dir_to_csv_popup.py +0 -0
  913. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/labelme_to_df_popup.py +0 -0
  914. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/labelme_to_imgs_popup.py +0 -0
  915. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/make_path_plot_pop_up.py +0 -0
  916. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/merge_coco_keypoint_files_pop_up.py +0 -0
  917. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/min_max_draw_size_popup.py +0 -0
  918. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/movement_analysis_pop_up.py +0 -0
  919. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/movement_analysis_time_bins_pop_up.py +0 -0
  920. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/multiple_videos_to_frames_popup.py +0 -0
  921. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/mutual_exclusivity_pop_up.py +0 -0
  922. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/outlier_settings_pop_up.py +0 -0
  923. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/path_plot_pop_up.py +0 -0
  924. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/pose_bp_drop_pop_up.py +0 -0
  925. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/pose_reorganizer_pop_up.py +0 -0
  926. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/print_video_meta_popup.py +0 -0
  927. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/pup_retrieval_pop_up.py +0 -0
  928. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/quick_path_plot_pop_up.py +0 -0
  929. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/remove_roi_features_pop_up.py +0 -0
  930. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_aggregate_stats_popup.py +0 -0
  931. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_analysis_pop_up.py +0 -0
  932. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_analysis_time_bins_pop_up.py +0 -0
  933. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_features_plot_pop_up.py +0 -0
  934. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_size_standardizer_popup.py +0 -0
  935. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_tracking_plot_pop_up.py +0 -0
  936. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/roi_video_table_pop_up.py +0 -0
  937. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/run_machine_models_popup.py +0 -0
  938. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/select_video_for_labelling_popup.py +0 -0
  939. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/select_video_for_pseudo_labelling_popup.py +0 -0
  940. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/severity_analysis_pop_up.py +0 -0
  941. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/simba_rois_to_yolo_pop_up.py +0 -0
  942. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/single_video_to_frames_popup.py +0 -0
  943. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/sleap_h5_inference_to_yolo_popup.py +0 -0
  944. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/smoothing_popup.py +0 -0
  945. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/splash_popup.py +0 -0
  946. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/spontaneous_alternation_pop_up.py +0 -0
  947. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/subset_feature_extractor_pop_up.py +0 -0
  948. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/targeted_annotation_clips_pop_up.py +0 -0
  949. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/third_party_annotator_appender_pop_up.py +0 -0
  950. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/validation_plot_pop_up.py +0 -0
  951. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/visualize_pose_in_dir_pop_up.py +0 -0
  952. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/pop_ups/yolo_inference_popup.py +0 -0
  953. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/px_to_mm_ui.py +0 -0
  954. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/user_defined_pose_creator.py +0 -0
  955. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/video_info_ui.py +0 -0
  956. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/ui/video_timelaps.py +0 -0
  957. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/.DS_Store +0 -0
  958. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/__init__.py +0 -0
  959. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/bout_aggregator.py +0 -0
  960. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/cluster_frequentist_calculator.py +0 -0
  961. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/cluster_validation_calculator.py +0 -0
  962. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/cluster_video_visualizer.py +0 -0
  963. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/cluster_xai_calculator.py +0 -0
  964. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/clusterer_comparison_calculator.py +0 -0
  965. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/data_extractor.py +0 -0
  966. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/data_map.yaml +0 -0
  967. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/dataset_creator.py +0 -0
  968. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/dbcv_calculator.py +0 -0
  969. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/embedding_correlation_calculator.py +0 -0
  970. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/enums.py +0 -0
  971. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/grid_search_visualizers.py +0 -0
  972. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/hdbscan_clusterer.py +0 -0
  973. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/outlier_detector.py +0 -0
  974. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/.DS_Store +0 -0
  975. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/cluster_frequentist_stats_popup.py +0 -0
  976. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/cluster_validation_pop_up.py +0 -0
  977. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/cluster_videos_popup.py +0 -0
  978. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/cluster_xai_popup.py +0 -0
  979. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/clusterer_comparison_popup.py +0 -0
  980. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/data_extractor_popup.py +0 -0
  981. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/embedding_correlations_popup.py +0 -0
  982. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/fit_cluster_popup.py +0 -0
  983. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/fit_dim_reduction_popup.py +0 -0
  984. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/grid_search_visualizer_popup.py +0 -0
  985. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/print_embedding_info_popup.py +0 -0
  986. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/transform_cluster_popup.py +0 -0
  987. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/pop_ups/transform_dim_reduction_popup.py +0 -0
  988. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/tsne.py +0 -0
  989. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/umap_embedder.py +0 -0
  990. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/unsupervised/unsupervised_main.py +0 -0
  991. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/.DS_Store +0 -0
  992. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/__init__.py +0 -0
  993. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/cli/__init__.py +0 -0
  994. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/cli/cli_tools.py +0 -0
  995. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/config_creator.py +0 -0
  996. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/custom_feature_extractor.py +0 -0
  997. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/data.py +0 -0
  998. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/enums.py +0 -0
  999. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/errors.py +0 -0
  1000. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/lookups.py +0 -0
  1001. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/printing.py +0 -0
  1002. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/warnings.py +0 -0
  1003. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/utils/yolo.py +0 -0
  1004. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/.DS_Store +0 -0
  1005. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/__init__.py +0 -0
  1006. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/async_frame_reader.py +0 -0
  1007. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/batch_process_create_ffmpeg_commands.py +0 -0
  1008. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/blob_tracking_executor.py +0 -0
  1009. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/brightness_contrast_ui.py +0 -0
  1010. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/calculate_px_dist.py +0 -0
  1011. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/clahe_ui.py +0 -0
  1012. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/egocentric_video_rotator.py +0 -0
  1013. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/extract_frames.py +0 -0
  1014. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/extract_seqframes.py +0 -0
  1015. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/multi_cropper.py +0 -0
  1016. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/roi_selector.py +0 -0
  1017. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/roi_selector_circle.py +0 -0
  1018. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/roi_selector_polygon.py +0 -0
  1019. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba/video_processors/videos_to_frames.py +0 -0
  1020. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba_uw_tf_dev.egg-info/dependency_links.txt +0 -0
  1021. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba_uw_tf_dev.egg-info/entry_points.txt +0 -0
  1022. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/simba_uw_tf_dev.egg-info/requires.txt +0 -0
  1023. {simba_uw_tf_dev-4.7.6 → simba_uw_tf_dev-4.7.8}/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.6
3
+ Version: 4.7.8
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.6",
32
+ version="4.7.8",
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
@@ -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": "Model serialization format (None = auto-detect from file extension). Match the format used when exporting the weights.",
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,38 @@
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.",
69
+ "BATCH_CLIP_START_TIME": "Start time for clipping all videos. Use HH:MM:SS (e.g. 00:00:10). Click APPLY to copy this value to every video row.",
70
+ "BATCH_CLIP_END_TIME": "End time for clipping all videos. Use HH:MM:SS (e.g. 00:01:30). Must be after start time. Click APPLY to copy this value to every video row.",
71
+ "BATCH_DOWNSAMPLE_WIDTH": "Output width in pixels when downsampling all videos. Must be even. Click APPLY to copy to every video row.",
72
+ "BATCH_DOWNSAMPLE_HEIGHT": "Output height in pixels when downsampling all videos. Must be even. Click APPLY to copy to every video row.",
73
+ "BATCH_FPS": "Target frames per second for all videos. Click APPLY to copy this value to every video row.",
74
+ "BATCH_APPLY_DOWNSAMPLE": "Tick to check the downsample box for all videos (all will be downsampled on execute). Untick to uncheck all. Set width and height in the DOWNSAMPLE VIDEOS panel, then click APPLY there to copy those values to every row.",
75
+ "BATCH_APPLY_FPS": "Tick to enable FPS change for all videos.\nUntick to disable for all.\nSet FPS in CHANGE FPS panel, then APPLY there.",
76
+ "BATCH_APPLY_GREYSCALE": "Tick to enable greyscale for all videos.\nUntick to disable for all.",
77
+ "BATCH_APPLY_FRAME_COUNT": "Tick to superimpose frame numbers on all videos.\nUntick to disable for all.",
78
+ "BATCH_APPLY_CLAHE": "Tick to apply CLAHE (contrast) to all videos.\nUntick to disable for all.",
79
+ "BATCH_APPLY_CLIP": "Tick to enable clipping for all videos.\nUntick to disable for all.\nSet start/end in CLIP VIDEOS SETTING, then APPLY there."
47
80
  }
@@ -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
- check_file_exist_and_readable(file_path=weights_path)
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.weights_path, self.patience = plots, save_path, verbose, weights_path, patience
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, required=True, help='Path to the trained YOLO model weights (e.g., yolo11n-pose.pt)')
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, 3, 5, 4, 6, 7, 8),
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,12 @@ 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
23
- from simba.utils.read_write import (create_directory,
22
+ from simba.utils.printing import SimbaTimer, stdout_information, stdout_success
23
+ from simba.utils.read_write import (clean_sleap_filenames_in_directory,
24
+ copy_files_to_directory, create_directory,
24
25
  find_files_of_filetypes_in_directory,
25
- get_video_meta_data, read_frm_of_video)
26
+ get_video_meta_data, read_frm_of_video,
27
+ remove_a_folder)
26
28
  from simba.utils.yolo import keypoint_array_to_yolo_annotation_str
27
29
 
28
30
 
@@ -70,11 +72,16 @@ class Sleap2Yolo:
70
72
  padding: float = 0.00,
71
73
  single_id: Optional[str] = None):
72
74
 
75
+ check_if_dir_exists(in_dir=save_dir)
73
76
  self.data_paths = find_files_of_filetypes_in_directory(directory=data_dir, extensions=['.csv'], as_dict=True, raise_error=True)
77
+ self.data_temp_dir = os.path.join(data_dir, '.temp')
78
+ create_directory(paths=self.data_temp_dir, overwrite=True, verbose=True)
79
+ copy_files_to_directory(file_paths=list(self.data_paths.values()), dir=self.data_temp_dir, verbose=False, integer_save_names=False)
80
+ clean_sleap_filenames_in_directory(dir=self.data_temp_dir, verbose=True)
81
+ self.data_paths = find_files_of_filetypes_in_directory(directory=self.data_temp_dir, extensions=['.csv'], as_dict=True, raise_error=True)
74
82
  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
83
  missing_video_paths = [x for x in self.video_paths.keys() if x not in self.data_paths.keys()]
76
84
  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
85
  self.img_dir, self.lbl_dir = os.path.join(save_dir, 'images'), os.path.join(save_dir, 'labels')
79
86
  self.img_train_dir, self.img_val_dir = os.path.join(save_dir, 'images', 'train'), os.path.join(save_dir, 'images', 'val')
80
87
  self.lbl_train_dir, self.lb_val_dir = os.path.join(save_dir, 'labels', 'train'), os.path.join(save_dir, 'labels', 'val')
@@ -92,15 +99,15 @@ class Sleap2Yolo:
92
99
  if frms_cnt is not None:
93
100
  check_int(name=f'{self.__class__.__name__} frms_cnt', value=frms_cnt, min_value=1, raise_error=True)
94
101
  if len(missing_video_paths) > 0:
95
- raise NoFilesFoundError(msg=f'Video(s) {missing_video_paths} could not be found in {video_dir} directory', source=self.__class__.__name__)
102
+ remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
103
+ 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
104
  if len(missing_data_paths) > 0:
97
- raise NoFilesFoundError(msg=f'CSV data for {missing_data_paths} could not be found in {data_dir} directory', source=self.__class__.__name__)
105
+ remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
106
+ 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
107
  self.verbose, self.instance_threshold, self.frms_cnt = verbose, instance_threshold, frms_cnt
99
108
  self.names, self.greyscale, self.train_size, self.clahe = names, greyscale, train_size, clahe
100
109
  self.padding, self.flip_idx, self.save_dir, self.single_id = padding, flip_idx, save_dir, single_id
101
110
 
102
-
103
-
104
111
  def run(self):
105
112
  dfs, timer, bp_cols = [], SimbaTimer(start=True), []
106
113
  for file_cnt, (file_name, file_path) in enumerate(self.data_paths.items()):
@@ -115,6 +122,7 @@ class Sleap2Yolo:
115
122
  dfs.append(df)
116
123
 
117
124
  dfs = pd.concat(dfs, axis=0)
125
+ dfs['track'] = dfs['track'].fillna(-1)
118
126
  unique_tracks_lk = {v: k for k, v in enumerate(dfs['track'].unique())}
119
127
  if self.names is not None:
120
128
  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 +133,13 @@ class Sleap2Yolo:
125
133
  train_idx = random.sample(list(dfs['id'].unique()), int(len(dfs['frame_idx'].unique()) * self.train_size))
126
134
  if self.flip_idx is None:
127
135
  self.flip_idx = get_yolo_keypoint_flip_idx(x=list(dict.fromkeys([x[:-2] for x in bp_cols])))
128
-
129
136
  for frm_cnt, frm_id in enumerate(dfs['id'].unique()):
130
137
  frm_data = dfs[dfs['id'] == frm_id]
131
138
  video_path = list(frm_data['video'])[0]
132
139
  frm_idx = list(frm_data['frame_idx'])[0]
133
140
  video_meta = get_video_meta_data(video_path=video_path)
134
141
  if self.verbose:
135
- print(f'Processing frame: {frm_cnt + 1}/{len(list(dfs["id"].unique()))} ...')
142
+ stdout_information(msg=f'Processing frame: {frm_cnt + 1}/{len(list(dfs["id"].unique()))} ...', source=self.__class__.__name__)
136
143
  img = read_frm_of_video(video_path=video_path, frame_index=frm_idx, greyscale=self.greyscale, clahe=self.clahe)
137
144
  img_h, img_w = img.shape[0], img.shape[1]
138
145
  if list(frm_data['id'])[0] in train_idx:
@@ -155,12 +162,13 @@ class Sleap2Yolo:
155
162
 
156
163
  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
164
  timer.stop_timer()
165
+ remove_a_folder(folder_dir=self.data_temp_dir, ignore_errors=True)
158
166
  stdout_success(msg=f'YOLO formated data saved in {self.save_dir} directory', source=self.__class__.__name__, elapsed_time=timer.elapsed_time_str)
159
167
 
160
168
 
161
- # DATA_DIR = r'D:\ares\data\ant\sleap_csv'
162
- # VIDEO_DIR = r'D:\ares\data\ant\sleap_video'
163
- # SAVE_DIR = r"D:\imgs\sleap_csv"
169
+ # DATA_DIR = r'E:\troubleshooting\mitra_pbn\raw_data\yolo\tracking'
170
+ # VIDEO_DIR = r'E:\troubleshooting\mitra_pbn\raw_data\yolo\videos'
171
+ # SAVE_DIR = r"E:\troubleshooting\mitra_pbn\raw_data\yolo\data"
164
172
  #
165
173
  # 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
174
  # 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)
@@ -20,8 +20,8 @@ class BatchPreProcessPopUp(PopUpMixin):
20
20
  def __init__(self):
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
- 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='folder')
23
+ self.input_folder_select = FolderSelect(selections_frm, "INPUT VIDEO DIRECTORY:", title="Select Folder with Input Videos", lblwidth=30, lbl_icon='folder', tooltip_key='VIDEO_DIR')
24
+ self.output_folder_select = FolderSelect(selections_frm, "OUTPUT VIDEO DIRECTORY:", title="Select Folder for Output videos", lblwidth=30, lbl_icon='folder_2', tooltip_key='SAVE_DIR')
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)
@@ -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 = list(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')
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)