OTVision 0.6.3__tar.gz → 0.6.4__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 (296) hide show
  1. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/buffer.py +2 -1
  2. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/detected_frame_buffer.py +3 -0
  3. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/video_input_source.py +1 -2
  4. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/frame.py +9 -0
  5. {otvision-0.6.3 → otvision-0.6.4}/OTVision/version.py +1 -1
  6. {otvision-0.6.3 → otvision-0.6.4}/PKG-INFO +1 -1
  7. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/test_detected_frame_buffer.py +34 -0
  8. {otvision-0.6.3 → otvision-0.6.4}/.editorconfig +0 -0
  9. {otvision-0.6.3 → otvision-0.6.4}/.flake8 +0 -0
  10. {otvision-0.6.3 → otvision-0.6.4}/.github/dependabot.yml +0 -0
  11. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/build-nightly.yml +0 -0
  12. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/build-release.yml +0 -0
  13. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/linter.yml +0 -0
  14. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/release-pypi.yml +0 -0
  15. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/release-testpypi.yml +0 -0
  16. {otvision-0.6.3 → otvision-0.6.4}/.github/workflows/test.yml +0 -0
  17. {otvision-0.6.3 → otvision-0.6.4}/.gitignore +0 -0
  18. {otvision-0.6.3 → otvision-0.6.4}/.pre-commit-config.yaml +0 -0
  19. {otvision-0.6.3 → otvision-0.6.4}/.vscode/launch.json +0 -0
  20. {otvision-0.6.3 → otvision-0.6.4}/.vscode/scripts/build_debug_env.cmd +0 -0
  21. {otvision-0.6.3 → otvision-0.6.4}/.vscode/scripts/build_debug_env.sh +0 -0
  22. {otvision-0.6.3 → otvision-0.6.4}/.vscode/scripts/teardown_debug_env.cmd +0 -0
  23. {otvision-0.6.3 → otvision-0.6.4}/.vscode/scripts/teardown_debug_env.sh +0 -0
  24. {otvision-0.6.3 → otvision-0.6.4}/.vscode/settings.json +0 -0
  25. {otvision-0.6.3 → otvision-0.6.4}/.vscode/tasks.json +0 -0
  26. {otvision-0.6.3 → otvision-0.6.4}/.yamllint.yaml +0 -0
  27. {otvision-0.6.3 → otvision-0.6.4}/LICENSE +0 -0
  28. {otvision-0.6.3 → otvision-0.6.4}/OTVision/__init__.py +0 -0
  29. {otvision-0.6.3 → otvision-0.6.4}/OTVision/abstraction/__init__.py +0 -0
  30. {otvision-0.6.3 → otvision-0.6.4}/OTVision/abstraction/observer.py +0 -0
  31. {otvision-0.6.3 → otvision-0.6.4}/OTVision/abstraction/pipes_and_filter.py +0 -0
  32. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/__init__.py +0 -0
  33. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/configure_logger.py +0 -0
  34. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/__init__.py +0 -0
  35. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/current_object_detector.py +0 -0
  36. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/current_object_detector_metadata.py +0 -0
  37. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/detected_frame_factory.py +0 -0
  38. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/detected_frame_producer.py +0 -0
  39. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/detection_file_save_path_provider.py +0 -0
  40. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/factory.py +0 -0
  41. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/get_detect_cli_args.py +0 -0
  42. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/timestamper.py +0 -0
  43. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/detect/update_detect_config_with_cli_args.py +0 -0
  44. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/frame_count_provider.py +0 -0
  45. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/get_config.py +0 -0
  46. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/get_current_config.py +0 -0
  47. {otvision-0.6.3 → otvision-0.6.4}/OTVision/application/update_current_config.py +0 -0
  48. {otvision-0.6.3 → otvision-0.6.4}/OTVision/config.py +0 -0
  49. {otvision-0.6.3 → otvision-0.6.4}/OTVision/convert/__init__.py +0 -0
  50. {otvision-0.6.3 → otvision-0.6.4}/OTVision/convert/convert.py +0 -0
  51. {otvision-0.6.3 → otvision-0.6.4}/OTVision/dataformat.py +0 -0
  52. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/__init__.py +0 -0
  53. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/builder.py +0 -0
  54. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/cli.py +0 -0
  55. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/detect.py +0 -0
  56. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/otdet.py +0 -0
  57. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/otdet_file_writer.py +0 -0
  58. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/plugin_av/__init__.py +0 -0
  59. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/plugin_av/rotate_frame.py +0 -0
  60. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/pyav_frame_count_provider.py +0 -0
  61. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/timestamper.py +0 -0
  62. {otvision-0.6.3 → otvision-0.6.4}/OTVision/detect/yolo.py +0 -0
  63. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/__init__.py +0 -0
  64. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/cli.py +0 -0
  65. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/current_config.py +0 -0
  66. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/detect_producer_consumer.py +0 -0
  67. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/detection.py +0 -0
  68. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/input_source_detect.py +0 -0
  69. {otvision-0.6.3 → otvision-0.6.4}/OTVision/domain/object_detection.py +0 -0
  70. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/__init__.py +0 -0
  71. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/date.py +0 -0
  72. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/files.py +0 -0
  73. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/formats.py +0 -0
  74. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/input_types.py +0 -0
  75. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/log.py +0 -0
  76. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/machine.py +0 -0
  77. {otvision-0.6.3 → otvision-0.6.4}/OTVision/helpers/video.py +0 -0
  78. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/__init__.py +0 -0
  79. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/exporter/__init__.py +0 -0
  80. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/exporter/filebased_exporter.py +0 -0
  81. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/__init__.py +0 -0
  82. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/filebased/__init__.py +0 -0
  83. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/filebased/frame_chunk.py +0 -0
  84. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/filebased/frame_group.py +0 -0
  85. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/track_exporter.py +0 -0
  86. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/model/tracking_interfaces.py +0 -0
  87. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/parser/__init__.py +0 -0
  88. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/parser/chunk_parser_plugins.py +0 -0
  89. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/parser/frame_group_parser_plugins.py +0 -0
  90. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/track.py +0 -0
  91. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/tracker/__init__.py +0 -0
  92. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/tracker/filebased_tracking.py +0 -0
  93. {otvision-0.6.3 → otvision-0.6.4}/OTVision/track/tracker/tracker_plugin_iou.py +0 -0
  94. {otvision-0.6.3 → otvision-0.6.4}/OTVision/transform/__init__.py +0 -0
  95. {otvision-0.6.3 → otvision-0.6.4}/OTVision/transform/get_homography.py +0 -0
  96. {otvision-0.6.3 → otvision-0.6.4}/OTVision/transform/reference_points_picker.py +0 -0
  97. {otvision-0.6.3 → otvision-0.6.4}/OTVision/transform/transform.py +0 -0
  98. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/__init__.py +0 -0
  99. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/helpers/OTC.ico +0 -0
  100. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view.py +0 -0
  101. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view_convert.py +0 -0
  102. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view_detect.py +0 -0
  103. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view_helpers.py +0 -0
  104. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view_track.py +0 -0
  105. {otvision-0.6.3 → otvision-0.6.4}/OTVision/view/view_transform.py +0 -0
  106. {otvision-0.6.3 → otvision-0.6.4}/OTVision.bat +0 -0
  107. {otvision-0.6.3 → otvision-0.6.4}/README.md +0 -0
  108. {otvision-0.6.3 → otvision-0.6.4}/clean-up-repository.sh +0 -0
  109. {otvision-0.6.3 → otvision-0.6.4}/config.yml +0 -0
  110. {otvision-0.6.3 → otvision-0.6.4}/convert.py +0 -0
  111. {otvision-0.6.3 → otvision-0.6.4}/detect.py +0 -0
  112. {otvision-0.6.3 → otvision-0.6.4}/export_models.py +0 -0
  113. {otvision-0.6.3 → otvision-0.6.4}/install.cmd +0 -0
  114. {otvision-0.6.3 → otvision-0.6.4}/install.sh +0 -0
  115. {otvision-0.6.3 → otvision-0.6.4}/install_dev.cmd +0 -0
  116. {otvision-0.6.3 → otvision-0.6.4}/install_dev.sh +0 -0
  117. {otvision-0.6.3 → otvision-0.6.4}/pyproject.toml +0 -0
  118. {otvision-0.6.3 → otvision-0.6.4}/reference_points_picker.py +0 -0
  119. {otvision-0.6.3 → otvision-0.6.4}/requirements-dev.txt +0 -0
  120. {otvision-0.6.3 → otvision-0.6.4}/requirements.txt +0 -0
  121. {otvision-0.6.3 → otvision-0.6.4}/tests/__init__.py +0 -0
  122. {otvision-0.6.3 → otvision-0.6.4}/tests/abstraction/__init__.py +0 -0
  123. {otvision-0.6.3 → otvision-0.6.4}/tests/abstraction/test_observer.py +0 -0
  124. {otvision-0.6.3 → otvision-0.6.4}/tests/application/__init__.py +0 -0
  125. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/__init__.py +0 -0
  126. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_current_object_detector.py +0 -0
  127. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_detected_frame_factory.py +0 -0
  128. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_detected_frame_producer.py +0 -0
  129. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_detection_file_save_path_provider.py +0 -0
  130. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_get_detect_cli_args.py +0 -0
  131. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_timestamper.py +0 -0
  132. {otvision-0.6.3 → otvision-0.6.4}/tests/application/detect/test_update_detect_config_with_cli_args.py +0 -0
  133. {otvision-0.6.3 → otvision-0.6.4}/tests/application/test_buffer.py +0 -0
  134. {otvision-0.6.3 → otvision-0.6.4}/tests/application/test_get_config.py +0 -0
  135. {otvision-0.6.3 → otvision-0.6.4}/tests/cli/custom_cli_test_config.yaml +0 -0
  136. {otvision-0.6.3 → otvision-0.6.4}/tests/cli/test_convert_cli.py +0 -0
  137. {otvision-0.6.3 → otvision-0.6.4}/tests/cli/test_detect_cli.py +0 -0
  138. {otvision-0.6.3 → otvision-0.6.4}/tests/cli/test_track_cli.py +0 -0
  139. {otvision-0.6.3 → otvision-0.6.4}/tests/conftest.py +0 -0
  140. {otvision-0.6.3 → otvision-0.6.4}/tests/convert/__init__.py +0 -0
  141. {otvision-0.6.3 → otvision-0.6.4}/tests/convert/test_convert.py +0 -0
  142. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_CamView.png +0 -0
  143. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_CamView_Cars-Cyclist.png +0 -0
  144. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_CamView_Cars-Truck.png +0 -0
  145. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_CamView_refpts.png +0 -0
  146. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.gpkg +0 -0
  147. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  148. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  149. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  150. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otrfpts +0 -0
  151. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  152. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.gpkg +0 -0
  153. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  154. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  155. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  156. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otrfpts +0 -0
  157. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  158. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_FR20.otrfpts +0 -0
  159. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Satellite.jpg +0 -0
  160. {otvision-0.6.3 → otvision-0.6.4}/tests/data/Testvideo_Satellite_far.jpg +0 -0
  161. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  162. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  163. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  164. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  165. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fail_fps_from_filename/Testvideo_Cars-Cyclist_F20_2020-01-01_00-00-00.h264 +0 -0
  166. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fail_fps_from_filename/Testvideo_Cars-Truck_2020-01-01_00-00-00.h264 +0 -0
  167. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fps_from_filename/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  168. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fps_from_filename/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  169. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fps_from_filename/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  170. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/fps_from_filename/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  171. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_20/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  172. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_20/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  173. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_20/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  174. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_20/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  175. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_40/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  176. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_40/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  177. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_40/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  178. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/input_fps_40/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  179. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.avi +0 -0
  180. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  181. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.avi +0 -0
  182. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  183. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  184. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mkv +0 -0
  185. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  186. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mkv +0 -0
  187. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  188. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mov +0 -0
  189. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  190. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mov +0 -0
  191. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
  192. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  193. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
  194. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  195. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.h264 +0 -0
  196. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.mov +0 -0
  197. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.mp4 +0 -0
  198. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.h264 +0 -0
  199. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.mov +0 -0
  200. {otvision-0.6.3 → otvision-0.6.4}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.mp4 +0 -0
  201. {otvision-0.6.3 → otvision-0.6.4}/tests/data/detect/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  202. {otvision-0.6.3 → otvision-0.6.4}/tests/data/detect/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
  203. {otvision-0.6.3 → otvision-0.6.4}/tests/data/detect/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  204. {otvision-0.6.3 → otvision-0.6.4}/tests/data/detect/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  205. {otvision-0.6.3 → otvision-0.6.4}/tests/data/detect/rotated-Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
  206. {otvision-0.6.3 → otvision-0.6.4}/tests/data/log/_otvision_logs/test.log +0 -0
  207. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  208. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  209. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  210. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  211. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  212. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  213. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  214. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  215. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  216. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  217. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  218. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  219. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  220. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  221. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  222. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  223. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  224. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  225. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  226. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  227. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  228. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  229. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  230. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  231. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  232. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  233. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  234. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  235. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_10/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  236. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_10/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  237. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_10/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  238. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_10/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  239. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_3/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  240. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_3/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  241. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_3/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  242. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_min_3/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  243. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_25/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  244. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_25/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  245. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_25/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  246. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_25/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  247. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_75/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
  248. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_75/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  249. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_75/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
  250. {otvision-0.6.3 → otvision-0.6.4}/tests/data/track/t_miss_max_75/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  251. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.gpkg +0 -0
  252. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otrfpts +0 -0
  253. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
  254. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.gpkg +0 -0
  255. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otrfpts +0 -0
  256. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
  257. {otvision-0.6.3 → otvision-0.6.4}/tests/data/transform/Testvideo_FR20.otrfpts +0 -0
  258. {otvision-0.6.3 → otvision-0.6.4}/tests/data/yolov8m.mlpackage/Data/com.apple.CoreML/model.mlmodel +0 -0
  259. {otvision-0.6.3 → otvision-0.6.4}/tests/data/yolov8m.mlpackage/Data/com.apple.CoreML/weights/weight.bin +0 -0
  260. {otvision-0.6.3 → otvision-0.6.4}/tests/data/yolov8m.mlpackage/Manifest.json +0 -0
  261. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/__init__.py +0 -0
  262. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/detect_test.py +0 -0
  263. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/plugin_av/__init__.py +0 -0
  264. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/plugin_av/test_rotate_frame.py +0 -0
  265. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/test_odet.py +0 -0
  266. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/test_otdet_file_writer.py +0 -0
  267. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/test_pyav_frame_count_provider.py +0 -0
  268. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/test_video_input_source.py +0 -0
  269. {otvision-0.6.3 → otvision-0.6.4}/tests/detect/yolo_test.py +0 -0
  270. {otvision-0.6.3 → otvision-0.6.4}/tests/helpers/__init__.py +0 -0
  271. {otvision-0.6.3 → otvision-0.6.4}/tests/helpers/files_test.py +0 -0
  272. {otvision-0.6.3 → otvision-0.6.4}/tests/helpers/formats_test.py +0 -0
  273. {otvision-0.6.3 → otvision-0.6.4}/tests/helpers/test_log.py +0 -0
  274. {otvision-0.6.3 → otvision-0.6.4}/tests/log/__init__.py +0 -0
  275. {otvision-0.6.3 → otvision-0.6.4}/tests/log/log_maker.py +0 -0
  276. {otvision-0.6.3 → otvision-0.6.4}/tests/log/test_log.py +0 -0
  277. {otvision-0.6.3 → otvision-0.6.4}/tests/test_config.py +0 -0
  278. {otvision-0.6.3 → otvision-0.6.4}/tests/track/__init__.py +0 -0
  279. {otvision-0.6.3 → otvision-0.6.4}/tests/track/helper/__init__.py +0 -0
  280. {otvision-0.6.3 → otvision-0.6.4}/tests/track/helper/data_builder.py +0 -0
  281. {otvision-0.6.3 → otvision-0.6.4}/tests/track/parser/__init__.py +0 -0
  282. {otvision-0.6.3 → otvision-0.6.4}/tests/track/parser/test_chunk_parser_plugins.py +0 -0
  283. {otvision-0.6.3 → otvision-0.6.4}/tests/track/test_frame_chunk.py +0 -0
  284. {otvision-0.6.3 → otvision-0.6.4}/tests/track/test_frame_group.py +0 -0
  285. {otvision-0.6.3 → otvision-0.6.4}/tests/track/test_frame_group_parser_plugins.py +0 -0
  286. {otvision-0.6.3 → otvision-0.6.4}/tests/track/test_track.py +0 -0
  287. {otvision-0.6.3 → otvision-0.6.4}/tests/track/test_tracking_data_structures.py +0 -0
  288. {otvision-0.6.3 → otvision-0.6.4}/tests/transform/__init__.py +0 -0
  289. {otvision-0.6.3 → otvision-0.6.4}/tests/transform/test_transform.py +0 -0
  290. {otvision-0.6.3 → otvision-0.6.4}/tests/utils/__init__.py +0 -0
  291. {otvision-0.6.3 → otvision-0.6.4}/tests/utils/generator.py +0 -0
  292. {otvision-0.6.3 → otvision-0.6.4}/tests/utils/mocking.py +0 -0
  293. {otvision-0.6.3 → otvision-0.6.4}/track.py +0 -0
  294. {otvision-0.6.3 → otvision-0.6.4}/transform.py +0 -0
  295. {otvision-0.6.3 → otvision-0.6.4}/update_precommit.py +0 -0
  296. {otvision-0.6.3 → otvision-0.6.4}/view.py +0 -0
@@ -22,7 +22,8 @@ class Buffer[T, SUBJECT_TYPE, OBSERVING_TYPE](Observable[SUBJECT_TYPE], Filter[T
22
22
  return self._buffer
23
23
 
24
24
  def _reset_buffer(self) -> None:
25
- self._buffer = []
25
+ del self._buffer
26
+ self._buffer = list()
26
27
 
27
28
  def on_flush(self, event: OBSERVING_TYPE) -> None:
28
29
  buffered_elements = self._get_buffered_elements()
@@ -55,3 +55,6 @@ class DetectedFrameBuffer(Buffer[DetectedFrame, DetectedFrameBufferEvent, FlushE
55
55
  source_metadata=event.source_metadata, frames=elements
56
56
  )
57
57
  )
58
+
59
+ def buffer(self, to_buffer: DetectedFrame) -> None:
60
+ self._buffer.append(to_buffer.without_image())
@@ -7,7 +7,6 @@ import av
7
7
  from tqdm import tqdm
8
8
 
9
9
  from OTVision.abstraction.observer import Subject
10
- from OTVision.application.configure_logger import logger
11
10
  from OTVision.application.detect.detection_file_save_path_provider import (
12
11
  DetectionFileSavePathProvider,
13
12
  )
@@ -130,7 +129,7 @@ class VideoSource(InputSourceDetect):
130
129
  counter += 1
131
130
  self.notify_observers(video_file, video_fps)
132
131
  except Exception as e:
133
- logger().error(f"Error processing {video_file}", exc_info=e)
132
+ log.error(f"Error processing {video_file}", exc_info=e)
134
133
 
135
134
  def __collect_files_to_detect(self) -> list[Path]:
136
135
  filetypes = self._current_config.filetypes.video_filetypes.to_list()
@@ -59,6 +59,15 @@ class DetectedFrame:
59
59
  detections: Sequence[Detection]
60
60
  image: Optional[ndarray] = None
61
61
 
62
+ def without_image(self) -> "DetectedFrame":
63
+ return DetectedFrame(
64
+ no=self.no,
65
+ occurrence=self.occurrence,
66
+ source=self.source,
67
+ detections=self.detections,
68
+ image=None,
69
+ )
70
+
62
71
 
63
72
  IsLastFrame = Callable[[FrameNo, TrackId], bool]
64
73
 
@@ -1,4 +1,4 @@
1
- __version__ = "v0.6.3"
1
+ __version__ = "v0.6.4"
2
2
 
3
3
 
4
4
  def otdet_version() -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OTVision
3
- Version: 0.6.3
3
+ Version: 0.6.4
4
4
  Summary: OTVision is a core module of the OpenTrafficCam framework to perform object detection and tracking.
5
5
  Project-URL: Homepage, https://opentrafficcam.org/
6
6
  Project-URL: Documentation, https://opentrafficcam.org/overview/
@@ -1,3 +1,4 @@
1
+ from datetime import datetime
1
2
  from unittest.mock import Mock
2
3
 
3
4
  import pytest
@@ -8,6 +9,7 @@ from OTVision.detect.detected_frame_buffer import (
8
9
  DetectedFrameBufferEvent,
9
10
  FlushEvent,
10
11
  )
12
+ from OTVision.domain.detection import Detection
11
13
  from OTVision.domain.frame import DetectedFrame
12
14
  from tests.utils.mocking import create_mocks
13
15
 
@@ -35,3 +37,35 @@ class TestDetectedFrameBuffer:
35
37
  )
36
38
  subject_mock.notify.assert_called_once_with(expected_event)
37
39
  assert target._get_buffered_elements() == []
40
+
41
+ def test_frames_are_buffered_without_image_data(
42
+ self, target: DetectedFrameBuffer
43
+ ) -> None:
44
+ """
45
+ #Bug https://openproject.platomo.de/projects/001-opentrafficcam-live/work_packages/7623
46
+ """ # noqa
47
+ frame_number = 1
48
+ occurrence = datetime(2020, 1, 1, 12, 0, 0)
49
+ source = "my_source"
50
+ detections: list[Detection] = create_mocks(3)
51
+ image = Mock()
52
+
53
+ given_frame = DetectedFrame(
54
+ no=frame_number,
55
+ occurrence=occurrence,
56
+ source=source,
57
+ detections=detections,
58
+ image=image,
59
+ )
60
+ target.buffer(given_frame)
61
+ actual = target._get_buffered_elements()[0]
62
+
63
+ expected = DetectedFrame(
64
+ no=frame_number,
65
+ occurrence=occurrence,
66
+ source=source,
67
+ detections=detections,
68
+ image=None,
69
+ )
70
+
71
+ assert actual == expected
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes