simba-uw-tf-dev 4.6.4__py3-none-any.whl → 4.6.6__py3-none-any.whl

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 (33) hide show
  1. simba/data_processors/cuda/geometry.py +45 -27
  2. simba/data_processors/cuda/image.py +1620 -1600
  3. simba/data_processors/cuda/statistics.py +17 -9
  4. simba/data_processors/egocentric_aligner.py +24 -6
  5. simba/data_processors/kleinberg_calculator.py +6 -2
  6. simba/feature_extractors/feature_subsets.py +12 -5
  7. simba/feature_extractors/straub_tail_analyzer.py +0 -2
  8. simba/mixins/statistics_mixin.py +9 -2
  9. simba/sandbox/analyze_runtimes.py +30 -0
  10. simba/sandbox/cuda/egocentric_rotator.py +374 -374
  11. simba/sandbox/proboscis_to_tip.py +28 -0
  12. simba/sandbox/test_directionality.py +47 -0
  13. simba/sandbox/test_nonstatic_directionality.py +27 -0
  14. simba/sandbox/test_pycharm_cuda.py +51 -0
  15. simba/sandbox/test_simba_install.py +41 -0
  16. simba/sandbox/test_static_directionality.py +26 -0
  17. simba/sandbox/test_static_directionality_2d.py +26 -0
  18. simba/sandbox/verify_env.py +42 -0
  19. simba/ui/pop_ups/fsttc_pop_up.py +27 -25
  20. simba/ui/pop_ups/kleinberg_pop_up.py +3 -2
  21. simba/utils/data.py +0 -1
  22. simba/utils/errors.py +441 -440
  23. simba/utils/lookups.py +1203 -1203
  24. simba/utils/read_write.py +38 -13
  25. simba/video_processors/egocentric_video_rotator.py +41 -36
  26. simba/video_processors/video_processing.py +5247 -5233
  27. simba/video_processors/videos_to_frames.py +41 -31
  28. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/METADATA +2 -2
  29. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/RECORD +33 -24
  30. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/LICENSE +0 -0
  31. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/WHEEL +0 -0
  32. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/entry_points.txt +0 -0
  33. {simba_uw_tf_dev-4.6.4.dist-info → simba_uw_tf_dev-4.6.6.dist-info}/top_level.txt +0 -0
@@ -6,17 +6,17 @@ except:
6
6
  from typing_extensions import Literal
7
7
 
8
8
  import functools
9
- import multiprocessing
10
9
  import os
10
+ from datetime import datetime
11
11
 
12
12
  import cv2
13
13
 
14
14
  from simba.utils.checks import (check_if_dir_exists, check_int, check_str,
15
15
  check_valid_boolean)
16
- from simba.utils.data import terminate_cpu_pool
16
+ from simba.utils.data import get_cpu_pool, terminate_cpu_pool
17
17
  from simba.utils.printing import SimbaTimer, stdout_success
18
- from simba.utils.read_write import (find_core_cnt, get_video_meta_data,
19
- read_frm_of_video)
18
+ from simba.utils.read_write import (find_core_cnt, get_fn_ext,
19
+ get_video_meta_data, read_frm_of_video)
20
20
 
21
21
  JPEG, PNG, WEBP = 'jpeg', 'png', 'webp'
22
22
 
@@ -40,7 +40,7 @@ def _video_to_frms_helper(img_batch: Tuple[int, List[int]],
40
40
  else:
41
41
  save_path = os.path.join(save_dir, f'{frm_idx}.{img_format}')
42
42
  if verbose:
43
- print(f"Saving image {save_path} ...")
43
+ print(f"Saving image {save_path} ({frm_idx}/{video_meta_data['frame_count']})...")
44
44
  img = read_frm_of_video(video_path=cap, frame_index=frm_idx, greyscale=greyscale, clahe=clahe, black_and_white=black_and_white)
45
45
  if img_format == WEBP:
46
46
  cv2.imwrite(save_path, img, [cv2.IMWRITE_WEBP_QUALITY, quality])
@@ -51,7 +51,7 @@ def _video_to_frms_helper(img_batch: Tuple[int, List[int]],
51
51
  return batch_cnt
52
52
 
53
53
  def video_to_frames(video_path: Union[str, os.PathLike],
54
- save_dir: Union[str, os.PathLike],
54
+ save_dir: Optional[Union[str, os.PathLike]] = None,
55
55
  quality: Optional[int] = 95,
56
56
  img_format: Literal['png', 'webp'] = 'png',
57
57
  verbose: bool = True,
@@ -61,10 +61,16 @@ def video_to_frames(video_path: Union[str, os.PathLike],
61
61
  black_and_white: bool = False,
62
62
  include_video_name_in_filename: bool = True):
63
63
 
64
-
65
64
  """
66
65
  Extract all frames from a video file and save them as individual image files.
67
66
 
67
+ .. csv-table::
68
+ :header: EXPECTED RUNTIMES
69
+ :file: ../../docs/tables/video_to_frames.csv
70
+ :widths: 10, 45, 45
71
+ :align: center
72
+ :header-rows: 1
73
+
68
74
  .. note::
69
75
  Uses multiprocessing for faster frame extraction. Frames are saved with sequential numbering (0, 1, 2, ...).
70
76
 
@@ -91,7 +97,11 @@ def video_to_frames(video_path: Union[str, os.PathLike],
91
97
 
92
98
  timer = SimbaTimer(start=True)
93
99
  video_meta_data = get_video_meta_data(video_path=video_path)
94
- check_if_dir_exists(in_dir=save_dir, source=video_to_frames.__name__, raise_error=True)
100
+ if save_dir is not None:
101
+ check_if_dir_exists(in_dir=save_dir, source=video_to_frames.__name__, raise_error=True)
102
+ else:
103
+ save_dir = os.path.join(get_fn_ext(filepath=video_path)[0], f'{video_meta_data["video_name"]}_frames_{datetime.now().strftime("%Y%m%d%H%M%S")}')
104
+ os.makedirs(save_dir)
95
105
  check_valid_boolean(value=verbose, source=f'{video_to_frames.__name__} verbose')
96
106
  check_valid_boolean(value=clahe, source=f'{video_to_frames.__name__} clahe')
97
107
  check_valid_boolean(value=greyscale, source=f'{video_to_frames.__name__} greyscale')
@@ -99,35 +109,35 @@ def video_to_frames(video_path: Union[str, os.PathLike],
99
109
  check_valid_boolean(value=include_video_name_in_filename, source=f'{video_to_frames.__name__} include_video_name_in_filename')
100
110
  check_int(name=f'{video_to_frames.__name__} core_cnt', value=core_cnt, min_value=-1, unaccepted_vals=[0], raise_error=True)
101
111
  check_int(name=f'{video_to_frames.__name__} quality', value=quality, min_value=1, max_value=100, raise_error=True)
102
- core_cnt = find_core_cnt()[0] if core_cnt -1 or core_cnt > find_core_cnt()[0] else core_cnt
112
+ core_cnt = find_core_cnt()[0] if core_cnt == -1 or core_cnt > find_core_cnt()[0] else core_cnt
103
113
  check_str(name=f'{video_to_frames.__name__} img_format', value=img_format, options=('jpeg', 'png', 'webp'))
104
114
  frm_ids = list(range(0, video_meta_data['frame_count']))
105
115
  frm_ids = [frm_ids[i * len(frm_ids) // core_cnt: (i + 1) * len(frm_ids) // core_cnt] for i in range(core_cnt)]
106
116
  frm_ids = [(i, j) for i, j in enumerate(frm_ids)]
107
- with multiprocessing.Pool(core_cnt, maxtasksperchild=100) as pool:
108
- constants = functools.partial(_video_to_frms_helper,
109
- verbose=verbose,
110
- img_format=img_format,
111
- quality=quality,
112
- greyscale=greyscale,
113
- black_and_white=black_and_white,
114
- include_video_name_in_filename=include_video_name_in_filename,
115
- video_path=video_path,
116
- clahe=clahe,
117
- save_dir=save_dir)
118
- for cnt, batch_id in enumerate(pool.imap(constants, frm_ids, chunksize=1)):
119
- if verbose:
120
- print(f'Video frame batch {batch_id} (of {core_cnt}) complete...')
121
-
122
- terminate_cpu_pool(pool=pool, force=True)
117
+ pool = get_cpu_pool(core_cnt=core_cnt, source=video_to_frames.__name__)
118
+ constants = functools.partial(_video_to_frms_helper,
119
+ verbose=verbose,
120
+ img_format=img_format,
121
+ quality=quality,
122
+ greyscale=greyscale,
123
+ black_and_white=black_and_white,
124
+ include_video_name_in_filename=include_video_name_in_filename,
125
+ video_path=video_path,
126
+ clahe=clahe,
127
+ save_dir=save_dir)
128
+ for cnt, batch_id in enumerate(pool.imap(constants, frm_ids, chunksize=1)):
129
+ if verbose:
130
+ print(f'Video frame batch {batch_id} (of {core_cnt}) complete...')
131
+
132
+ terminate_cpu_pool(pool=pool, force=True, source=video_to_frames.__name__)
123
133
  timer.stop_timer()
124
- if verbose:
125
- stdout_success(msg=f'All frames for video {video_path} saved in {save_dir}', elapsed_time=timer.elapsed_time_str)
134
+ if verbose: stdout_success(msg=f'All frames ({video_meta_data["frame_count"]}) for video {video_path} saved in {save_dir}', elapsed_time=timer.elapsed_time_str)
126
135
 
127
136
  # if __name__ == "__main__":
128
- # video_to_frames(video_path=r"C:\troubleshooting\SDS_pre_post\project_folder\videos\SDI100 x ALR2 post_d7.mp4",
129
- # save_dir=r'C:\troubleshooting\SDS_pre_post\project_folder\videos\test',
137
+ # video_to_frames(video_path=r"D:\troubleshooting\mitra\project_folder\videos\average_cpu_test\15min.mp4",
138
+ # save_dir=None,
130
139
  # black_and_white=False,
131
140
  # verbose=True,
132
- # img_format='webp',
133
- # clahe=True)
141
+ # img_format='png',
142
+ # clahe=False,
143
+ # core_cnt=18)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: simba-uw-tf-dev
3
- Version: 4.6.4
3
+ Version: 4.6.6
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
@@ -79,7 +79,7 @@ Requires-Dist: yellowbrick (==1.5.0) ; python_version >= "3.9"
79
79
  Requires-Dist: kaleido ; python_version >= "3.9"
80
80
  Requires-Dist: psutil ; python_version >= "3.9"
81
81
  Requires-Dist: h5py (==3.11.0) ; python_version >= "3.9"
82
- Requires-Dist: numba (==0.59.1) ; python_version >= "3.9"
82
+ Requires-Dist: numba (==0.63.1) ; python_version >= "3.9"
83
83
  Requires-Dist: numexpr (==2.10.0) ; python_version >= "3.9"
84
84
  Requires-Dist: statsmodels (==0.14.2) ; python_version >= "3.9"
85
85
  Requires-Dist: shap (==0.42.0) ; python_version >= "3.9"
@@ -524,7 +524,7 @@ simba/data_processors/cue_light_clf_statistics.py,sha256=Msv1xe3tq4yn3j5sFswso-v
524
524
  simba/data_processors/cue_light_movement_statistics.py,sha256=xQKJNdA2i1MOhMwct-MdTbJPPP75O-aOnHT292Zl1c4,9058
525
525
  simba/data_processors/directing_animal_to_bodypart.py,sha256=xsB5jiAUg4sIYBhEyINvxofJo6xL2zP554t_ysi7MCQ,11079
526
526
  simba/data_processors/directing_other_animals_calculator.py,sha256=Ikif_lPh0RfOj7q5ijMcPGh5kEBLse1P91gaz30UXcs,18234
527
- simba/data_processors/egocentric_aligner.py,sha256=SgTGuq55XKQnqHQpsJgMMAoVPufgiMiHG4nD7iqPF1U,12056
527
+ simba/data_processors/egocentric_aligner.py,sha256=bry1SuiBSYRZX-bjLGpSY2xYJ2l5OYInst_kVxWREHU,13265
528
528
  simba/data_processors/find_animal_blob_location.py,sha256=whSxaCSLtRQGZchMBffYSlTI7LIFE7YphNaztmMzMv0,27698
529
529
  simba/data_processors/freezing_detector.py,sha256=p9H44jfyzkuEFCHyAKee-xcvFNrw_a5vSSZm9FMLaZk,10199
530
530
  simba/data_processors/fsttc_calculator.py,sha256=fW09KZ62GiBNgwEPV1n5SsIImRzPpbiP0yiNeTiexL0,20639
@@ -532,7 +532,7 @@ simba/data_processors/gibbs_sampler.py,sha256=Lj3lJJ0LWYLoeMRU2oniTHJSRpdG8oMIEN
532
532
  simba/data_processors/interpolate.py,sha256=GaLvrqS-iVB9TA0eEsCO3dnUCxVD_0KwWqWYZsRlyOM,8006
533
533
  simba/data_processors/interpolate_pose.py,sha256=RME5CxN-oJTiRab4iMQLMRmc7rmdsvXz490wyguDT3Q,7139
534
534
  simba/data_processors/interpolation_smoothing.py,sha256=aeN4klghvxXUDV8yu_tiXVUAV4Bxu_y0jmNGnpJe6vw,39132
535
- simba/data_processors/kleinberg_calculator.py,sha256=bgTK4V83QrB9DC2rxF0YH1nwU7rF4wVvJ1WQtXA_cxU,14592
535
+ simba/data_processors/kleinberg_calculator.py,sha256=fPIgwuhFgVJvszahOsMe2MGhF5qBhQ-EXEb7e_35OtI,14738
536
536
  simba/data_processors/light_dark_box_analyzer.py,sha256=FaXBkuAzI2YZToBvswCTjv1epYK6SiysQTepIQ_-qPc,9514
537
537
  simba/data_processors/movement_calculator.py,sha256=tqDzgMIH23iz_U6ABqva2VpG2Yu8GV1__DK6I6-rd7Y,12393
538
538
  simba/data_processors/mutual_exclusivity_corrector.py,sha256=XuLk8gd2oXAunpP3yJTIcfeoWofpO1iv2EFY6QcEEU8,8729
@@ -551,9 +551,9 @@ simba/data_processors/cuda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
551
551
  simba/data_processors/cuda/circular_statistics.py,sha256=EYhnkL0Fe_Ec9PU2kciv7RyDQdBELPH3HcH9BCnMfdo,34286
552
552
  simba/data_processors/cuda/create_shap_log.py,sha256=yQlWb1RKjagwCKtahifSw8Esr4VOVsTuCAx7fLSfSvU,9603
553
553
  simba/data_processors/cuda/data.py,sha256=tZLunARZVlk1plh7atR3PY5QADMPZXfbYE92uvYkx1g,11831
554
- simba/data_processors/cuda/geometry.py,sha256=GcM2Pdn9fxcsaiY_aswN9BpgvTxG34AIG5239Tlk5PQ,24631
555
- simba/data_processors/cuda/image.py,sha256=bygbKdztyD0mpZuvUZYA7uaVs5CoDVT9urGjKhKRZfU,85178
556
- simba/data_processors/cuda/statistics.py,sha256=G9jVSWQThf_jMcNsOxeM20o4wMFSteJamZivqYcqyMQ,45951
554
+ simba/data_processors/cuda/geometry.py,sha256=jkocYwWcweQ1U6DxVDxP3vifuZdxpyZHQ5_J_GeNgGU,25522
555
+ simba/data_processors/cuda/image.py,sha256=s0XwQkY1_D23PCBMk-zrSDOW4FlSsDq3QeIFYvuSsdE,84379
556
+ simba/data_processors/cuda/statistics.py,sha256=YnexlgHdi-GSezUfU8il0vgaW8mwVffIOR3be_t6r2A,46383
557
557
  simba/data_processors/cuda/timeseries.py,sha256=12UWvjSrnriOsT9UmDJJVyWSito_ueIrH1Gy5m1cCCA,16416
558
558
  simba/data_processors/cuda/utils.py,sha256=0Z51kEItgDl9MfPQ9_jvClzR2_pvIWxFkLcjb3xdDE8,8584
559
559
  simba/feature_extractors/.DS_Store,sha256=SiyR4U0h7Ehg8KGJf5cXr85BYdcZfvGGcRmp1GMVuzQ,6148
@@ -570,13 +570,13 @@ simba/feature_extractors/feature_extractor_8bp.py,sha256=ZWVpoa2X-bzzJKEP3aHznXz
570
570
  simba/feature_extractors/feature_extractor_8bps_2_animals.py,sha256=0mlOUPStO3LfdlmU970Wmw5x40o9sVJ6UzrKg248mtI,36308
571
571
  simba/feature_extractors/feature_extractor_9bp.py,sha256=dMzigppwKODXpVPKwkqZoboAR3roYik1LYKWBnhZwnQ,37327
572
572
  simba/feature_extractors/feature_extractor_user_defined.py,sha256=w8hgtYGk6Ux_X1mIYleEABVmxkLPUf23TfWYe-G75UI,9917
573
- simba/feature_extractors/feature_subsets.py,sha256=-Yrqw25w35y3Ag_6-oDObesFQAlSVIYIZWexEi2rfOg,27158
573
+ simba/feature_extractors/feature_subsets.py,sha256=CXoGuhZNfQmEhrgm8kb0rZi755buO-IGKVTAzpF6BV4,27471
574
574
  simba/feature_extractors/gerbil_featurizer.py,sha256=EeBlAXiTsM2oHMfs0M1wlm9LWrQVZuLUY2WuOQIDMnw,11994
575
575
  simba/feature_extractors/mitra_feature_extractor.py,sha256=pmLp2A5jfkia6wtD7X39TmMDukeCxbmUPmdVFgmCUZ4,30027
576
576
  simba/feature_extractors/perimeter_jit.py,sha256=Pe7IlxeGTEQfpkt9iiAq97OG9r0mQ4kE6VderLyNFmg,8621
577
577
  simba/feature_extractors/rat_social_featurizer.py,sha256=eOJt6O4QR8kY0fJ2tAmRGLYAQSLkZoc3VoQ5F6MSN90,7345
578
578
  simba/feature_extractors/riptortus_featurizer.py,sha256=3XA_GfxmcuZOSkC1HxOebcGh5Y47pZtgaFR8Kb6lexQ,34518
579
- simba/feature_extractors/straub_tail_analyzer.py,sha256=CPk6QnsiNZBZ9TfgMmb18y0r32c89UfB-QnWeK7d-h0,9855
579
+ simba/feature_extractors/straub_tail_analyzer.py,sha256=aovJwwxUKsYHmynhkbjhR-G4cau9TxobKgu9cDLAw00,9813
580
580
  simba/feature_extractors/misc/add_probability_cnt_features.py,sha256=5mHH7IEA7a_vv9i1q7nUOYfY5FT9o6RF0LwSEaW6CUM,2932
581
581
  simba/feature_extractors/misc/convex_hull_3_scratch_3.py,sha256=dco5-DbYeMixhMvwGklYrC8yg7SvkHDecFqFPkX5qYY,2144
582
582
  simba/feature_extractors/misc/convex_hull_scratch_1.py,sha256=zSniBxi3v8Lpmrm4cgwHIb2QJWvz2-slyOVp94b_fC0,5762
@@ -624,7 +624,7 @@ simba/mixins/network_mixin.py,sha256=s_OsF6VSlsa2vb5sysDQKErLp4D5EfBF1MVQ_yKWC_Y
624
624
  simba/mixins/plotting_mixin.py,sha256=3sgEYn-tVTRzrg_k5eFGeyp0Xb2c8HnEnyqE16cV0Pw,94837
625
625
  simba/mixins/pop_up_mixin.py,sha256=tAKC3Axp1jgQ8VH2GfvKO5HbLUpZzo_aWou2xS-SYxc,24701
626
626
  simba/mixins/pose_importer_mixin.py,sha256=bYl17qQcJAdd93_q-tDof8V1f5-OGeI9id7K8YGmN1E,22358
627
- simba/mixins/statistics_mixin.py,sha256=TTfVSIDIrFmq_MBd_Mu_XLgGQnZB-vZhlzRcqjecaYM,271030
627
+ simba/mixins/statistics_mixin.py,sha256=-5_qPcmFmApcBxnqYg6CXL6j8N9BZ2FI9n-bIoaBA_Q,271327
628
628
  simba/mixins/timeseries_features_mixin.py,sha256=O3RMAfOHNSTr1cGEGDcaOCE8wpcKrDD_1rRbbqZb5yU,139305
629
629
  simba/mixins/train_model_mixin.py,sha256=d9iESYZmF1E888I82qwUirtf-xTvJfvhGYSIClKUtsY,174970
630
630
  simba/mixins/unsupervised_mixin.py,sha256=2R1pV4UxFxxwQcM_PzrdQNcx3NMcLDhLu4llGZUTDfY,5370
@@ -794,6 +794,7 @@ simba/sandbox/advanced_smoothing.py,sha256=Rd81XwiF2m4C6qGGPIVAvHs5K1dH0I7Bnm3xR
794
794
  simba/sandbox/ahe.py,sha256=guLnY_VWEt_2iXzg6J4nw3FAh7i6AJgaso36Z0Y3B4s,2428
795
795
  simba/sandbox/alyssa_ethan.py,sha256=U8xjTQd8UV94DBskjxUZwh7VwUhQPCmJtencVsqAEqo,27192
796
796
  simba/sandbox/amber_featurizer.py,sha256=O5ePbbb0non5JV9Mwoa9N3PxZVEHtXt4R4yjjHVoObw,69423
797
+ simba/sandbox/analyze_runtimes.py,sha256=pkKQXTdxNUWgWzprVe9AdS3mmky-M2b2Zi3bhDk1mwI,1102
797
798
  simba/sandbox/angle_3pt.py,sha256=QZ41V_mS1QEzn2j17uKcFD8soagSlK-R7pff0mdz4ZI,2672
798
799
  simba/sandbox/annotations_mitra.py,sha256=lvDhulY_7WwiRy1eGTTxxHMv4qrAUPiwnyC3Eu0SQ9Q,1904
799
800
  simba/sandbox/append_targets'.py,sha256=f8lB0FFdJy97uZuEyfWsJYOf2Uw05skSGjH3uiLFtrQ,4106
@@ -1095,6 +1096,7 @@ simba/sandbox/pose_plotting_cuda.py,sha256=u404xioJfg_l69wzEJMxmVkWiixiOLkt5T6kM
1095
1096
  simba/sandbox/pose_plotting_gpu.py,sha256=IUHqTln0B8RbrxK0bLwdYcKQ-Kxw6hNsseyTprRnfUw,7747
1096
1097
  simba/sandbox/pose_vis_gpu.py,sha256=OGDA2xcrCrYx2ubkZvFqhqvRJA5dtsdvud8LJfFNFG8,1737
1097
1098
  simba/sandbox/preferred_turning_direction.py,sha256=xPAuXH3__ttac_CUg4yisbXmGxqXX5wVzgvmM3fVoxs,2018
1099
+ simba/sandbox/proboscis_to_tip.py,sha256=wxjjAaAlDO_GGFa7xp4oM1rMWyXKgYIPD-NYbuznX-8,1445
1098
1100
  simba/sandbox/profiler.py,sha256=tXMd5wdD8YoQS4KtfldqmVHpqo8XNeu9wcIeDvI9cwE,130
1099
1101
  simba/sandbox/px_to_mm.py,sha256=2dLMuHteEzlD35vYIGsN6zfZVUPuWw2Vun39XXeBJqU,9394
1100
1102
  simba/sandbox/pypi_sizes.py,sha256=4w6tR9mb772e7GfwqcTtb_Ms4doqtjq8i8zg9HAk-v8,1037
@@ -1200,6 +1202,12 @@ simba/sandbox/superimpose_text.py,sha256=TfNwIdFF8e8lCdBhDi6-26x10JLYqHR8Bu1Bua5
1200
1202
  simba/sandbox/superpixels.py,sha256=QaRXX-axJKprBG1NyHr4xi09oH7v8B1U4x96QP37FSs,1671
1201
1203
  simba/sandbox/temporal_align.py,sha256=SIA_GxLakCzREVUKWUwXJtprO6bq5gAvbmYuiCg5QHg,3866
1202
1204
  simba/sandbox/test_camera_movement.py,sha256=dKzjT8l14U1bjiM7-Pt7AkCdpaBK_1vmXs3zBWf-xCQ,2567
1205
+ simba/sandbox/test_directionality.py,sha256=40d2u6wLqRoK4TXccs6DRJ-YqZ7gdEmuqGvOONRsqBM,1513
1206
+ simba/sandbox/test_nonstatic_directionality.py,sha256=Ol359G3TnAnKyPVUquTD5HaF99QEGmiHn2rvkOfjPkw,975
1207
+ simba/sandbox/test_pycharm_cuda.py,sha256=MvU2oOMcPHlCoL1JySaAtetjKpWAXhLQDGwJyWskaTE,1600
1208
+ simba/sandbox/test_simba_install.py,sha256=eBpP1YxUy4gHEJ-t3ZXoy7WYsR8Z4u4cPJnXFiwAS5g,1205
1209
+ simba/sandbox/test_static_directionality.py,sha256=v8pJX_P7PuIXvT8LMdZ0xOzwQCkSeqxDAJZBbvmSk0E,872
1210
+ simba/sandbox/test_static_directionality_2d.py,sha256=huXC3NVdfWziiZqStmlme_Mrq3nV2gmguAde3CxJqqE,957
1203
1211
  simba/sandbox/testss.py,sha256=M4S9S-bEJeA_t5CZEuqMwhMy678_Gv6V3iPMmO-iKns,182
1204
1212
  simba/sandbox/time_stamp_calculator.py,sha256=iMVc7c6uAuXsrV8ywZU6Xovl_iTFAB4vjlLYsHaZtuc,1613
1205
1213
  simba/sandbox/time_stitching.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1213,6 +1221,7 @@ simba/sandbox/unsupervised_lof.py,sha256=fEkcIa2qEeWm7cwKIoIwCyEEQQLLwBRiMYtQOBE
1213
1221
  simba/sandbox/unsupervised_outliers.py,sha256=WIVgsuXSWcqmCBy13rH54habSyyw3_ORMPDHx09utl4,16328
1214
1222
  simba/sandbox/update_merge_coco_kp.py,sha256=3fuiGJym9CpBpPPgdp9w1UK1dYhn9wzmec29X6vfCaY,7724
1215
1223
  simba/sandbox/velocity_aggregator.py,sha256=3OmDUv5F8vv0WacxQofezHWHV833Or_lP1XAvnVAfzM,4655
1224
+ simba/sandbox/verify_env.py,sha256=E3Tx8a8uDzcZQdwvmYs2bp7x-hac_im5I9uVZv9wAZE,1347
1216
1225
  simba/sandbox/vertical_video_concatenator.py,sha256=kCkcIcHcptw-awBcNiuM1Gztb3L8qozjwd__BO9gzkU,4232
1217
1226
  simba/sandbox/video_color.py,sha256=Tl1x6ZbkB5PGj1D7QGTqXuZxIkbogLggYbfvqGumxJg,2893
1218
1227
  simba/sandbox/video_meta_data_get.py,sha256=foTzEuuqd0gYCVz54fWF4bITpANfBfCglNdLvRdpXj0,1979
@@ -1256,7 +1265,7 @@ simba/sandbox/ares/show_graph.py,sha256=ibOEXmtTyBL6TkBKSq7xYvnAZcmI3Fmwk67E-7x9
1256
1265
  simba/sandbox/ares/sleap_to_bbox.py,sha256=lpdCpn7-aBLlIb7Spc11Tzf36RhPnUrjIakV8RWtDFY,2254
1257
1266
  simba/sandbox/ares/to_graphs.py,sha256=kzxE8hKm8794Rer6XNu88M6xGgQ9OmIzzfCIY3yxlBo,1514
1258
1267
  simba/sandbox/cuda/__init__.py,sha256=s8rocDErFqpg0Gaapfmh6NP4fr0dmq8E03boCYuAIuM,2905
1259
- simba/sandbox/cuda/egocentric_rotator.py,sha256=m6zZFaSrADF4CoDwTPAYTaZDu98bP_kFp5mWTKxM7dw,21123
1268
+ simba/sandbox/cuda/egocentric_rotator.py,sha256=YCvxbPtoNOQAmYaYlhG0hCTqnt91dXH7Wyt7b2GJQr4,20749
1260
1269
  simba/sandbox/cuda/jitted_line_crosses_to_static_targets.py,sha256=zaO7R8nE64QQlzjTZDDFP0LqOkMTjxYPwUAmvejQSXA,4907
1261
1270
  simba/sandbox/maplight/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1262
1271
  simba/sandbox/maplight/add_videos_to_dlc_config.py,sha256=QUsdlOpc6XcF46vuHOxgbhY66A2lj3L6m84OD7Q9uwY,1176
@@ -1399,7 +1408,7 @@ simba/ui/pop_ups/dlc_to_yolo_keypoints_popup.py,sha256=DMl-fZKennbMyrHIyRnJ_FnbR
1399
1408
  simba/ui/pop_ups/duplicate_rois_by_source_target_popup.py,sha256=VRJ29FxkYQOCQ8GwQUQK9DRgaWNnw6WnImu_mIGgi9g,12429
1400
1409
  simba/ui/pop_ups/egocentric_alignment_pop_up.py,sha256=BJEQXOxo0yuyj4nEiH0YeYuSsq5-3KfaE_DXUEcmU-Y,7085
1401
1410
  simba/ui/pop_ups/extract_annotation_frames_pop_up.py,sha256=IxSed3wZoDftHs7YfykJzHgg8_SiCqU1t_1Us9XGgWg,5975
1402
- simba/ui/pop_ups/fsttc_pop_up.py,sha256=GF1FLq-j-GfWNiUcRWLhRnRU5nxhOJI-2xDn3JA5y3U,3311
1411
+ simba/ui/pop_ups/fsttc_pop_up.py,sha256=0wckzGasbU1ef2bFJK5AlKQkIgMOV0iotBwC9vI5yfw,3700
1403
1412
  simba/ui/pop_ups/gantt_pop_up.py,sha256=gkqg74sxjHsaB-FHLIXW-275wuZMwjC7cPKfrn0jVOA,9234
1404
1413
  simba/ui/pop_ups/heatmap_clf_pop_up.py,sha256=uyYQI-R3jswkB2LI3UYRiPySNDcmv_Cn_sSjJQK3uSA,8519
1405
1414
  simba/ui/pop_ups/heatmap_location_pop_up.py,sha256=LeQPzcjLSCCn8my-dvIIQ9DDTNtblxPSmCp7x4Ob7YY,8645
@@ -1407,7 +1416,7 @@ simba/ui/pop_ups/helpers.py,sha256=wjxintf8wqKfm8SqfDDLVqDGlwKkWbXVtF-e5HwauVs,6
1407
1416
  simba/ui/pop_ups/import_roi_csv_popup.py,sha256=k2kL1ZonBe9J70oUligTGFaSwIW0C8OmdNBr4SjilmA,4795
1408
1417
  simba/ui/pop_ups/initialize_blob_tracking_pop_up.py,sha256=8D0SV2pkkNyzTxi9h5h1rcF4ndRLiwe8pQ7EkZTemG0,2400
1409
1418
  simba/ui/pop_ups/interpolate_pop_up.py,sha256=fz360nYiX6YyFDY3VK7quMyx4w_gzVtygaXVc3xey9g,6284
1410
- simba/ui/pop_ups/kleinberg_pop_up.py,sha256=aMTWc5OevqKmkpB09NtS3Yxr8R3pNKeFMtLiT1w1PeQ,6196
1419
+ simba/ui/pop_ups/kleinberg_pop_up.py,sha256=yRALHibKTZe92dPfcLcoLc1B6SjqV1ErqfHqFHB2kKI,6237
1411
1420
  simba/ui/pop_ups/labelme_bbox_to_yolo_bbox_popup.py,sha256=iL3g7V5f_Cg_m_D-QA3yPHLRpjMo9vXCPIBwvU4iKn0,3681
1412
1421
  simba/ui/pop_ups/labelme_dir_to_csv_popup.py,sha256=zsObRf09LWCg0X2Wwi7bvfhQT5bXYvfkmUvlIS6k8rM,3611
1413
1422
  simba/ui/pop_ups/labelme_to_df_popup.py,sha256=KE93Dvc-6X44CxnvRFAL5dFkv_i_HC7gwbtaXSZLFhw,4293
@@ -1496,12 +1505,12 @@ simba/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1496
1505
  simba/utils/checks.py,sha256=e_rcZymSqzhw6kiBjeMVH3zKAV2jUaCrbrwglYho3YY,117243
1497
1506
  simba/utils/config_creator.py,sha256=KxBdMOTf85bnAf9KprfIebzBbr5JlZl2EH0c-UMW45Y,14894
1498
1507
  simba/utils/custom_feature_extractor.py,sha256=Zj5pNDAISuPEtzQtIvnkynHfYh3nzdQtSSzN3_vJeEk,11871
1499
- simba/utils/data.py,sha256=Zc3BrVGddEgZkm7yvVaBMot8HBz12d_nhHaXhrWB0UM,100827
1508
+ simba/utils/data.py,sha256=8Mkh79lY5qFWffSar-02gctTxvEV35_YQIPAR48AhtM,100777
1500
1509
  simba/utils/enums.py,sha256=ZR2175N06ZHZNiHk8n757T-WGyt1-55LLpcg3Sbb91k,38668
1501
- simba/utils/errors.py,sha256=GeEF9K_9EWHQqZP-ptTM8ABmb9o0SCnec52t0Qw5Tno,18237
1502
- simba/utils/lookups.py,sha256=MTzHIHJpiOtFSTVNQCGMyfY_ItEaurc69QrtCQIfRh8,48918
1510
+ simba/utils/errors.py,sha256=aC-1qiGlh1vvHxUaPxBMQ9-LW-KKWXCGlH9acCPH0Cc,18788
1511
+ simba/utils/lookups.py,sha256=ZQwY7z74RpDrRJNyYiM-122prRw9qwmijpEe5Ut0lSA,47715
1503
1512
  simba/utils/printing.py,sha256=2s-uESy1knuPiniqQ-q277uQ2teYM4OHo9Y4L20JQWM,5353
1504
- simba/utils/read_write.py,sha256=2786DQVZ88EpYPglLlvDZr9Q_kt-ILcMaJ1zV9hTfIw,187576
1513
+ simba/utils/read_write.py,sha256=2KnRWtWucbWLsg__-MQDjAv0RGfsfU-6apxQWI1s9KI,188412
1505
1514
  simba/utils/warnings.py,sha256=K7w1RiDL4Un7rGaabOVCGc9fHcaKxk66iZyNLS_AtOE,8121
1506
1515
  simba/utils/yolo.py,sha256=4RTC1JYnZ7WgaWmf70cZATbUtjRQfJ1HyhJhglpAEcs,18482
1507
1516
  simba/utils/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1515,18 +1524,18 @@ simba/video_processors/blob_tracking_executor.py,sha256=W24Men4nzN4nkKaOsq-ERuSa
1515
1524
  simba/video_processors/brightness_contrast_ui.py,sha256=nWmzho1WeJuIp3CuDjJmqMIzge2sTZn6_H0lWyZYaz0,5202
1516
1525
  simba/video_processors/calculate_px_dist.py,sha256=se9M1Kv6VxjVTZqSBmdmx29fg10s-1tL1UqJ6353Iqc,10029
1517
1526
  simba/video_processors/clahe_ui.py,sha256=2I6Z0bGapU1Fo6iO-mKLbQiUnE3G6qNu-Of8Z8VvC6s,7150
1518
- simba/video_processors/egocentric_video_rotator.py,sha256=iDA6m5CsSrD_Mn6vnvU_skIacH5fyuH8ejNX15-Iua0,11970
1527
+ simba/video_processors/egocentric_video_rotator.py,sha256=20mBA8crTqFScnIrJMCNDU_ZjEgr_VHEoEn8VD67DjM,12344
1519
1528
  simba/video_processors/extract_frames.py,sha256=7FgZBg3YfUgDr13xSDFh-XcSjSqbDc3I_Af2zUgcDIQ,3088
1520
1529
  simba/video_processors/extract_seqframes.py,sha256=Yz_Head-9IVB4sJQfh1Oe1EStC0G-Y8Q9a5DDeCbigo,4926
1521
1530
  simba/video_processors/multi_cropper.py,sha256=n_DSGv9abhSgAsDpb-VULmNVFRPADZRpVyBnARvm5No,8697
1522
1531
  simba/video_processors/roi_selector.py,sha256=5N3s0Bi1Ub6c9gjE_-mV7AWr8Fqg7HQKdBKBF6whurg,8522
1523
1532
  simba/video_processors/roi_selector_circle.py,sha256=SD_lv6V3MGiIQd0VtUFSKe83ySW_qvE1t8xsgAlr2hI,6436
1524
1533
  simba/video_processors/roi_selector_polygon.py,sha256=DMtilt__gGwNu6VV73CWbnPqrPBXkan1_akUqGEzfGw,6742
1525
- simba/video_processors/video_processing.py,sha256=ho9bz1rjl1eEomA4yfndIc46xtnvdgFNv5JJSX28n7w,311986
1526
- simba/video_processors/videos_to_frames.py,sha256=WqAjEa5enrrkKqwDkL8HhFlbgt1Sf67k2zeCQhVKryM,7323
1527
- simba_uw_tf_dev-4.6.4.dist-info/LICENSE,sha256=Sjn362upcvYFypam-b-ziOXU1Wl5GGuTt5ICrGimzyA,1720
1528
- simba_uw_tf_dev-4.6.4.dist-info/METADATA,sha256=r3UPwczfEURMUuMeXr0Gmk10MY5Hf35_Rx61KgLcVAQ,11375
1529
- simba_uw_tf_dev-4.6.4.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1530
- simba_uw_tf_dev-4.6.4.dist-info/entry_points.txt,sha256=Nfh_EbfDGdKftLjCnGWtQrBHENiDYMdgupwLyLpU5dc,44
1531
- simba_uw_tf_dev-4.6.4.dist-info/top_level.txt,sha256=ogtimvlqDxDTOBAPfT2WaQ2pGAAbKRXG8z8eUTzf6TU,14
1532
- simba_uw_tf_dev-4.6.4.dist-info/RECORD,,
1534
+ simba/video_processors/video_processing.py,sha256=jvrR3xqJJyle2snP8Tey54bgB0-hpuzMrzSiWhFK53k,317843
1535
+ simba/video_processors/videos_to_frames.py,sha256=FDZ8WVGVvcH8bF4Kiu-FEPyVeDsjis7OgJOFpNa49Y0,7818
1536
+ simba_uw_tf_dev-4.6.6.dist-info/LICENSE,sha256=Sjn362upcvYFypam-b-ziOXU1Wl5GGuTt5ICrGimzyA,1720
1537
+ simba_uw_tf_dev-4.6.6.dist-info/METADATA,sha256=ASJGWQiiTkJXyvs1q2Dhv1-wthrllCogYq9bTITgH8k,11375
1538
+ simba_uw_tf_dev-4.6.6.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
1539
+ simba_uw_tf_dev-4.6.6.dist-info/entry_points.txt,sha256=Nfh_EbfDGdKftLjCnGWtQrBHENiDYMdgupwLyLpU5dc,44
1540
+ simba_uw_tf_dev-4.6.6.dist-info/top_level.txt,sha256=ogtimvlqDxDTOBAPfT2WaQ2pGAAbKRXG8z8eUTzf6TU,14
1541
+ simba_uw_tf_dev-4.6.6.dist-info/RECORD,,