simba-uw-tf-dev 4.6.6__tar.gz → 4.6.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1015) hide show
  1. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/PKG-INFO +1 -1
  2. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/requirements_gpu.txt +3 -2
  3. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/setup.py +1 -1
  4. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/blob_location_computer.py +1 -1
  5. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/image.py +12 -8
  6. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/statistics.py +57 -18
  7. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/timeseries.py +1 -1
  8. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/egocentric_aligner.py +1 -1
  9. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_subsets.py +2 -2
  10. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/straub_tail_analyzer.py +4 -4
  11. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/standard_labeller.py +1 -1
  12. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/geometry_mixin.py +8 -8
  13. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/image_mixin.py +14 -14
  14. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/statistics_mixin.py +39 -9
  15. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/timeseries_features_mixin.py +1 -1
  16. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/train_model_mixin.py +65 -27
  17. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/inference_batch.py +1 -1
  18. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/yolo_seg_inference.py +3 -3
  19. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/heat_mapper_clf_mp.py +2 -2
  20. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/simba_blob_importer.py +3 -3
  21. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_aggregate_stats_mp.py +1 -1
  22. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_clf_calculator_mp.py +1 -1
  23. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo.py +3 -3
  24. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_bbox.py +2 -2
  25. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/custom_feature_extractor.py +1 -1
  26. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/data.py +2 -2
  27. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/read_write.py +32 -18
  28. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/yolo.py +10 -1
  29. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/blob_tracking_executor.py +2 -2
  30. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/clahe_ui.py +1 -1
  31. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/egocentric_video_rotator.py +3 -3
  32. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/multi_cropper.py +1 -1
  33. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/video_processing.py +26 -9
  34. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/videos_to_frames.py +2 -2
  35. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/PKG-INFO +1 -1
  36. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/requires.txt +2 -1
  37. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  38. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  39. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/bigquery_download_stats.yml +0 -0
  40. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/cleaning.yml +0 -0
  41. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/issue_msg.yml.disabled +0 -0
  42. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/issue_report.yml +0 -0
  43. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/tests_py310.yml +0 -0
  44. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.github/workflows/tests_py36.yml +0 -0
  45. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.gitignore +0 -0
  46. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.pytest.ini +0 -0
  47. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/.readthedocs.yaml +0 -0
  48. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/App.py +0 -0
  49. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/CITATION.cff +0 -0
  50. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/CODE_OF_CONDUCT.md +0 -0
  51. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/LICENSE +0 -0
  52. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/MANIFEST.in +0 -0
  53. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/README.md +0 -0
  54. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/__init__.py +0 -0
  55. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/requirements.txt +0 -0
  56. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/requirements_arm.txt +0 -0
  57. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/requirements_wsl.txt +0 -0
  58. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/__init__.py +0 -0
  59. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/caltech_download.py +0 -0
  60. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/create_issues_report.py +0 -0
  61. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/dataverse_download.py +0 -0
  62. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/gitter_stats.py +0 -0
  63. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/make_qr_code.py +0 -0
  64. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/osf_download.py +0 -0
  65. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/scripts/upgrade_simba_keep_configs.py +0 -0
  66. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/setup.cfg +0 -0
  67. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/.DS_Store +0 -0
  68. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/SimBA.py +0 -0
  69. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/SimBA_logo.ico +0 -0
  70. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/__init__.py +0 -0
  71. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/.DS_Store +0 -0
  72. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/.env +0 -0
  73. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/.recent_projects.txt +0 -0
  74. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/TheGoldenLab.PNG +0 -0
  75. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/__init__.py +0 -0
  76. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/dash_simba_base.css +0 -0
  77. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/fonts/.DS_Store +0 -0
  78. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/fonts/Playwrite ES Deco.ttf +0 -0
  79. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/fonts/Poppins Bold.ttf +0 -0
  80. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/fonts/Poppins Regular.ttf +0 -0
  81. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/fonts/UbuntuMono-Regular.ttf +0 -0
  82. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/.DS_Store +0 -0
  83. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo.icns +0 -0
  84. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo.ico +0 -0
  85. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo.png +0 -0
  86. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo_3.ico +0 -0
  87. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo_3.png +0 -0
  88. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo_3_small.png +0 -0
  89. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/SimBA_logo_4_small.png +0 -0
  90. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/__init__.py +0 -0
  91. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/abacus.png +0 -0
  92. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/abacus_2.png +0 -0
  93. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/abacus_3.png +0 -0
  94. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/about.png +0 -0
  95. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/add.png +0 -0
  96. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/add_on.png +0 -0
  97. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/analyze_blue.png +0 -0
  98. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/analyze_green.png +0 -0
  99. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/api.png +0 -0
  100. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/application.png +0 -0
  101. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/archive.png +0 -0
  102. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/arrow_down_green.png +0 -0
  103. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/arrow_down_green_2.png +0 -0
  104. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/attributes_large.png +0 -0
  105. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/audio.png +0 -0
  106. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/average.png +0 -0
  107. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/average_2.png +0 -0
  108. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/avi.png +0 -0
  109. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bar_graph_blue.png +0 -0
  110. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bar_graph_green.png +0 -0
  111. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bar_graph_light_blue.png +0 -0
  112. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/batch.png +0 -0
  113. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/black_and_white.png +0 -0
  114. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/black_cross.png +0 -0
  115. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/blur.png +0 -0
  116. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bmp.png +0 -0
  117. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bold.png +0 -0
  118. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/boolean.png +0 -0
  119. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/boris.png +0 -0
  120. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/branches_small.png +0 -0
  121. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/brightness.png +0 -0
  122. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/browse.png +0 -0
  123. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/browse_small.png +0 -0
  124. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/brush_large.png +0 -0
  125. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bubble.png +0 -0
  126. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bubble_green.png +0 -0
  127. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bubble_pink.png +0 -0
  128. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bullet_grey.png +0 -0
  129. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bullseye.png +0 -0
  130. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/bw.png +0 -0
  131. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/calipher.png +0 -0
  132. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/camera.png +0 -0
  133. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/category.png +0 -0
  134. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/center.png +0 -0
  135. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/change.png +0 -0
  136. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/check_blue.png +0 -0
  137. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/circle.png +0 -0
  138. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/circle_2.png +0 -0
  139. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/circle_black.png +0 -0
  140. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/circle_large.png +0 -0
  141. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/circle_small.png +0 -0
  142. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clahe.png +0 -0
  143. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clean.png +0 -0
  144. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clean_red.png +0 -0
  145. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clf.png +0 -0
  146. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clf_2.png +0 -0
  147. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clip.png +0 -0
  148. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/clock.png +0 -0
  149. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/close.png +0 -0
  150. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/cluster.png +0 -0
  151. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/cluster_2.png +0 -0
  152. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/coco_small.png +0 -0
  153. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/color_wheel.png +0 -0
  154. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat.png +0 -0
  155. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_icons/__init__.py +0 -0
  156. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_icons/horizontal.png +0 -0
  157. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_icons/mixed_mosaic.png +0 -0
  158. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_icons/mosaic.png +0 -0
  159. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_icons/vertical.png +0 -0
  160. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/concat_videos.png +0 -0
  161. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/convert.png +0 -0
  162. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/counter.png +0 -0
  163. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/cpu_small.png +0 -0
  164. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/create.png +0 -0
  165. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/crop.png +0 -0
  166. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/crop_2.png +0 -0
  167. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/crop_red.png +0 -0
  168. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/crossfade.png +0 -0
  169. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/csv_black.png +0 -0
  170. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/csv_grey.png +0 -0
  171. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/curve_black.png +0 -0
  172. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/danger.png +0 -0
  173. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dash_simba.css +0 -0
  174. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/data_table.png +0 -0
  175. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/decision_tree_blue.png +0 -0
  176. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/decision_tree_purple.png +0 -0
  177. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/decision_tree_small.png +0 -0
  178. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/delete_large_orange.png +0 -0
  179. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/delete_large_red.png +0 -0
  180. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dependency.png +0 -0
  181. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/details.png +0 -0
  182. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/developer.png +0 -0
  183. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dice_green.png +0 -0
  184. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dimensionality_reduction.png +0 -0
  185. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/direction.png +0 -0
  186. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/direction_2.png +0 -0
  187. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/direction_3.png +0 -0
  188. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/display_large.png +0 -0
  189. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/distance.png +0 -0
  190. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/distance_red.png +0 -0
  191. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dlc_1.png +0 -0
  192. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dlc_2.png +0 -0
  193. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/documentation.png +0 -0
  194. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/documentation_large.png +0 -0
  195. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/download.png +0 -0
  196. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/draw.png +0 -0
  197. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/dumbbell.png +0 -0
  198. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/duplicate.png +0 -0
  199. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/duplicate_2_large.png +0 -0
  200. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/duplicate_large.png +0 -0
  201. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/duplicate_small.png +0 -0
  202. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ear_right.png +0 -0
  203. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ear_small.png +0 -0
  204. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/edit.png +0 -0
  205. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/edit_roi_large.png +0 -0
  206. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/egocentric.png +0 -0
  207. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/equation_small.png +0 -0
  208. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ethovision.png +0 -0
  209. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/exit.png +0 -0
  210. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/eye.png +0 -0
  211. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/factory.png +0 -0
  212. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fast_forward.png +0 -0
  213. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fast_forward_green.png +0 -0
  214. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fast_forward_large.png +0 -0
  215. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fast_forward_large_2.png +0 -0
  216. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fast_reverse.png +0 -0
  217. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fastforward_green_2.png +0 -0
  218. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/feather_green.png +0 -0
  219. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/features.png +0 -0
  220. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ffmpeg.png +0 -0
  221. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/file.png +0 -0
  222. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/file_type.png +0 -0
  223. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fill.png +0 -0
  224. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/filter.png +0 -0
  225. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/finish.png +0 -0
  226. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fire.png +0 -0
  227. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/first.png +0 -0
  228. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/first_frame_blue.png +0 -0
  229. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/first_green.png +0 -0
  230. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/flip_black.png +0 -0
  231. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/flip_green.png +0 -0
  232. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/flip_red.png +0 -0
  233. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/folder.png +0 -0
  234. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/font.png +0 -0
  235. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/font_size.png +0 -0
  236. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/forest.png +0 -0
  237. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/forward.png +0 -0
  238. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/forward_large.png +0 -0
  239. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/four_squares.png +0 -0
  240. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/fps.png +0 -0
  241. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/frames.png +0 -0
  242. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/frames_2.png +0 -0
  243. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gamma.png +0 -0
  244. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gantt_large.png +0 -0
  245. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gantt_small.png +0 -0
  246. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gif.png +0 -0
  247. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/github.png +0 -0
  248. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/github_2.png +0 -0
  249. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gitter.png +0 -0
  250. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gitter_large.png +0 -0
  251. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gpu.png +0 -0
  252. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gpu_2.png +0 -0
  253. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/gpu_3.png +0 -0
  254. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/green_check.png +0 -0
  255. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/green_dice.png +0 -0
  256. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/grey.png +0 -0
  257. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/greyscale.png +0 -0
  258. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/half_circle.png +0 -0
  259. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/half_circle_small.png +0 -0
  260. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/heatmap.png +0 -0
  261. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/height.png +0 -0
  262. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/hexagon.png +0 -0
  263. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/hexagon_small.png +0 -0
  264. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/hierarchy.png +0 -0
  265. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/hierarchy_2.png +0 -0
  266. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/histogram.png +0 -0
  267. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/home.png +0 -0
  268. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/horizontal.png +0 -0
  269. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/id_card.png +0 -0
  270. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/id_card_2.png +0 -0
  271. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/image.png +0 -0
  272. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/import.png +0 -0
  273. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/info.png +0 -0
  274. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/info_large.png +0 -0
  275. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ini.png +0 -0
  276. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/interaction_large.png +0 -0
  277. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/interactive_blue.png +0 -0
  278. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/invert.png +0 -0
  279. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/join_purple.png +0 -0
  280. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/join_red.png +0 -0
  281. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/join_yellow.png +0 -0
  282. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/jpeg.png +0 -0
  283. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/json.png +0 -0
  284. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/jump.png +0 -0
  285. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/label.png +0 -0
  286. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/label_blue.png +0 -0
  287. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/label_large.png +0 -0
  288. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/label_yellow.png +0 -0
  289. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/labelme.png +0 -0
  290. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/labelme_2.png +0 -0
  291. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/labelme_3.png +0 -0
  292. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/last.png +0 -0
  293. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/last_frame_blue.png +0 -0
  294. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/last_red.png +0 -0
  295. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/leaf.png +0 -0
  296. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/left_ear.png +0 -0
  297. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/light_bulb.png +0 -0
  298. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/line.png +0 -0
  299. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/line_chart_blue.png +0 -0
  300. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/line_chart_light_blue.png +0 -0
  301. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/line_chart_red.png +0 -0
  302. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/link.png +0 -0
  303. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/list.png +0 -0
  304. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/load.png +0 -0
  305. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/load_black.png +0 -0
  306. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/load_blue.png +0 -0
  307. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/location.png +0 -0
  308. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/log.png +0 -0
  309. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/magnifying.png +0 -0
  310. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mars.png +0 -0
  311. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/merge.png +0 -0
  312. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/metrics.png +0 -0
  313. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/metrics_blue.png +0 -0
  314. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/metrics_green.png +0 -0
  315. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/minus.png +0 -0
  316. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/minus_blue_2.png +0 -0
  317. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/minus_red.png +0 -0
  318. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/minus_red_2.png +0 -0
  319. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mixing_panel.png +0 -0
  320. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/monitor.png +0 -0
  321. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mouse_head.png +0 -0
  322. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mouse_small.png +0 -0
  323. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mov.png +0 -0
  324. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/move.png +0 -0
  325. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/move_large.png +0 -0
  326. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/mp4.png +0 -0
  327. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/multiple_blue.png +0 -0
  328. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/multiple_green.png +0 -0
  329. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/multiple_yellow.png +0 -0
  330. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/navigation.png +0 -0
  331. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/nose.png +0 -0
  332. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/number_black.png +0 -0
  333. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/obb.png +0 -0
  334. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/one.png +0 -0
  335. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/one_blue.png +0 -0
  336. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/one_to_many.png +0 -0
  337. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/opacity.png +0 -0
  338. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/options_small.png +0 -0
  339. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/original_size.png +0 -0
  340. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/osf.png +0 -0
  341. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/osf_large.png +0 -0
  342. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/outlier.png +0 -0
  343. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/outside.png +0 -0
  344. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/outside_2.png +0 -0
  345. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/overlap_iou.png +0 -0
  346. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/paint.png +0 -0
  347. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/palette_large.png +0 -0
  348. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/palette_small.png +0 -0
  349. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/parquet.png +0 -0
  350. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/path.png +0 -0
  351. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/path_2.png +0 -0
  352. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pct.png +0 -0
  353. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pct_2.png +0 -0
  354. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pdf_large.png +0 -0
  355. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/permutation_blue.png +0 -0
  356. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/photos.png +0 -0
  357. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/play.png +0 -0
  358. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/play_large_green.png +0 -0
  359. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/plot.png +0 -0
  360. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/plus.png +0 -0
  361. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/plus_green.png +0 -0
  362. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/plus_green_2.png +0 -0
  363. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/plus_green_3.png +0 -0
  364. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/png.png +0 -0
  365. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/point.png +0 -0
  366. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/point_right_large.png +0 -0
  367. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pointing_left_large.png +0 -0
  368. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/polygon.png +0 -0
  369. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/polygon_2.png +0 -0
  370. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/polygon_large.png +0 -0
  371. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pose.png +0 -0
  372. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/pose_2.png +0 -0
  373. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/print.png +0 -0
  374. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/probability.png +0 -0
  375. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/progressbar_black.png +0 -0
  376. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/python.png +0 -0
  377. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/question_mark.png +0 -0
  378. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/range_large.png +0 -0
  379. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/readthedocs_logo.png +0 -0
  380. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/recent_files.png +0 -0
  381. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rectangle.png +0 -0
  382. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rectangle_1_large.png +0 -0
  383. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rectangle_2.png +0 -0
  384. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rectangle_red.png +0 -0
  385. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rectangle_small.png +0 -0
  386. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/remove_bg.png +0 -0
  387. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/reorganize.png +0 -0
  388. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/resize.png +0 -0
  389. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/restart.png +0 -0
  390. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/reverse.png +0 -0
  391. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/reverse_blue.png +0 -0
  392. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/reverse_large.png +0 -0
  393. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/reverse_large_red.png +0 -0
  394. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rewind.png +0 -0
  395. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rewind_blue_2.png +0 -0
  396. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rewind_large.png +0 -0
  397. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rewind_red.png +0 -0
  398. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rocket.png +0 -0
  399. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/roi.png +0 -0
  400. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/roi_green.png +0 -0
  401. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rotate.png +0 -0
  402. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/rounding.png +0 -0
  403. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ruler.png +0 -0
  404. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ruler_large.png +0 -0
  405. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/run.png +0 -0
  406. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/sample.png +0 -0
  407. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/save.png +0 -0
  408. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/save_blue.png +0 -0
  409. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/save_green.png +0 -0
  410. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/save_large.png +0 -0
  411. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/save_small.png +0 -0
  412. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/scale_1.png +0 -0
  413. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/scale_2.png +0 -0
  414. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/scale_3.png +0 -0
  415. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/search.png +0 -0
  416. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/segment.png +0 -0
  417. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/seperate_green.png +0 -0
  418. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/settings.png +0 -0
  419. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shade.png +0 -0
  420. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shap.png +0 -0
  421. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shap_2.png +0 -0
  422. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shapes_large.png +0 -0
  423. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shapes_small.png +0 -0
  424. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/shapes_small_2.png +0 -0
  425. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/sigma.png +0 -0
  426. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/simba_logo_2.png +0 -0
  427. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/single_black.png +0 -0
  428. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/single_blue.png +0 -0
  429. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/single_green.png +0 -0
  430. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/size_black.png +0 -0
  431. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/skip.png +0 -0
  432. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/skip_2.png +0 -0
  433. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/skip_forward_large.png +0 -0
  434. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/skip_previous_large.png +0 -0
  435. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/sleap_small.png +0 -0
  436. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/smooth.png +0 -0
  437. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/speedometer.png +0 -0
  438. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/split.png +0 -0
  439. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/split_2.png +0 -0
  440. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/square_black.png +0 -0
  441. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/stack.png +0 -0
  442. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/star.png +0 -0
  443. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/stop.png +0 -0
  444. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/stopwatch.png +0 -0
  445. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/stream.png +0 -0
  446. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/style.png +0 -0
  447. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/subset_blue.png +0 -0
  448. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/superimpose.png +0 -0
  449. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/system.png +0 -0
  450. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/t.png +0 -0
  451. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/table.png +0 -0
  452. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/table_2.png +0 -0
  453. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text.png +0 -0
  454. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text_bg.png +0 -0
  455. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text_black.png +0 -0
  456. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text_color.png +0 -0
  457. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text_color_2.png +0 -0
  458. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/text_spacing.png +0 -0
  459. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/threshold.png +0 -0
  460. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/tick.png +0 -0
  461. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/tick_large.png +0 -0
  462. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/tiff.png +0 -0
  463. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/tile_green.png +0 -0
  464. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/time.png +0 -0
  465. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/timer.png +0 -0
  466. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/timer_2.png +0 -0
  467. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/trash.png +0 -0
  468. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/trash_red.png +0 -0
  469. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/triangle_black.png +0 -0
  470. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/triangle_small.png +0 -0
  471. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/tv_large.png +0 -0
  472. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/two.png +0 -0
  473. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ultralytics_1.png +0 -0
  474. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/ultralytics_2.png +0 -0
  475. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/verbose.png +0 -0
  476. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/vertical.png +0 -0
  477. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/video.png +0 -0
  478. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/video_2.png +0 -0
  479. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/video_file_large.png +0 -0
  480. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/video_large.png +0 -0
  481. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/visualize.png +0 -0
  482. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/visualize_blue.png +0 -0
  483. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/visualize_green.png +0 -0
  484. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/walk.png +0 -0
  485. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/wand_blue.png +0 -0
  486. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/warning.png +0 -0
  487. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/watermark_green.png +0 -0
  488. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/webm.png +0 -0
  489. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/webp.png +0 -0
  490. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/weight.png +0 -0
  491. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/weights.png +0 -0
  492. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/width.png +0 -0
  493. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/x.png +0 -0
  494. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/y.png +0 -0
  495. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/zero.png +0 -0
  496. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/zoom_in.png +0 -0
  497. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/icons/zoom_out.png +0 -0
  498. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/__init__.py +0 -0
  499. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/about_me.png +0 -0
  500. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/bg.png +0 -0
  501. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/bg_2.png +0 -0
  502. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/bg_2024.png +0 -0
  503. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/landing.mp4 +0 -0
  504. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/simon_n.webp +0 -0
  505. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/splash.mp4 +0 -0
  506. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/splash.pptx +0 -0
  507. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/splash_2024.mp4 +0 -0
  508. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/img/~$splash.pptx +0 -0
  509. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/__init__.py +0 -0
  510. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/critical_values_05.pickle +0 -0
  511. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/feature_extraction_headers.csv +0 -0
  512. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/features.csv +0 -0
  513. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/model_names.parquet +0 -0
  514. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/tooptips.json +0 -0
  515. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/unsupervised_example_x.csv +0 -0
  516. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/yolo.yaml +0 -0
  517. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/lookups/yolo_schematics/yolo_7bps.csv +0 -0
  518. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/UbuntuMono-Regular.ttf +0 -0
  519. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/__init__.py +0 -0
  520. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/animal_distances.jpg +0 -0
  521. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/baseline_scale.jpg +0 -0
  522. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/color_bar.jpg +0 -0
  523. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/down_arrow.jpg +0 -0
  524. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/feature_categories/__init__.py +0 -0
  525. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/feature_categories/shap_feature_categories.csv +0 -0
  526. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/intruder_movement.jpg +0 -0
  527. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/intruder_shape.jpg +0 -0
  528. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/resident_intruder_movement.jpg +0 -0
  529. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/resident_intruder_shape.jpg +0 -0
  530. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/resident_movement.jpg +0 -0
  531. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/resident_shape.jpg +0 -0
  532. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/side_scale.jpg +0 -0
  533. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/side_scale_5.jpg +0 -0
  534. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/shap/ubuntu.regular.ttf +0 -0
  535. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/stl/__init__.py +0 -0
  536. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/stl/grid_floor.stl +0 -0
  537. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/stl/operant_lever.stl +0 -0
  538. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/stl/operant_tray.stl +0 -0
  539. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/stl/operant_walls.stl +0 -0
  540. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/tracker_yml/__init__.py +0 -0
  541. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/tracker_yml/botsort.yml +0 -0
  542. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/tracker_yml/bytetrack.yml +0 -0
  543. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/tracker_yml/tow_bytetrack.yaml +0 -0
  544. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/unsupervised/__init__.py +0 -0
  545. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/unsupervised/features.csv +0 -0
  546. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/assets/unsupervised/model_names.parquet +0 -0
  547. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/__init__.py +0 -0
  548. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/agg_boundary_stats.py +0 -0
  549. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/boundary_menus.py +0 -0
  550. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/boundary_statistics.py +0 -0
  551. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/find_boundaries.py +0 -0
  552. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/visualize_boundaries.py +0 -0
  553. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/bounding_box_tools/yolo/__init__.py +0 -0
  554. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/__init__.py +0 -0
  555. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_analyzer.py +0 -0
  556. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_clf_statistics.py +0 -0
  557. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_main_popup.py +0 -0
  558. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_movement_statistics.py +0 -0
  559. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_tools.py +0 -0
  560. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/cue_light_tools/cue_light_visualizer.py +0 -0
  561. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/dash_app/SimBA_dash_app.py +0 -0
  562. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/dash_app/__init__.py +0 -0
  563. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/dash_app/dash_app.py +0 -0
  564. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/dash_app/run_dash_tkinter.py +0 -0
  565. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/.DS_Store +0 -0
  566. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/__init__.py +0 -0
  567. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/advanced_interpolator.py +0 -0
  568. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/advanced_smoothing.py +0 -0
  569. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/agg_clf_calculator.py +0 -0
  570. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/agg_clf_counter_mp.py +0 -0
  571. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/boolean_conditional_calculator.py +0 -0
  572. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/circling_detector.py +0 -0
  573. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/__init__.py +0 -0
  574. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/circular_statistics.py +0 -0
  575. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/create_shap_log.py +0 -0
  576. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/data.py +0 -0
  577. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/geometry.py +0 -0
  578. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cuda/utils.py +0 -0
  579. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cue_light_analyzer.py +0 -0
  580. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cue_light_clf_statistics.py +0 -0
  581. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/cue_light_movement_statistics.py +0 -0
  582. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/directing_animal_to_bodypart.py +0 -0
  583. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/directing_other_animals_calculator.py +0 -0
  584. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/find_animal_blob_location.py +0 -0
  585. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/freezing_detector.py +0 -0
  586. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/fsttc_calculator.py +0 -0
  587. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/gibbs_sampler.py +0 -0
  588. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/interpolate.py +0 -0
  589. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/interpolate_pose.py +0 -0
  590. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/interpolation_smoothing.py +0 -0
  591. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/kleinberg_calculator.py +0 -0
  592. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/light_dark_box_analyzer.py +0 -0
  593. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/movement_calculator.py +0 -0
  594. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/mutual_exclusivity_corrector.py +0 -0
  595. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/pup_retrieval_calculator.py +0 -0
  596. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/pybursts_calculator.py +0 -0
  597. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/severity_bout_based_calculator.py +0 -0
  598. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/severity_calculator.py +0 -0
  599. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/severity_frame_based_calculator.py +0 -0
  600. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/smoothing.py +0 -0
  601. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/spontaneous_alternation_calculator.py +0 -0
  602. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/timebins_clf_calculator.py +0 -0
  603. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/timebins_movement_calculator.py +0 -0
  604. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/timebins_movement_calculator_mp.py +0 -0
  605. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/data_processors/yolo_track_cleaner.py +0 -0
  606. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/.DS_Store +0 -0
  607. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/__init__.py +0 -0
  608. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/aggression_feature_extractor.py +0 -0
  609. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/amber_feature_extractor.py +0 -0
  610. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/boundary_rearing_analyzer.py +0 -0
  611. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/cave_fish_featurizer.py +0 -0
  612. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_14bp.py +0 -0
  613. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_16bp.py +0 -0
  614. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_4bp.py +0 -0
  615. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_7bp.py +0 -0
  616. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_8bp.py +0 -0
  617. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_8bps_2_animals.py +0 -0
  618. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_9bp.py +0 -0
  619. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/feature_extractor_user_defined.py +0 -0
  620. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/gerbil_featurizer.py +0 -0
  621. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/add_probability_cnt_features.py +0 -0
  622. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/convex_hull_3_scratch_3.py +0 -0
  623. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/convex_hull_scratch_1.py +0 -0
  624. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/convex_hull_scratch_2.py +0 -0
  625. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/count_values_in_range.py +0 -0
  626. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/doctests.py +0 -0
  627. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/egocentrical_aligner.py +0 -0
  628. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/fish_feature_extractor_2022.py +0 -0
  629. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_2.py +0 -0
  630. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_3.py +0 -0
  631. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_4.py +0 -0
  632. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/fish_feature_extractor_2023_version_5.py +0 -0
  633. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/graph_3d_plotter.py +0 -0
  634. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/graph_creator.py +0 -0
  635. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/make_splash.py +0 -0
  636. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/mutual_exclusive.py +0 -0
  637. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/peaks.py +0 -0
  638. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/read_in_mp.py +0 -0
  639. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/termite_rois.csv +0 -0
  640. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/time_stamp_calculator.py +0 -0
  641. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/video_color.py +0 -0
  642. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/video_rotator.py +0 -0
  643. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/misc/video_rotator_mp.py +0 -0
  644. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/mitra_feature_extractor.py +0 -0
  645. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/perimeter_jit.py +0 -0
  646. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/rat_social_featurizer.py +0 -0
  647. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/feature_extractors/riptortus_featurizer.py +0 -0
  648. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/__init__.py +0 -0
  649. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/extract_labelled_frames.py +0 -0
  650. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/extract_labelling_meta.py +0 -0
  651. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/labelling_advanced_interface.py +0 -0
  652. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/labelling_interface.py +0 -0
  653. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/mitra_style_appender.py +0 -0
  654. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/play_annotation_video.py +0 -0
  655. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/single_clf_appender_excel.py +0 -0
  656. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/labelling/targeted_annotations_clips.py +0 -0
  657. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/.DS_Store +0 -0
  658. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/__init__.py +0 -0
  659. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/abstract_classes.py +0 -0
  660. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/annotator_mixin.py +0 -0
  661. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/circular_statistics.py +0 -0
  662. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/config_reader.py +0 -0
  663. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/feature_extraction_mixin.py +0 -0
  664. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/feature_extraction_supplement_mixin.py +0 -0
  665. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/network_mixin.py +0 -0
  666. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/plotting_mixin.py +0 -0
  667. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/pop_up_mixin.py +0 -0
  668. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/pose_importer_mixin.py +0 -0
  669. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/mixins/unsupervised_mixin.py +0 -0
  670. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/__init__.py +0 -0
  671. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/grid_search_multiclass_rf.py +0 -0
  672. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/grid_search_rf.py +0 -0
  673. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/inference_multiclass_batch.py +0 -0
  674. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/inference_validation.py +0 -0
  675. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/ordinal_clf.py +0 -0
  676. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/regression/__init__.py +0 -0
  677. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/regression/metrics.py +0 -0
  678. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/regression/model.py +0 -0
  679. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/sam_inference.py +0 -0
  680. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/train_multiclass_rf.py +0 -0
  681. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/train_multilabel_rf.py +0 -0
  682. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/train_rf.py +0 -0
  683. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/yolo_fit.py +0 -0
  684. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/yolo_inference.py +0 -0
  685. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/yolo_pose_inference.py +0 -0
  686. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/model/yolo_pose_track_inference.py +0 -0
  687. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/__init__.py +0 -0
  688. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_location.py +0 -0
  689. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_location_advanced.py +0 -0
  690. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_location_mp.py +0 -0
  691. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_movement.py +0 -0
  692. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_movement_advanced.py +0 -0
  693. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/outlier_corrector_movement_mp.py +0 -0
  694. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/outlier_tools/skip_outlier_correction.py +0 -0
  695. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/.DS_Store +0 -0
  696. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/ROI_feature_visualizer.py +0 -0
  697. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/ROI_feature_visualizer_mp.py +0 -0
  698. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/__init__.py +0 -0
  699. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/blob_plotter.py +0 -0
  700. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/blob_visualizer.py +0 -0
  701. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/circular_feature_overlay_plotter.py +0 -0
  702. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/circular_plotting.py +0 -0
  703. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/clf_validator.py +0 -0
  704. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/clf_validator_mp.py +0 -0
  705. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/cue_light_visualizer.py +0 -0
  706. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/data_plotter.py +0 -0
  707. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/directing_animals_to_bodypart_visualizer.py +0 -0
  708. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/directing_animals_visualizer.py +0 -0
  709. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/directing_animals_visualizer_mp.py +0 -0
  710. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/distance_plotter.py +0 -0
  711. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/distance_plotter_mp.py +0 -0
  712. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/ez_path_plot.py +0 -0
  713. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/frame_mergerer_ffmpeg.py +0 -0
  714. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/gantt_creator.py +0 -0
  715. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/gantt_creator_mp.py +0 -0
  716. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/gantt_plotly.py +0 -0
  717. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/geometry_plotter.py +0 -0
  718. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/heat_mapper_clf.py +0 -0
  719. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/heat_mapper_location.py +0 -0
  720. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/heat_mapper_location_mp.py +0 -0
  721. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/interactive_probability_grapher.py +0 -0
  722. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/light_dark_box_plotter.py +0 -0
  723. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/path_plotter.py +0 -0
  724. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/path_plotter_mp.py +0 -0
  725. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/plot_clf_results.py +0 -0
  726. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/plot_clf_results_mp.py +0 -0
  727. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/pose_plotter.py +0 -0
  728. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/pose_plotter_mp.py +0 -0
  729. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/probability_plot_creator.py +0 -0
  730. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/probability_plot_creator_mp.py +0 -0
  731. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/roi_plotter.py +0 -0
  732. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/roi_plotter_mp.py +0 -0
  733. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/sam_plotter.py +0 -0
  734. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/shap_agg_stats_visualizer.py +0 -0
  735. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/single_run_model_validation_video.py +0 -0
  736. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/single_run_model_validation_video_mp.py +0 -0
  737. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/spontaneous_alternation_plotter.py +0 -0
  738. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/tools/__init__.py +0 -0
  739. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/tools/tkinter_tools.py +0 -0
  740. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/yolo_pose_track_visualizer.py +0 -0
  741. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/yolo_pose_visualizer.py +0 -0
  742. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/yolo_seg_visualizer.py +0 -0
  743. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/plotting/yolo_visualize.py +0 -0
  744. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/.DS_Store +0 -0
  745. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/__init__.py +0 -0
  746. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/bp_names/__init__.py +0 -0
  747. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/bp_names/bp_names.csv +0 -0
  748. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/configuration_names/__init__.py +0 -0
  749. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/configuration_names/pose_config_names.csv +0 -0
  750. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/no_animals/__init__.py +0 -0
  751. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/no_animals/no_animals.csv +0 -0
  752. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/1.png +0 -0
  753. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/10.png +0 -0
  754. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/11.png +0 -0
  755. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/12.png +0 -0
  756. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/13.png +0 -0
  757. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/14.png +0 -0
  758. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/15.png +0 -0
  759. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/16.png +0 -0
  760. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/2.png +0 -0
  761. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/3.png +0 -0
  762. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/4.png +0 -0
  763. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/5.png +0 -0
  764. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/6.png +0 -0
  765. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/7.png +0 -0
  766. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/8.png +0 -0
  767. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_configurations/schematics/9.png +0 -0
  768. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/.DS_Store +0 -0
  769. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/__init__.py +0 -0
  770. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/dlc_importer_csv.py +0 -0
  771. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/facemap_h5_importer.py +0 -0
  772. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/import_mars.py +0 -0
  773. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/madlc_importer.py +0 -0
  774. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/misc/__init__.py +0 -0
  775. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/misc/apt_trk_importer.py +0 -0
  776. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/read_DANNCE_mat.py +0 -0
  777. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/simba_yolo_importer.py +0 -0
  778. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/sleap_csv_importer.py +0 -0
  779. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/sleap_h5_importer.py +0 -0
  780. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/sleap_slp_importer.py +0 -0
  781. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/superanimal_import.py +0 -0
  782. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_importers/trk_importer.py +0 -0
  783. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_processors/__init__.py +0 -0
  784. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_processors/pose_reset.py +0 -0
  785. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_processors/remove_keypoints.py +0 -0
  786. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_processors/reorganize_keypoint.py +0 -0
  787. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/pose_processors/reverse_pose.py +0 -0
  788. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/requirements.txt +0 -0
  789. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/.DS_Store +0 -0
  790. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/ROI_analyzer.py +0 -0
  791. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/ROI_directing_analyzer.py +0 -0
  792. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/ROI_feature_analyzer.py +0 -0
  793. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/ROI_size_standardizer.py +0 -0
  794. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/ROI_time_bin_calculator.py +0 -0
  795. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/__init__.py +0 -0
  796. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/import_roi_csvs.py +0 -0
  797. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/interactive_modifier_ui.py +0 -0
  798. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/interactive_roi_bufferer.py +0 -0
  799. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/interactive_roi_modifier_tkinter.py +0 -0
  800. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_aggregate_statistics_analyzer.py +0 -0
  801. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_clf_calculator.py +0 -0
  802. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_ruler.py +0 -0
  803. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_selector_circle_tkinter.py +0 -0
  804. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_selector_polygon_tkinter.py +0 -0
  805. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_selector_rectangle_tkinter.py +0 -0
  806. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_time_bins_analyzer.py +0 -0
  807. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_ui.py +0 -0
  808. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_ui_mixin.py +0 -0
  809. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/roi_tools/roi_utils.py +0 -0
  810. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/.DS_Store +0 -0
  811. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/BENTO_appender.py +0 -0
  812. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/BORIS_appender.py +0 -0
  813. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/__init__.py +0 -0
  814. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/boris_source_cleaner.py +0 -0
  815. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/converters.py +0 -0
  816. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/deepethogram_importer.py +0 -0
  817. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/ethovision_import.py +0 -0
  818. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/observer_importer.py +0 -0
  819. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/shah_appender.py +0 -0
  820. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/solomon_importer.py +0 -0
  821. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/third_party_appender.py +0 -0
  822. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/tools.py +0 -0
  823. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/__init__.py +0 -0
  824. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/coco_keypoints_to_yolo_seg.py +0 -0
  825. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/dlc_ma_h5_to_yolo.py +0 -0
  826. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/dlc_multi_to_yolo.py +0 -0
  827. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/dlc_single_to_multi_format_converter.py +0 -0
  828. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/dlc_to_labelme.py +0 -0
  829. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/dlc_to_yolo.py +0 -0
  830. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/labelme_to_df.py +0 -0
  831. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/labelme_to_dlc.py +0 -0
  832. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/labelme_to_yolo.py +0 -0
  833. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/labelme_to_yolo_keypoints.py +0 -0
  834. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/labelme_to_yolo_seg.py +0 -0
  835. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/simba_roi_to_yolo.py +0 -0
  836. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/simba_to_yolo.py +0 -0
  837. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/simba_to_yolo_seg.py +0 -0
  838. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/sleap_csv_to_yolo.py +0 -0
  839. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/sleap_h5_to_yolo.py +0 -0
  840. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/sleap_to_yolo.py +0 -0
  841. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/utils.py +0 -0
  842. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/third_party_label_appenders/transform/yolo_to_imgs.py +0 -0
  843. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/.DS_Store +0 -0
  844. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/__init__.py +0 -0
  845. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/blob_quick_check_interface.py +0 -0
  846. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/blob_tracker_ui.py +0 -0
  847. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/create_project_ui.py +0 -0
  848. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/get_tree_view.py +0 -0
  849. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/import_pose_frame.py +0 -0
  850. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/import_videos_frame.py +0 -0
  851. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/machine_model_settings_ui.py +0 -0
  852. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/ml_settings_frm.py +0 -0
  853. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/.DS_Store +0 -0
  854. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/__init__.py +0 -0
  855. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/about_simba_pop_up.py +0 -0
  856. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/animal_directing_other_animals_pop_up.py +0 -0
  857. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/append_roi_features_animals_pop_up.py +0 -0
  858. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/append_roi_features_bodypart_pop_up.py +0 -0
  859. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/archive_files_pop_up.py +0 -0
  860. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/batch_preprocess_pop_up.py +0 -0
  861. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/blob_visualizer_pop_up.py +0 -0
  862. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/boolean_conditional_slicer_pup_up.py +0 -0
  863. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/change_speed_popup.py +0 -0
  864. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/check_videos_seekable_pop_up.py +0 -0
  865. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_add_remove_print_pop_up.py +0 -0
  866. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_annotation_counts_pop_up.py +0 -0
  867. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_by_roi_pop_up.py +0 -0
  868. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_by_timebins_pop_up.py +0 -0
  869. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_descriptive_statistics_pop_up.py +0 -0
  870. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_plot_pop_up.py +0 -0
  871. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_probability_plot_pop_up.py +0 -0
  872. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/clf_validation_plot_pop_up.py +0 -0
  873. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/coco_keypoints_to_yolo_popup.py +0 -0
  874. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/create_user_defined_pose_configuration_pop_up.py +0 -0
  875. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/csv_2_parquet_pop_up.py +0 -0
  876. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/cue_light_clf_analyzer_popup.py +0 -0
  877. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/cue_light_data_analyzer_popup.py +0 -0
  878. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/cue_light_main_popup.py +0 -0
  879. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/cue_light_movement_analyzer_popup.py +0 -0
  880. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/cue_light_visualizer_popup.py +0 -0
  881. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/data_plot_pop_up.py +0 -0
  882. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/delete_all_rois_pop_up.py +0 -0
  883. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/directing_animal_to_bodypart_plot_pop_up.py +0 -0
  884. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/directing_other_animals_plot_pop_up.py +0 -0
  885. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/direction_animal_to_bodypart_settings_pop_up.py +0 -0
  886. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/distance_plot_pop_up.py +0 -0
  887. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/dlc_annotations_to_labelme_popup.py +0 -0
  888. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/dlc_h5_inference_to_yolo_popup.py +0 -0
  889. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/dlc_to_labelme_popup.py +0 -0
  890. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/dlc_to_yolo_keypoints_popup.py +0 -0
  891. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/duplicate_rois_by_source_target_popup.py +0 -0
  892. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/egocentric_alignment_pop_up.py +0 -0
  893. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/extract_annotation_frames_pop_up.py +0 -0
  894. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/fsttc_pop_up.py +0 -0
  895. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/gantt_pop_up.py +0 -0
  896. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/heatmap_clf_pop_up.py +0 -0
  897. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/heatmap_location_pop_up.py +0 -0
  898. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/helpers.py +0 -0
  899. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/import_roi_csv_popup.py +0 -0
  900. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/initialize_blob_tracking_pop_up.py +0 -0
  901. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/interpolate_pop_up.py +0 -0
  902. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/kleinberg_pop_up.py +0 -0
  903. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/labelme_bbox_to_yolo_bbox_popup.py +0 -0
  904. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/labelme_dir_to_csv_popup.py +0 -0
  905. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/labelme_to_df_popup.py +0 -0
  906. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/labelme_to_imgs_popup.py +0 -0
  907. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/make_path_plot_pop_up.py +0 -0
  908. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/merge_coco_keypoint_files_pop_up.py +0 -0
  909. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/min_max_draw_size_popup.py +0 -0
  910. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/movement_analysis_pop_up.py +0 -0
  911. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/movement_analysis_time_bins_pop_up.py +0 -0
  912. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/multiple_videos_to_frames_popup.py +0 -0
  913. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/mutual_exclusivity_pop_up.py +0 -0
  914. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/outlier_settings_pop_up.py +0 -0
  915. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/path_plot_pop_up.py +0 -0
  916. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/pose_bp_drop_pop_up.py +0 -0
  917. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/pose_reorganizer_pop_up.py +0 -0
  918. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/print_video_meta_popup.py +0 -0
  919. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/pup_retrieval_pop_up.py +0 -0
  920. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/quick_path_plot_pop_up.py +0 -0
  921. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/remove_roi_features_pop_up.py +0 -0
  922. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_aggregate_stats_popup.py +0 -0
  923. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_analysis_pop_up.py +0 -0
  924. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_analysis_time_bins_pop_up.py +0 -0
  925. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_features_plot_pop_up.py +0 -0
  926. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_size_standardizer_popup.py +0 -0
  927. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_tracking_plot_pop_up.py +0 -0
  928. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/roi_video_table_pop_up.py +0 -0
  929. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/run_machine_models_popup.py +0 -0
  930. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/select_video_for_labelling_popup.py +0 -0
  931. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/select_video_for_pseudo_labelling_popup.py +0 -0
  932. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/severity_analysis_pop_up.py +0 -0
  933. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/simba_rois_to_yolo_pop_up.py +0 -0
  934. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/simba_to_yolo_keypoints_popup.py +0 -0
  935. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/single_video_to_frames_popup.py +0 -0
  936. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/sleap_annotations_to_yolo_popup.py +0 -0
  937. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/sleap_csv_predictions_to_yolo_popup.py +0 -0
  938. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/sleap_h5_inference_to_yolo_popup.py +0 -0
  939. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/smoothing_popup.py +0 -0
  940. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/splash_popup.py +0 -0
  941. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/spontaneous_alternation_pop_up.py +0 -0
  942. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/subset_feature_extractor_pop_up.py +0 -0
  943. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/targeted_annotation_clips_pop_up.py +0 -0
  944. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/third_party_annotator_appender_pop_up.py +0 -0
  945. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/validation_plot_pop_up.py +0 -0
  946. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/video_processing_pop_up.py +0 -0
  947. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/visualize_pose_in_dir_pop_up.py +0 -0
  948. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/yolo_inference_popup.py +0 -0
  949. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/yolo_plot_results.py +0 -0
  950. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/pop_ups/yolo_pose_train_popup.py +0 -0
  951. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/px_to_mm_ui.py +0 -0
  952. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/tkinter_functions.py +0 -0
  953. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/user_defined_pose_creator.py +0 -0
  954. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/ui/video_info_ui.py +0 -0
  955. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/.DS_Store +0 -0
  956. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/__init__.py +0 -0
  957. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/bout_aggregator.py +0 -0
  958. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/cluster_frequentist_calculator.py +0 -0
  959. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/cluster_validation_calculator.py +0 -0
  960. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/cluster_video_visualizer.py +0 -0
  961. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/cluster_xai_calculator.py +0 -0
  962. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/clusterer_comparison_calculator.py +0 -0
  963. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/data_extractor.py +0 -0
  964. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/data_map.yaml +0 -0
  965. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/dataset_creator.py +0 -0
  966. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/dbcv_calculator.py +0 -0
  967. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/embedding_correlation_calculator.py +0 -0
  968. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/enums.py +0 -0
  969. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/grid_search_visualizers.py +0 -0
  970. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/hdbscan_clusterer.py +0 -0
  971. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/outlier_detector.py +0 -0
  972. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/.DS_Store +0 -0
  973. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/cluster_frequentist_stats_popup.py +0 -0
  974. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/cluster_validation_pop_up.py +0 -0
  975. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/cluster_videos_popup.py +0 -0
  976. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/cluster_xai_popup.py +0 -0
  977. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/clusterer_comparison_popup.py +0 -0
  978. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/data_extractor_popup.py +0 -0
  979. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/embedding_correlations_popup.py +0 -0
  980. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/fit_cluster_popup.py +0 -0
  981. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/fit_dim_reduction_popup.py +0 -0
  982. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/grid_search_visualizer_popup.py +0 -0
  983. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/print_embedding_info_popup.py +0 -0
  984. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/transform_cluster_popup.py +0 -0
  985. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/pop_ups/transform_dim_reduction_popup.py +0 -0
  986. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/tsne.py +0 -0
  987. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/umap_embedder.py +0 -0
  988. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/unsupervised/unsupervised_main.py +0 -0
  989. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/.DS_Store +0 -0
  990. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/__init__.py +0 -0
  991. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/checks.py +0 -0
  992. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/cli/__init__.py +0 -0
  993. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/cli/cli_tools.py +0 -0
  994. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/config_creator.py +0 -0
  995. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/enums.py +0 -0
  996. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/errors.py +0 -0
  997. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/lookups.py +0 -0
  998. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/printing.py +0 -0
  999. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/utils/warnings.py +0 -0
  1000. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/.DS_Store +0 -0
  1001. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/__init__.py +0 -0
  1002. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/async_frame_reader.py +0 -0
  1003. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/batch_process_create_ffmpeg_commands.py +0 -0
  1004. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/batch_process_menus.py +0 -0
  1005. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/brightness_contrast_ui.py +0 -0
  1006. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/calculate_px_dist.py +0 -0
  1007. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/extract_frames.py +0 -0
  1008. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/extract_seqframes.py +0 -0
  1009. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/roi_selector.py +0 -0
  1010. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/roi_selector_circle.py +0 -0
  1011. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba/video_processors/roi_selector_polygon.py +0 -0
  1012. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/SOURCES.txt +0 -0
  1013. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/dependency_links.txt +0 -0
  1014. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/entry_points.txt +0 -0
  1015. {simba_uw_tf_dev-4.6.6 → simba_uw_tf_dev-4.6.7}/simba_uw_tf_dev.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: simba_uw_tf_dev
3
- Version: 4.6.6
3
+ Version: 4.6.7
4
4
  Summary: Toolkit for computer classification and analysis of behaviors in experimental animals
5
5
  Home-page: https://github.com/sgoldenlab/simba
6
6
  Author: Simon Nilsson, Jia Jie Choong, Sophia Hwang
@@ -1,6 +1,7 @@
1
1
  #--extra-index-url https://pypi.nvidia.com
2
- cupy-cuda12x==13.3.0
2
+ cupy-cuda12x>=13.6.0
3
3
  shap==0.46.1.dev78
4
4
  cuml-cu12==24.12.0
5
5
  torch==2.5.0
6
- ultralytics==8.3.156
6
+ ultralytics==8.3.156
7
+ nvidia-cuda-runtime-cu12
@@ -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.6.6",
32
+ version="4.6.7",
33
33
  author="Simon Nilsson, Jia Jie Choong, Sophia Hwang",
34
34
  author_email="sronilsson@gmail.com",
35
35
  description="Toolkit for computer classification and analysis of behaviors in experimental animals",
@@ -51,7 +51,7 @@ class BlobLocationComputer(object):
51
51
  :param Optional[bool] multiprocessing: If True, video background subtraction will be done using multiprocessing. Default is False.
52
52
 
53
53
  :example:
54
- >>> x = BlobLocationComputer(data_path=r"C:\troubleshooting\RAT_NOR\project_folder\videos\2022-06-20_NOB_DOT_4_downsampled_bg_subtracted.mp4", multiprocessing=True, gpu=True, batch_size=2000, save_dir=r"C:\blob_positions")
54
+ >>> x = BlobLocationComputer(data_path=r"C:/troubleshooting/RAT_NOR/project_folder/videos/2022-06-20_NOB_DOT_4_downsampled_bg_subtracted.mp4", multiprocessing=True, gpu=True, batch_size=2000, save_dir=r"C:/blob_positions")
55
55
  >>> x.run()
56
56
  """
57
57
  def __init__(self,
@@ -331,10 +331,12 @@ def _digital(data, results):
331
331
 
332
332
  def img_stack_brightness(x: np.ndarray,
333
333
  method: Optional[Literal['photometric', 'digital']] = 'digital',
334
- ignore_black: Optional[bool] = True) -> np.ndarray:
334
+ ignore_black: bool = True,
335
+ verbose: bool = False) -> np.ndarray:
335
336
  """
336
337
  Calculate the average brightness of a stack of images using a specified method.
337
338
 
339
+ Useful for analyzing light cues or brightness changes over time. For example, compute brightness in images containing a light cue ROI, then perform clustering (e.g., k-means) on brightness values to identify frames when the light cue is on vs off.
338
340
 
339
341
  - **Photometric Method**: The brightness is calculated using the formula:
340
342
 
@@ -346,7 +348,7 @@ def img_stack_brightness(x: np.ndarray,
346
348
  .. math::
347
349
  \text{brightness} = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B
348
350
 
349
- .. selalso::
351
+ .. seealso::
350
352
  For CPU function see :func:`~simba.mixins.image_mixin.ImageMixin.brightness_intensity`.
351
353
 
352
354
  :param np.ndarray x: A 4D array of images with dimensions (N, H, W, C), where N is the number of images, H and W are the height and width, and C is the number of channels (RGB).
@@ -363,7 +365,7 @@ def img_stack_brightness(x: np.ndarray,
363
365
 
364
366
  check_instance(source=img_stack_brightness.__name__, instance=x, accepted_types=(np.ndarray,))
365
367
  check_if_valid_img(data=x[0], source=img_stack_brightness.__name__)
366
- x = np.ascontiguousarray(x).astype(np.uint8)
368
+ x, timer = np.ascontiguousarray(x).astype(np.uint8), SimbaTimer(start=True)
367
369
  if x.ndim == 4:
368
370
  grid_x = (x.shape[1] + 16 - 1) // 16
369
371
  grid_y = (x.shape[2] + 16 - 1) // 16
@@ -383,7 +385,8 @@ def img_stack_brightness(x: np.ndarray,
383
385
  else:
384
386
  results = deepcopy(x)
385
387
  results = np.mean(results, axis=(1, 2))
386
-
388
+ timer.stop_timer()
389
+ if verbose: print(f'Brightness computed in {results.shape[0]} images (elapsed time {timer.elapsed_time_str}s)')
387
390
  return results
388
391
 
389
392
 
@@ -1602,10 +1605,11 @@ def pose_plotter(data: Union[str, os.PathLike, np.ndarray],
1602
1605
  # SAVE_PATH = "/mnt/c/troubleshooting/mitra/project_folder/frames/output/pose_ex/test.mp4"
1603
1606
  #
1604
1607
  #
1605
- DATA_PATH = "/mnt/d/troubleshooting/mitra/project_folder/csv/outlier_corrected_movement_location/592_MA147_CNO1_0515.csv"
1606
- VIDEO_PATH = "/mnt/d/troubleshooting/mitra/project_folder/videos/592_MA147_CNO1_0515.mp4"
1607
- SAVE_PATH = "/mnt/d/troubleshooting/mitra/project_folder/videos/test_cuda.mp4"
1608
- pose_plotter(data=DATA_PATH, video_path=VIDEO_PATH, save_path=SAVE_PATH, circle_size=10, batch_size=100)
1608
+ if __name__ == "__main__":
1609
+ DATA_PATH = "/mnt/d/troubleshooting/mitra/project_folder/csv/outlier_corrected_movement_location/592_MA147_CNO1_0515.csv"
1610
+ VIDEO_PATH = "/mnt/d/troubleshooting/mitra/project_folder/videos/592_MA147_CNO1_0515.mp4"
1611
+ SAVE_PATH = "/mnt/d/troubleshooting/mitra/project_folder/videos/test_cuda.mp4"
1612
+ pose_plotter(data=DATA_PATH, video_path=VIDEO_PATH, save_path=SAVE_PATH, circle_size=10, batch_size=100)
1609
1613
 
1610
1614
 
1611
1615
 
@@ -3,7 +3,7 @@ __author__ = "Simon Nilsson; sronilsson@gmail.com"
3
3
 
4
4
  import math
5
5
  from itertools import combinations
6
- from typing import Optional, Tuple
6
+ from typing import Optional, Tuple, Union
7
7
 
8
8
  from simba.utils.printing import SimbaTimer
9
9
 
@@ -19,16 +19,20 @@ from scipy.spatial import ConvexHull
19
19
  from simba.utils.read_write import get_unique_values_in_iterable, read_df
20
20
  from simba.utils.warnings import GPUToolsWarning
21
21
 
22
+
22
23
  try:
23
24
  import cupy as cp
24
- from cuml.metrics import kl_divergence as kl_divergence_gpu
25
- #from cuml.metrics.cluster.adjusted_rand_index import adjusted_rand_score
26
- #from cuml.metrics.cluster.silhouette_score import cython_silhouette_score
27
25
  from cupyx.scipy.spatial.distance import cdist
28
26
  except Exception as e:
29
27
  GPUToolsWarning(msg=f'GPU tools not detected, reverting to CPU: {e.args}')
30
28
  import numpy as cp
31
29
  from scipy.spatial.distance import cdist
30
+ try:
31
+ from cuml.metrics import kl_divergence as kl_divergence_gpu
32
+ from cuml.metrics.cluster.adjusted_rand_index import adjusted_rand_score
33
+ from cuml.metrics.cluster.silhouette_score import cython_silhouette_score
34
+ except Exception as e:
35
+ GPUToolsWarning(msg=f'GPU tools not detected, reverting to CPU: {e.args}')
32
36
  from scipy.stats import entropy as kl_divergence_gpu
33
37
  from sklearn.metrics import adjusted_rand_score
34
38
  from sklearn.metrics import silhouette_score as cython_silhouette_score
@@ -41,7 +45,7 @@ except:
41
45
  from simba.data_processors.cuda.utils import _cuda_are_rows_equal
42
46
  from simba.mixins.statistics_mixin import Statistics
43
47
  from simba.utils.checks import (check_int, check_str, check_valid_array,
44
- check_valid_tuple)
48
+ check_valid_tuple, check_float)
45
49
  from simba.utils.data import bucket_data
46
50
  from simba.utils.enums import Formats
47
51
 
@@ -381,9 +385,10 @@ def sliding_min(x: np.ndarray, time_window: float, sample_rate: int) -> np.ndarr
381
385
 
382
386
  def sliding_spearmans_rank(x: np.ndarray,
383
387
  y: np.ndarray,
384
- time_window: float,
385
- sample_rate: int,
386
- batch_size: Optional[int] = int(1.6e+7)) -> np.ndarray:
388
+ time_window: Union[float, int],
389
+ sample_rate: Union[float, int],
390
+ batch_size: Optional[int] = int(1.6e+7),
391
+ verbose: bool = False) -> np.ndarray:
387
392
  """
388
393
  Computes the Spearman's rank correlation coefficient between two 1D arrays `x` and `y`
389
394
  over sliding windows of size `time_window * sample_rate`. The computation is performed
@@ -414,7 +419,13 @@ def sliding_spearmans_rank(x: np.ndarray,
414
419
  >>> sliding_spearmans_rank(x, y, time_window=0.5, sample_rate=2)
415
420
  """
416
421
 
417
- window_size = int(np.ceil(time_window * sample_rate))
422
+ timer = SimbaTimer(start=True)
423
+ check_valid_array(data=x, source=f'{sliding_spearmans_rank.__name__} x', accepted_ndims=(1,), accepted_dtypes=Formats.NUMERIC_DTYPES.value)
424
+ check_valid_array(data=y, source=f'{sliding_spearmans_rank.__name__} y', accepted_ndims=(1,), accepted_axis_0_shape=(x.shape[0],), accepted_dtypes=Formats.NUMERIC_DTYPES.value)
425
+ check_float(name=f'{sliding_spearmans_rank.__name__} time_window', value=time_window, allow_zero=False, allow_negative=False, raise_error=True)
426
+ check_float(name=f'{sliding_spearmans_rank.__name__} sample_rate', value=sample_rate, allow_zero=False, allow_negative=False, raise_error=True)
427
+ check_int(name=f'{sliding_spearmans_rank.__name__} batch_size', value=batch_size, allow_zero=False, allow_negative=False, raise_error=True)
428
+ window_size = np.int32(np.ceil(time_window * sample_rate))
418
429
  n = x.shape[0]
419
430
  results = cp.full(n, -1, dtype=cp.float32)
420
431
 
@@ -434,7 +445,11 @@ def sliding_spearmans_rank(x: np.ndarray,
434
445
 
435
446
  results[left + window_size - 1:right] = s
436
447
 
437
- return cp.asnumpy(results)
448
+ r = cp.asnumpy(results)
449
+ timer.stop_timer()
450
+ if verbose: print(f'Sliding Spearmans rank for {x.shape[0]} observations computed (elapsed time: {timer.elapsed_time_str}s)')
451
+ return r
452
+
438
453
 
439
454
 
440
455
 
@@ -539,6 +554,12 @@ def euclidean_distance_to_static_point(data: np.ndarray,
539
554
  """
540
555
  Computes the Euclidean distance between each point in a given 2D array `data` and a static point using GPU acceleration.
541
556
 
557
+ .. seealso::
558
+ For CPU-based distance to static point (ROI center), see :func:`simba.mixins.feature_extraction_mixin.FeatureExtractionMixin.framewise_euclidean_distance_roi`
559
+ For CPU-based framewise Euclidean distance, see :func:`simba.mixins.feature_extraction_mixin.FeatureExtractionMixin.framewise_euclidean_distance`
560
+ For GPU CuPy solution for distance between two sets of points, see :func:`simba.data_processors.cuda.statistics.get_euclidean_distance_cupy`
561
+ For GPU numba CUDA solution for distance between two sets of points, see :func:`simba.data_processors.cuda.statistics.get_euclidean_distance_cuda`
562
+
542
563
  :param data: A 2D array of shape (N, 2), where N is the number of points, and each point is represented by its (x, y) coordinates. The array can represent pixel coordinates.
543
564
  :param point: A tuple of two integers representing the static point (x, y) in the same space as `data`.
544
565
  :param pixels_per_millimeter: A scaling factor that indicates how many pixels correspond to one millimeter. Defaults to 1 if no scaling is necessary.
@@ -790,13 +811,31 @@ def xie_beni(x: np.ndarray, y: np.ndarray) -> float:
790
811
  return xb
791
812
 
792
813
 
793
- def i_index(x: np.ndarray, y: np.ndarray):
814
+ def i_index(x: np.ndarray, y: np.ndarray, verbose: bool = False) -> float:
794
815
  """
795
816
  Calculate the I-Index for evaluating clustering quality.
796
817
 
797
818
  The I-Index is a metric that measures the compactness and separation of clusters.
798
819
  A higher I-Index indicates better clustering with compact and well-separated clusters.
799
820
 
821
+ .. csv-table::
822
+ :header: EXPECTED RUNTIMES
823
+ :file: ../../../docs/tables/i_index_cuda.csv
824
+ :widths: 10, 45, 45
825
+ :align: center
826
+ :header-rows: 1
827
+
828
+ The I-Index is calculated as:
829
+
830
+ .. math::
831
+ I = \frac{SST}{k \times SWC}
832
+
833
+ where:
834
+
835
+ - :math:`SST = \sum_{i=1}^{n} \|x_i - \mu\|^2` is the total sum of squares (sum of squared distances from all points to the global centroid)
836
+ - :math:`k` is the number of clusters
837
+ - :math:`SWC = \sum_{c=1}^{k} \sum_{i \in c} \|x_i - \mu_c\|^2` is the within-cluster sum of squares (sum of squared distances from points to their cluster centroids)
838
+
800
839
  .. seealso::
801
840
  To compute Xie-Beni on the CPU, use :func:`~simba.mixins.statistics_mixin.Statistics.i_index`
802
841
 
@@ -807,17 +846,16 @@ def i_index(x: np.ndarray, y: np.ndarray):
807
846
 
808
847
  :references:
809
848
  .. [1] Zhao, Q., Xu, M., Fränti, P. (2009). Sum-of-Squares Based Cluster Validity Index and Significance Analysis.
810
- In: Kolehmainen, M., Toivanen, P., Beliczynski, B. (eds) Adaptive and Natural Computing Algorithms. ICANNGA 2009.
811
- Lecture Notes in Computer Science, vol 5495. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04921-7_32
849
+ In: Kolehmainen, M., Toivanen, P., Beliczynski, B. (eds) Adaptive and Natural Computing Algorithms. ICANNGA 2009. Lecture Notes in Computer Science, vol 5495. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04921-7_32
812
850
 
813
851
  :example:
814
852
  >>> X, y = make_blobs(n_samples=5000, centers=20, n_features=3, random_state=0, cluster_std=0.1)
815
853
  >>> i_index(x=X, y=y)
816
854
  """
855
+ timer = SimbaTimer(start=True)
817
856
  check_valid_array(data=x, accepted_ndims=(2,), accepted_dtypes=Formats.NUMERIC_DTYPES.value)
818
- check_valid_array(data=y, accepted_ndims=(1,), accepted_dtypes=Formats.NUMERIC_DTYPES.value,
819
- accepted_axis_0_shape=[x.shape[0], ])
820
- _ = get_unique_values_in_iterable(data=y, name=i_index.__name__, min=2)
857
+ check_valid_array(data=y, accepted_ndims=(1,), accepted_dtypes=Formats.NUMERIC_DTYPES.value, accepted_axis_0_shape=[x.shape[0], ])
858
+ cluster_cnt = get_unique_values_in_iterable(data=y, name=i_index.__name__, min=2)
821
859
  x, y = cp.array(x), cp.array(y)
822
860
  unique_y = cp.unique(y)
823
861
  n_y = unique_y.shape[0]
@@ -831,10 +869,11 @@ def i_index(x: np.ndarray, y: np.ndarray):
831
869
  swc += cp.sum(cp.linalg.norm(cluster_obs - cluster_centroid, axis=1) ** 2)
832
870
 
833
871
  i_idx = sst / (n_y * swc)
834
-
872
+ i_idx = np.float32(i_idx.get()) if hasattr(i_idx, 'get') else np.float32(i_idx)
873
+ timer.stop_timer()
874
+ if verbose: print(f'I-index for {x.shape[0]} observations in {cluster_cnt} clusters computed (elapsed time: {timer.elapsed_time_str}s)')
835
875
  return i_idx
836
876
 
837
-
838
877
  def kullback_leibler_divergence_gpu(x: np.ndarray,
839
878
  y: np.ndarray,
840
879
  fill_value: int = 1,
@@ -307,7 +307,7 @@ def sliding_hjort_parameters_gpu(data: np.ndarray, window_sizes: np.ndarray, sam
307
307
  """
308
308
  Compute Hjorth parameters over sliding windows on the GPU.
309
309
 
310
- .. seelalso::
310
+ .. seealso::
311
311
  For CPU implementation, see :`simba.mixins.timeseries_features_mixin.TimeseriesFeatureMixin.hjort_parameters`
312
312
 
313
313
  :param np.ndarray data: 1D numeric array of signal data.
@@ -52,7 +52,7 @@ class EgocentricalAligner():
52
52
  :param Optional[int] core_cnt: Number of CPU cores to use for video rotation; `-1` uses all available cores.
53
53
 
54
54
  :example:
55
- >>> aligner = EgocentricalAligner(rotate_video=True, anchor_1='tail_base', anchor_2='nose', data_dir=r"/data_dir", videos_dir=r'/videos_dir', save_dir=r"/save_dir", video_info=r"C:\troubleshooting\mitra\project_folder\logs\video_info.csv", direction=0, anchor_location=(250, 250), fill_clr=(0, 0, 0))
55
+ >>> aligner = EgocentricalAligner(rotate_video=True, anchor_1='tail_base', anchor_2='nose', data_dir=r"/data_dir", videos_dir=r'/videos_dir', save_dir=r"/save_dir", video_info=r"C:/troubleshooting/mitra/project_folder/logs/video_info.csv", direction=0, anchor_location=(250, 250), fill_clr=(0, 0, 0))
56
56
  >>> aligner.run()
57
57
  """
58
58
 
@@ -83,12 +83,12 @@ class FeatureSubsetsCalculator(ConfigReader, TrainModelMixin):
83
83
  :align: center
84
84
 
85
85
  :example:
86
- >>> test = FeatureSubsetsCalculator(config_path=r"C:\troubleshooting\mitra\project_folder\project_config.ini",
86
+ >>> test = FeatureSubsetsCalculator(config_path=r"C:/troubleshooting/mitra/project_folder/project_config.ini",
87
87
  >>> feature_families=[FRAME_BP_MOVEMENT, WITHIN_ANIMAL_THREE_POINT_ANGLES],
88
88
  >>> append_to_features_extracted=False,
89
89
  >>> file_checks=False,
90
90
  >>> append_to_targets_inserted=False,
91
- >>> save_dir=r"C:\troubleshooting\mitra\project_folder\csv\new_features")
91
+ >>> save_dir=r"C:/troubleshooting/mitra/project_folder/csv/new_features")
92
92
  >>> test.run()
93
93
  """
94
94
 
@@ -44,10 +44,10 @@ class StraubTailAnalyzer(ConfigReader):
44
44
  .. [1] Lazaro et al., Brainwide Genetic Capture for Conscious State Transitions, `biorxiv`, doi: https://doi.org/10.1101/2025.03.28.646066
45
45
 
46
46
  :example:
47
- >>> runner = StraubTailAnalyzer(config_path=r"C:\troubleshooting\mitra\project_folder\project_config.ini",
48
- >>> data_dir=r'C:\troubleshooting\mitra\project_folder\videos\additional\bg_removed\rotated',
49
- >>> video_dir=r'C:\troubleshooting\mitra\project_folder\videos\additional\bg_removed\rotated',
50
- >>> save_dir=r'C:\troubleshooting\mitra\project_folder\videos\additional\bg_removed\rotated\tail_features_additional',
47
+ >>> runner = StraubTailAnalyzer(config_path=r"C:/troubleshooting/mitra/project_folder/project_config.ini",
48
+ >>> data_dir=r'C:/troubleshooting/mitra/project_folder/videos/additional/bg_removed/rotated',
49
+ >>> video_dir=r'C:/troubleshooting/mitra/project_folder/videos/additional/bg_removed/rotated',
50
+ >>> save_dir=r'C:/troubleshooting/mitra/project_folder/videos/additional/bg_removed/rotated/tail_features_additional',
51
51
  >>> anchor_points=('tail_base', 'tail_center', 'tail_tip'),
52
52
  >>> body_parts=('nose', 'left_ear', 'right_ear', 'right_side', 'left_side', 'tail_base'))
53
53
  >>> runner.run()
@@ -64,7 +64,7 @@ class LabellingInterface(ConfigReader):
64
64
  :param bool continuing: Set True to resume annotations from an existing targets file. Defaults to False.
65
65
 
66
66
  :example:
67
- >>> _ = LabellingInterface(config_path=r"C:\troubleshooting\mitra\project_folder\project_config.ini", file_path=r"C:\troubleshooting\mitra\project_folder\videos\501_MA142_Gi_CNO_0521.mp4", thresholds=None, continuing=False)
67
+ >>> _ = LabellingInterface(config_path=r"C:/troubleshooting/mitra/project_folder/project_config.ini", file_path=r"C:/troubleshooting/mitra/project_folder/videos/501_MA142_Gi_CNO_0521.mp4", thresholds=None, continuing=False)
68
68
  """
69
69
 
70
70
  def __init__(self,
@@ -1556,7 +1556,7 @@ class GeometryMixin(object):
1556
1556
  :rtype: List[float]
1557
1557
 
1558
1558
  :example:
1559
- >>> df = read_df(file_path=r"C:\troubleshooting\two_black_animals_14bp\project_folder\csv\outlier_corrected_movement_location\Together_2.csv", file_type='csv').astype(int)
1559
+ >>> df = read_df(file_path=r"C:/troubleshooting/two_black_animals_14bp/project_folder/csv/outlier_corrected_movement_location/Together_2.csv", file_type='csv').astype(int)
1560
1560
  >>> animal_1_cols = [x for x in df.columns if '_1_' in x and not '_p' in x]
1561
1561
  >>> animal_2_cols = [x for x in df.columns if '_2_' in x and not '_p' in x]
1562
1562
  >>> animal_1_arr = df[animal_1_cols].values.reshape(len(df), int(len(animal_1_cols)/ 2), 2)
@@ -1622,7 +1622,7 @@ class GeometryMixin(object):
1622
1622
  :return List[float]: List of overlap between corresponding Polygons. If overlap 1, else 0.
1623
1623
 
1624
1624
  :example:
1625
- >>> df = read_df(file_path=r"C:\troubleshooting\two_black_animals_14bp\project_folder\csv\outlier_corrected_movement_location\Together_2.csv", file_type='csv').astype(int)
1625
+ >>> df = read_df(file_path=r"C:/troubleshooting/two_black_animals_14bp/project_folder/csv/outlier_corrected_movement_location/Together_2.csv", file_type='csv').astype(int)
1626
1626
  >>> animal_1_cols = [x for x in df.columns if '_1_' in x and not '_p' in x]
1627
1627
  >>> animal_2_cols = [x for x in df.columns if '_2_' in x and not '_p' in x]
1628
1628
  >>> animal_1_arr = df[animal_1_cols].values.reshape(len(df), int(len(animal_1_cols)/ 2), 2)
@@ -1693,7 +1693,7 @@ class GeometryMixin(object):
1693
1693
  :rtype: List[float]
1694
1694
 
1695
1695
  :example:
1696
- >>> df = read_df(file_path=r"C:\troubleshooting\two_black_animals_14bp\project_folder\csv\outlier_corrected_movement_location\Together_2.csv", file_type='csv').astype(int)
1696
+ >>> df = read_df(file_path=r"C:/troubleshooting/two_black_animals_14bp/project_folder/csv/outlier_corrected_movement_location/Together_2.csv", file_type='csv').astype(int)
1697
1697
  >>> animal_1_cols = [x for x in df.columns if '_1_' in x and not '_p' in x]
1698
1698
  >>> animal_2_cols = [x for x in df.columns if '_2_' in x and not '_p' in x]
1699
1699
  >>> animal_1_arr = df[animal_1_cols].values.reshape(len(df), int(len(animal_1_cols)/ 2), 2)
@@ -1763,7 +1763,7 @@ class GeometryMixin(object):
1763
1763
  :rtype: List[Polygon]
1764
1764
 
1765
1765
  :example:
1766
- >>> df = read_df(file_path=r"C:\troubleshooting\two_black_animals_14bp\project_folder\csv\outlier_corrected_movement_location\Together_2.csv", file_type='csv').astype(int)
1766
+ >>> df = read_df(file_path=r"C:/troubleshooting/two_black_animals_14bp/project_folder/csv/outlier_corrected_movement_location/Together_2.csv", file_type='csv').astype(int)
1767
1767
  >>> animal_1_cols = [x for x in df.columns if '_1_' in x and not '_p' in x]
1768
1768
  >>> animal_1_arr = df[animal_1_cols].values.reshape(len(df), int(len(animal_1_cols)/ 2), 2)
1769
1769
  >>> animal_1_geo = GeometryMixin.bodyparts_to_polygon(data=animal_1_arr)
@@ -3525,10 +3525,10 @@ class GeometryMixin(object):
3525
3525
  :rtype: Tuple[Dict[Tuple[int, int], Dict[Tuple[int, int], float]], Dict[Tuple[int, int], Dict[Tuple[int, int], int]]]
3526
3526
 
3527
3527
  :example:
3528
- >>> video_meta_data = get_video_meta_data(video_path=r"C:\troubleshooting\mitra\project_folder\videos\708_MA149_Gq_CNO_0515.mp4")
3528
+ >>> video_meta_data = get_video_meta_data(video_path=r"C:/troubleshooting/mitra/project_folder/videos/708_MA149_Gq_CNO_0515.mp4")
3529
3529
  >>> w, h = video_meta_data['width'], video_meta_data['height']
3530
3530
  >>> grid = GeometryMixin().bucket_img_into_grid_square(bucket_grid_size=(5, 5), bucket_grid_size_mm=None, img_size=(h, w), verbose=False)[0]
3531
- >>> data = read_df(file_path=r'C:\troubleshooting\mitra\project_folder\csv\outlier_corrected_movement_location\708_MA149_Gq_CNO_0515.csv', file_type='csv')[['Nose_x', 'Nose_y']].values
3531
+ >>> data = read_df(file_path=r'C:/troubleshooting/mitra/project_folder/csv/outlier_corrected_movement_location/708_MA149_Gq_CNO_0515.csv', file_type='csv')[['Nose_x', 'Nose_y']].values
3532
3532
  >>> transition_probabilities, _ = geometry_transition_probabilities(data=data, grid=grid)
3533
3533
  """
3534
3534
 
@@ -3990,7 +3990,7 @@ class GeometryMixin(object):
3990
3990
  :rtype: np.ndarray
3991
3991
 
3992
3992
  :example:
3993
- >>> data_path = r"C:\troubleshooting\mitra\project_folder\csv\outlier_corrected_movement_location\FRR_gq_Saline_0624.csv"
3993
+ >>> data_path = r"C:/troubleshooting/mitra/project_folder/csv/outlier_corrected_movement_location/FRR_gq_Saline_0624.csv"
3994
3994
  >>> animal_data = read_df(file_path=data_path, file_type='csv', usecols=['Nose_x', 'Nose_y', 'Tail_base_x', 'Tail_base_y', 'Left_side_x', 'Left_side_y', 'Right_side_x', 'Right_side_y']).values.reshape(-1, 4, 2)[0:20].astype(np.int32)
3995
3995
  >>> animal_polygons = GeometryMixin().bodyparts_to_polygon(data=animal_data)
3996
3996
  >>> GeometryMixin.geometries_to_exterior_keypoints(geometries=animal_polygons)
@@ -4160,7 +4160,7 @@ class GeometryMixin(object):
4160
4160
  :rtype: Union[None, Dict[Any, dict]]
4161
4161
 
4162
4162
  :example I:
4163
- >>> results = GeometryMixin.sleap_csv_to_geometries(data=r"C:\troubleshooting\ants\pose_data\ant.csv")
4163
+ >>> results = GeometryMixin.sleap_csv_to_geometries(data=r"C:/troubleshooting/ants/pose_data/ant.csv")
4164
4164
  >>> # Results structure: {track_id: {frame_idx: Polygon, ...}, ...}
4165
4165
 
4166
4166
  :example II
@@ -57,17 +57,16 @@ class ImageMixin(object):
57
57
  pass
58
58
 
59
59
  @staticmethod
60
- def brightness_intensity(imgs: List[np.ndarray], ignore_black: Optional[bool] = True) -> List[float]:
60
+ def brightness_intensity(imgs: Union[List[np.ndarray], np.ndarray], ignore_black: bool = True, verbose: bool = False) -> np.ndarray:
61
61
  """
62
62
  Compute the average brightness intensity within each image within a list.
63
63
 
64
64
  For example, (i) create a list of images containing a light cue ROI, (ii) compute brightness in each image, (iii) perform kmeans on brightness, and get the frames when the light cue is on vs off.
65
65
 
66
66
  .. seealso::
67
- For GPU acceleration, see :func:`simba.data_processors.cuda.image.img_stack_brightness`.
68
- For geometry based brightness, see :func:`simba.mixins.geometry_mixin.GeometryMixin.get_geometry_brightness_intensity`
67
+ For GPU acceleration, see :func:`simba.data_processors.cuda.image.img_stack_brightness`. For geometry based brightness, see :func:`simba.mixins.geometry_mixin.GeometryMixin.get_geometry_brightness_intensity`
69
68
 
70
- :param List[np.ndarray] imgs: List of images as arrays to calculate average brightness intensity within.
69
+ :param Union[List[np.ndarray], np.ndarray] imgs: List of images as arrays or 3/4d array of images to calculate average brightness intensity within.
71
70
  :param Optional[bool] ignore_black: If True, ignores black pixels. If the images are sliced non-rectangular geometric shapes created by ``slice_shapes_in_img``, then pixels that don't belong to the shape has been masked in black.
72
71
  :returns: List of floats of size len(imgs) with brightness intensities.
73
72
  :rtype: List[float]
@@ -77,14 +76,12 @@ class ImageMixin(object):
77
76
  >>> ImageMixin.brightness_intensity(imgs=[img], ignore_black=False)
78
77
  >>> [159.0]
79
78
  """
80
- results = []
81
- check_instance(source=f"{ImageMixin().brightness_intensity.__name__} imgs", instance=imgs, accepted_types=list)
82
- for cnt, img in enumerate(imgs):
83
- check_instance(
84
- source=f"{ImageMixin().brightness_intensity.__name__} img {cnt}",
85
- instance=img,
86
- accepted_types=np.ndarray,
87
- )
79
+ results, timer = [], SimbaTimer(start=True)
80
+ check_instance(source=f"{ImageMixin().brightness_intensity.__name__} imgs", instance=imgs, accepted_types=(list, np.ndarray,))
81
+ if isinstance(imgs, np.ndarray): imgs = np.array(imgs)
82
+ for img_cnt in range(imgs.shape[0]):
83
+ img = imgs[img_cnt]
84
+ check_instance(source=f"{ImageMixin().brightness_intensity.__name__} img {img_cnt}", instance=img, accepted_types=np.ndarray)
88
85
  if len(img) == 0:
89
86
  results.append(0)
90
87
  else:
@@ -92,7 +89,10 @@ class ImageMixin(object):
92
89
  results.append(np.ceil(np.average(img[img != 0])))
93
90
  else:
94
91
  results.append(np.ceil(np.average(img)))
95
- return results
92
+ b = np.array(results).astype(np.float32)
93
+ timer.stop_timer()
94
+ if verbose: print(f'Brightness computed in {b.shape[0]} images (elapsed time {timer.elapsed_time_str}s)')
95
+
96
96
 
97
97
  @staticmethod
98
98
  def gaussian_blur(img: np.ndarray, kernel_size: Optional[Tuple] = (9, 9)) -> np.ndarray:
@@ -1898,7 +1898,7 @@ class ImageMixin(object):
1898
1898
  :rtype: np.ndarray
1899
1899
 
1900
1900
  :example:
1901
- >>> VIDEO_PATH = r"D:\EPM_2\EPM_1.mp4"
1901
+ >>> VIDEO_PATH = r"D:/EPM_2/EPM_1.mp4"
1902
1902
  >>> img = read_img_batch_from_video(video_path=VIDEO_PATH, greyscale=True, start_frm=0, end_frm=15, core_cnt=1)
1903
1903
  >>> imgs = np.stack(list(img.values()))
1904
1904
  >>> resized_img = resize_img_stack(imgs=imgs)
@@ -3278,10 +3278,34 @@ class Statistics(FeatureExtractionMixin):
3278
3278
 
3279
3279
  Youden's J statistic is a measure of the overall performance of a binary classification test, taking into account both sensitivity (true positive rate) and specificity (true negative rate).
3280
3280
 
3281
- :param sample_1: The first binary array.
3282
- :param sample_2: The second binary array.
3283
- :return: Youden's J statistic.
3281
+ The Youden's J statistic is calculated as:
3282
+
3283
+ .. math::
3284
+ J = \text{sensitivity} + \text{specificity} - 1
3285
+
3286
+ where:
3287
+
3288
+ - :math:`\text{sensitivity} = \frac{TP}{TP + FN}` is the true positive rate
3289
+ - :math:`\text{specificity} = \frac{TN}{TN + FP}` is the true negative rate
3290
+
3291
+ The statistic ranges from -1 to 1, where:
3292
+ - :math:`J = 1` indicates perfect classification
3293
+ - :math:`J = 0` indicates the test performs no better than random
3294
+ - :math:`J < 0` indicates the test performs worse than random
3295
+
3296
+ :param sample_1: The first binary array (ground truth or reference).
3297
+ :param sample_2: The second binary array (predictions or test results).
3298
+ :return: Youden's J statistic. Returns NaN if either sensitivity or specificity cannot be calculated (division by zero).
3284
3299
  :rtype: float
3300
+
3301
+ :references:
3302
+ .. [1] Youden, W. J. (1950). Index for rating diagnostic tests. Cancer, 3(1), 32-35.
3303
+ https://acsjournals.onlinelibrary.wiley.com/doi/abs/10.1002/1097-0142(1950)3:1%3C32::AID-CNCR2820030106%3E3.0.CO;2-3
3304
+
3305
+ :example:
3306
+ >>> y_true = np.array([1, 1, 0, 0, 1, 0, 1, 1, 0, 0])
3307
+ >>> y_pred = np.array([1, 1, 0, 1, 1, 0, 1, 0, 0, 0])
3308
+ >>> j = Statistics.youden_j(sample_1=y_true, sample_2=y_pred)
3285
3309
  """
3286
3310
 
3287
3311
  check_valid_array(data=sample_1, source=f'{Statistics.youden_j.__name__} sample_1', accepted_ndims=(1,), accepted_values=[0, 1])
@@ -4257,7 +4281,7 @@ class Statistics(FeatureExtractionMixin):
4257
4281
  return separation_trace / compactness
4258
4282
 
4259
4283
  @staticmethod
4260
- def i_index(x: np.ndarray, y: np.ndarray):
4284
+ def i_index(x: np.ndarray, y: np.ndarray, verbose: bool = False) -> float:
4261
4285
 
4262
4286
  """
4263
4287
  Calculate the I-Index for evaluating clustering quality.
@@ -4282,9 +4306,10 @@ class Statistics(FeatureExtractionMixin):
4282
4306
  >>> X, y = make_blobs(n_samples=5000, centers=20, n_features=3, random_state=0, cluster_std=0.1)
4283
4307
  >>> Statistics.i_index(x=X, y=y)
4284
4308
  """
4309
+ timer = SimbaTimer(start=True)
4285
4310
  check_valid_array(data=x, accepted_ndims=(2,), accepted_dtypes=Formats.NUMERIC_DTYPES.value)
4286
4311
  check_valid_array(data=y, accepted_ndims=(1,), accepted_dtypes=Formats.NUMERIC_DTYPES.value, accepted_axis_0_shape=[x.shape[0], ])
4287
- _ = get_unique_values_in_iterable(data=y, name=Statistics.i_index.__name__, min=2)
4312
+ cluster_cnt = get_unique_values_in_iterable(data=y, name=Statistics.i_index.__name__, min=2)
4288
4313
  unique_y = np.unique(y)
4289
4314
  n_y = unique_y.shape[0]
4290
4315
  global_centroid = np.mean(x, axis=0)
@@ -4296,7 +4321,12 @@ class Statistics(FeatureExtractionMixin):
4296
4321
  cluster_centroid = np.mean(cluster_obs, axis=0)
4297
4322
  swc += np.sum(np.linalg.norm(cluster_obs - cluster_centroid, axis=1) ** 2)
4298
4323
 
4299
- return sst / (n_y * swc)
4324
+
4325
+ i_index = np.float32(sst / (n_y * swc))
4326
+ timer.stop_timer()
4327
+ if verbose: print(f'I-index for {x.shape[0]} observations in {cluster_cnt} clusters computed (elapsed time: {timer.elapsed_time_str}s)')
4328
+ return i_index
4329
+
4300
4330
 
4301
4331
  @staticmethod
4302
4332
  def sd_index(x: np.ndarray, y: np.ndarray) -> float:
@@ -5298,7 +5328,7 @@ class Statistics(FeatureExtractionMixin):
5298
5328
  """
5299
5329
  Compute one-way ANOVAs comparing each column (axis 1) on two arrays.
5300
5330
 
5301
- .. notes::
5331
+ .. note::
5302
5332
  Use for computing and presenting aggregate statistics. Not suitable for featurization.
5303
5333
 
5304
5334
  .. seealso::
@@ -5336,7 +5366,7 @@ class Statistics(FeatureExtractionMixin):
5336
5366
  """
5337
5367
  Compute Kruskal-Wallis comparing each column (axis 1) on two arrays.
5338
5368
 
5339
- .. notes::
5369
+ .. note::
5340
5370
  Use for computing and presenting aggregate statistics. Not suitable for featurization.
5341
5371
 
5342
5372
  .. seealso::
@@ -5373,7 +5403,7 @@ class Statistics(FeatureExtractionMixin):
5373
5403
  """
5374
5404
  Compute pairwise grouped Tukey-HSD tests.
5375
5405
 
5376
- .. notes::
5406
+ .. note::
5377
5407
  Use for computing and presenting aggregate statistics. Not suitable for featurization.
5378
5408
 
5379
5409
  :param np.ndarray data: 2D array with observations rowwise (axis 0) and features columnwise (axis 1)
@@ -2198,7 +2198,7 @@ class TimeseriesFeatureMixin(object):
2198
2198
  :example:
2199
2199
  >>> x = np.random.randint(0, 100, (400, 2))
2200
2200
  >>> results_1 = TimeseriesFeatureMixin.sliding_entropy_of_directional_changes(x=x, bins=16, window_size=5.0, sample_rate=30)
2201
- >>> x = pd.read_csv(r"C:\troubleshooting\two_black_animals_14bp\project_folder\csv\input_csv\Together_1.csv")[['Ear_left_1_x', 'Ear_left_1_y']].values
2201
+ >>> x = pd.read_csv(r"C:/troubleshooting/two_black_animals_14bp/project_folder/csv/input_csv/Together_1.csv")[['Ear_left_1_x', 'Ear_left_1_y']].values
2202
2202
  >>> results_2 = TimeseriesFeatureMixin.sliding_entropy_of_directional_changes(x=x, bins=16, window_size=5.0, sample_rate=30)
2203
2203
  """
2204
2204