simba-uw-tf-dev 4.6.2__py3-none-any.whl → 4.6.4__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 (46) hide show
  1. simba/assets/lookups/tooptips.json +6 -1
  2. simba/data_processors/agg_clf_counter_mp.py +52 -53
  3. simba/data_processors/cuda/image.py +3 -1
  4. simba/data_processors/cue_light_analyzer.py +5 -9
  5. simba/data_processors/kleinberg_calculator.py +57 -29
  6. simba/mixins/geometry_mixin.py +14 -28
  7. simba/mixins/image_mixin.py +10 -14
  8. simba/mixins/train_model_mixin.py +2 -2
  9. simba/plotting/ROI_feature_visualizer_mp.py +3 -5
  10. simba/plotting/clf_validator_mp.py +4 -5
  11. simba/plotting/cue_light_visualizer.py +6 -7
  12. simba/plotting/directing_animals_visualizer_mp.py +2 -3
  13. simba/plotting/distance_plotter_mp.py +378 -378
  14. simba/plotting/gantt_creator_mp.py +61 -31
  15. simba/plotting/geometry_plotter.py +270 -272
  16. simba/plotting/heat_mapper_clf_mp.py +2 -4
  17. simba/plotting/heat_mapper_location_mp.py +2 -2
  18. simba/plotting/light_dark_box_plotter.py +2 -2
  19. simba/plotting/path_plotter_mp.py +26 -29
  20. simba/plotting/plot_clf_results_mp.py +455 -454
  21. simba/plotting/pose_plotter_mp.py +28 -29
  22. simba/plotting/probability_plot_creator_mp.py +288 -288
  23. simba/plotting/roi_plotter_mp.py +31 -31
  24. simba/plotting/single_run_model_validation_video_mp.py +427 -427
  25. simba/plotting/spontaneous_alternation_plotter.py +2 -3
  26. simba/plotting/yolo_pose_track_visualizer.py +32 -27
  27. simba/plotting/yolo_pose_visualizer.py +35 -36
  28. simba/plotting/yolo_seg_visualizer.py +2 -3
  29. simba/roi_tools/roi_aggregate_stats_mp.py +4 -3
  30. simba/roi_tools/roi_clf_calculator_mp.py +3 -3
  31. simba/sandbox/get_cpu_pool.py +5 -0
  32. simba/ui/pop_ups/kleinberg_pop_up.py +39 -41
  33. simba/ui/tkinter_functions.py +3 -0
  34. simba/utils/data.py +89 -12
  35. simba/utils/enums.py +1 -0
  36. simba/utils/printing.py +124 -124
  37. simba/utils/read_write.py +3730 -3721
  38. simba/video_processors/egocentric_video_rotator.py +2 -4
  39. simba/video_processors/video_processing.py +19 -8
  40. simba/video_processors/videos_to_frames.py +1 -1
  41. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/METADATA +1 -1
  42. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/RECORD +46 -45
  43. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/LICENSE +0 -0
  44. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/WHEEL +0 -0
  45. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/entry_points.txt +0 -0
  46. {simba_uw_tf_dev-4.6.2.dist-info → simba_uw_tf_dev-4.6.4.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,9 @@
1
1
  __author__ = "Simon Nilsson; sronilsson@gmail.com"
2
2
 
3
3
  import functools
4
- import itertools
5
4
  import multiprocessing
6
5
  import os
7
- from typing import List, Optional, Union
6
+ from typing import List, Union
8
7
 
9
8
  import cv2
10
9
  import numpy as np
@@ -16,14 +15,15 @@ from simba.utils.checks import (check_file_exist_and_readable, check_int,
16
15
  check_valid_boolean, check_valid_dataframe,
17
16
  check_valid_lst)
18
17
  from simba.utils.data import (create_color_palettes, detect_bouts,
19
- slice_roi_dict_from_attribute)
20
- from simba.utils.enums import Defaults, Formats, Keys, TextOptions
18
+ slice_roi_dict_from_attribute,
19
+ terminate_cpu_pool)
20
+ from simba.utils.enums import Defaults, Formats, TextOptions
21
21
  from simba.utils.errors import NoROIDataError, NoSpecifiedOutputError
22
22
  from simba.utils.printing import stdout_success
23
23
  from simba.utils.read_write import (concatenate_videos_in_folder,
24
24
  create_directory, find_core_cnt,
25
25
  get_fn_ext, get_video_meta_data, read_df,
26
- read_frm_of_video, remove_a_folder)
26
+ read_frm_of_video)
27
27
 
28
28
 
29
29
  def _plot_cue_light_data(frm_idxs: list,
@@ -197,8 +197,7 @@ class CueLightVisualizer(ConfigReader):
197
197
  for cnt, result in enumerate(pool.imap(constants, self.frame_chunks, chunksize=self.multiprocess_chunksize)):
198
198
  if self.verbose:
199
199
  print(f'Batch {int(result+1/self.core_cnt)} complete...')
200
- pool.terminate()
201
- pool.join()
200
+ terminate_cpu_pool(pool=pool, force=False)
202
201
  self.timer.stop_timer()
203
202
  if self.video_setting:
204
203
  print(f"Joining {self.video_name} multiprocessed video...")
@@ -19,7 +19,7 @@ from simba.utils.checks import (check_file_exist_and_readable,
19
19
  check_if_valid_rgb_tuple, check_int,
20
20
  check_valid_lst,
21
21
  check_video_and_data_frm_count_align)
22
- from simba.utils.data import create_color_palettes
22
+ from simba.utils.data import create_color_palettes, terminate_cpu_pool
23
23
  from simba.utils.enums import OS, Formats, Keys, TextOptions
24
24
  from simba.utils.errors import (AnimalNumberError, InvalidInputError,
25
25
  NoFilesFoundError)
@@ -226,8 +226,7 @@ class DirectingOtherAnimalsVisualizerMultiprocess(ConfigReader, PlottingMixin):
226
226
  print(f"Joining {self.video_name} multi-processed video...")
227
227
  concatenate_videos_in_folder(in_folder=self.save_temp_path, save_path=self.save_path, video_format="mp4", remove_splits=True)
228
228
  self.timer.stop_timer()
229
- pool.terminate()
230
- pool.join()
229
+ terminate_cpu_pool(pool=pool, force=False)
231
230
  stdout_success(msg=f"Video {self.video_name} complete. Video saved in {self.directing_animals_video_output_path} directory", elapsed_time=self.timer.elapsed_time_str)
232
231
 
233
232