OTVision 0.6.11__tar.gz → 0.6.13__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.
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/ottrk.py +3 -2
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/builder.py +12 -1
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/stream_ottrk_file_writer.py +17 -4
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/version.py +1 -1
- {otvision-0.6.11 → otvision-0.6.13}/PKG-INFO +2 -2
- {otvision-0.6.11 → otvision-0.6.13}/pyproject.toml +1 -1
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/track/test_ottrk.py +2 -3
- {otvision-0.6.11 → otvision-0.6.13}/uv.lock +22 -4
- {otvision-0.6.11 → otvision-0.6.13}/.editorconfig +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.flake8 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/dependabot.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/build-nightly.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/build-release.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/linter.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/release-pypi.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/release-testpypi.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.github/workflows/test.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.gitignore +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.pre-commit-config.yaml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/launch.json +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/scripts/build_debug_env.cmd +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/scripts/build_debug_env.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/scripts/teardown_debug_env.cmd +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/scripts/teardown_debug_env.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/settings.json +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.vscode/tasks.json +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/.yamllint.yaml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/LICENSE +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/abstraction/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/abstraction/defaults.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/abstraction/observer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/abstraction/pipes_and_filter.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/buffer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/config_parser.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/configure_logger.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/current_object_detector.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/current_object_detector_metadata.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/detected_frame_factory.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/factory.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/get_detect_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/timestamper.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/update_detect_config_with_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/event/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/event/new_otvision_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/event/new_video_start.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/frame_count_provider.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/get_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/get_current_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/otvision_save_path_provider.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/get_track_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/tracking_run_id.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/update_current_track_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/update_track_config_with_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/update_current_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/video/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/application/video/generate_video.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/convert/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/convert/convert.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/dataformat.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/detect.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/detected_frame_buffer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/detected_frame_producer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/detected_frame_producer_factory.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/file_based_detect_builder.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/otdet.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/otdet_file_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/plugin_av/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/plugin_av/rotate_frame.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/pyav_frame_count_provider.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/rtsp_based_detect_builder.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/rtsp_input_source.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/timestamper.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/video_input_source.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/detect/yolo.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/current_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/detect_producer_consumer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/detection.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/frame.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/input_source_detect.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/object_detection.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/serialization.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/time.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/domain/video_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/date.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/files.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/formats.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/input_types.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/log.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/machine.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/helpers/video.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/plugin/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/plugin/ffmpeg_video_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/plugin/generate_video.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/plugin/yaml_serialization.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/builder.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/exporter/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/exporter/filebased_exporter.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/id_generator.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/filebased/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/filebased/frame_chunk.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/filebased/frame_group.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/track_exporter.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/model/tracking_interfaces.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/parser/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/parser/chunk_parser_plugins.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/parser/frame_group_parser_plugins.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/track.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/tracker/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/tracker/filebased_tracking.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/track/tracker/tracker_plugin_iou.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/transform/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/transform/get_homography.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/transform/reference_points_picker.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/transform/transform.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/helpers/OTC.ico +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view_convert.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view_detect.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view_helpers.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view_track.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision/view/view_transform.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/OTVision.bat +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/README.md +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/clean-up-repository.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/config.yml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/convert.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/detect.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/export_models.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/generate_video.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install.cmd +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install_cuda.cmd +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install_cuda.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install_dev.cmd +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/install_dev.sh +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/reference_points_picker.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/abstraction/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/abstraction/test_defaults.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/abstraction/test_observer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/test_current_object_detector.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/test_detected_frame_factory.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/test_get_detect_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/test_timestamper.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/detect/test_update_detect_config_with_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/test_buffer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/test_config_parser.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/test_get_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/test_otvision_save_path_provider.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/track/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/track/test_get_track_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/track/test_update_current_track_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/application/track/test_update_track_config_with_cli_args.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/cli/custom_cli_test_config.yaml +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/cli/test_convert_cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/cli/test_detect_cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/cli/test_track_cli.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/conftest.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/convert/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/convert/test_convert.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_CamView.png +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_CamView_Cars-Cyclist.png +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_CamView_Cars-Truck.png +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_CamView_refpts.png +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.gpkg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.gpkg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_FR20.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Satellite.jpg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/Testvideo_Satellite_far.jpg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fail_fps_from_filename/Testvideo_Cars-Cyclist_F20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fail_fps_from_filename/Testvideo_Cars-Truck_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fps_from_filename/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fps_from_filename/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fps_from_filename/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/fps_from_filename/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_20/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_20/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_20/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_20/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_40/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_40/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_40/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/input_fps_40/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.avi +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.avi +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_avi/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mkv +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mkv/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mkv +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mov +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mov/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mov +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/output_filetype_mp4/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.mov +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00_rotate.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.h264 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.mov +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/convert/rotation/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00_rotate.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/detect/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/detect/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/detect/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/detect/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/detect/rotated-Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.mp4 +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/log/_otvision_logs/test.log +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/default/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/default/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_h_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_2/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_iou_0_6/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_1/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/sigma_l_0_5/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_10/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_10/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_10/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_10/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_3/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_3/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_3/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_min_3/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_25/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_25/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_25/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_25/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_75/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_75/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_75/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otdet +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/track/t_miss_max_75/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.gpkg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Cyclist_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.gpkg +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_Cars-Truck_FR20_2020-01-01_00-00-00.ottrk +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/transform/Testvideo_FR20.otrfpts +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/yolov8m.mlpackage/Data/com.apple.CoreML/model.mlmodel +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/yolov8m.mlpackage/Data/com.apple.CoreML/weights/weight.bin +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/data/yolov8m.mlpackage/Manifest.json +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/detect_test.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/plugin_av/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/plugin_av/test_rotate_frame.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_detected_frame_buffer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_detected_frame_producer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_detected_frame_producer_factory.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_otdet.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_otdet_file_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_pyav_frame_count_provider.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_rtsp_input_source.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/test_video_input_source.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/detect/yolo_test.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/helpers/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/helpers/files_test.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/helpers/formats_test.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/helpers/test_log.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/log/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/log/log_maker.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/log/test_log.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/plugin/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/plugin/test_ffmpeg_video_file_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/test_config.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/helper/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/helper/data_builder.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/parser/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/parser/test_chunk_parser_plugins.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_frame_chunk.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_frame_group.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_frame_group_parser_plugins.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_stream_ottrk_file_writer.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_track.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/track/test_tracking_data_structures.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/transform/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/transform/test_transform.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/utils/__init__.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/utils/generator.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/tests/utils/mocking.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/track.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/transform.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/update_precommit.py +0 -0
- {otvision-0.6.11 → otvision-0.6.13}/view.py +0 -0
|
@@ -76,8 +76,9 @@ class OttrkBuilder:
|
|
|
76
76
|
t_min=self.config.t_min,
|
|
77
77
|
t_miss_max=self.config.t_miss_max,
|
|
78
78
|
)
|
|
79
|
-
result[dataformat.
|
|
80
|
-
|
|
79
|
+
tracking_metadata = result[dataformat.TRACKING]
|
|
80
|
+
tracking_metadata[dataformat.TRACKING_RUN_ID] = self.config.tracking_run_id
|
|
81
|
+
tracking_metadata[dataformat.FRAME_GROUP] = self.config.frame_group
|
|
81
82
|
return result
|
|
82
83
|
|
|
83
84
|
def _build_data(self) -> list[dict]:
|
|
@@ -68,6 +68,8 @@ class DetectBuilder(ABC):
|
|
|
68
68
|
|
|
69
69
|
@cached_property
|
|
70
70
|
def configure_logger(self) -> ConfigureLogger:
|
|
71
|
+
if self._configure_logger is not None:
|
|
72
|
+
return self._configure_logger
|
|
71
73
|
return ConfigureLogger()
|
|
72
74
|
|
|
73
75
|
@cached_property
|
|
@@ -94,6 +96,8 @@ class DetectBuilder(ABC):
|
|
|
94
96
|
|
|
95
97
|
@cached_property
|
|
96
98
|
def current_config(self) -> CurrentConfig:
|
|
99
|
+
if self.__current_config is not None:
|
|
100
|
+
return self.__current_config
|
|
97
101
|
return CurrentConfig(Config())
|
|
98
102
|
|
|
99
103
|
@cached_property
|
|
@@ -173,8 +177,15 @@ class DetectBuilder(ABC):
|
|
|
173
177
|
def detect_config(self) -> DetectConfig:
|
|
174
178
|
return self.current_config.get().detect
|
|
175
179
|
|
|
176
|
-
def __init__(
|
|
180
|
+
def __init__(
|
|
181
|
+
self,
|
|
182
|
+
argv: list[str] | None = None,
|
|
183
|
+
current_config: CurrentConfig | None = None,
|
|
184
|
+
configure_logger: ConfigureLogger | None = None,
|
|
185
|
+
) -> None:
|
|
177
186
|
self.argv = argv
|
|
187
|
+
self.__current_config = current_config
|
|
188
|
+
self._configure_logger = configure_logger
|
|
178
189
|
|
|
179
190
|
@property
|
|
180
191
|
@abstractmethod
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
+
from typing import Any
|
|
2
3
|
|
|
3
4
|
from OTVision.application.buffer import Buffer
|
|
4
5
|
from OTVision.application.config import Config, TrackConfig
|
|
@@ -66,7 +67,7 @@ class StreamOttrkFileWriter(Buffer[TrackedFrame, OtdetFileWrittenEvent]):
|
|
|
66
67
|
)
|
|
67
68
|
self._builder.set_config(builder_config)
|
|
68
69
|
last_frame = tracked_frames[-1]
|
|
69
|
-
self._builder.add_tracked_frames(
|
|
70
|
+
self._builder.add_tracked_frames(tracked_frames)
|
|
70
71
|
self._ottrk_unfinished_tracks = last_frame.unfinished_tracks
|
|
71
72
|
self.reset()
|
|
72
73
|
|
|
@@ -103,9 +104,18 @@ class StreamOttrkFileWriter(Buffer[TrackedFrame, OtdetFileWrittenEvent]):
|
|
|
103
104
|
)
|
|
104
105
|
logger().warning(f"Unfinished tracks: {self._ottrk_unfinished_tracks}")
|
|
105
106
|
if self.build_condition_fulfilled:
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
self._create_ottrk()
|
|
108
|
+
|
|
109
|
+
def _create_ottrk(self) -> None:
|
|
110
|
+
ottrk_data = self._builder.build()
|
|
111
|
+
self.write(ottrk_data)
|
|
112
|
+
self.full_reset()
|
|
113
|
+
|
|
114
|
+
def full_reset(self) -> None:
|
|
115
|
+
self._in_writing_state = False
|
|
116
|
+
self._builder.reset()
|
|
117
|
+
self._ottrk_unfinished_tracks = set()
|
|
118
|
+
self._current_output_file = None
|
|
109
119
|
|
|
110
120
|
def write(self, ottrk: dict) -> None:
|
|
111
121
|
write_json(
|
|
@@ -114,3 +124,6 @@ class StreamOttrkFileWriter(Buffer[TrackedFrame, OtdetFileWrittenEvent]):
|
|
|
114
124
|
filetype=self.config.filetypes.track,
|
|
115
125
|
overwrite=True,
|
|
116
126
|
)
|
|
127
|
+
|
|
128
|
+
def force_flush(self, _: Any) -> None:
|
|
129
|
+
self._create_ottrk()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OTVision
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.13
|
|
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/
|
|
@@ -26,7 +26,7 @@ Requires-Dist: more-itertools==10.7.0
|
|
|
26
26
|
Requires-Dist: moviepy==1.0.3
|
|
27
27
|
Requires-Dist: numpy==1.26.4; sys_platform == 'win32'
|
|
28
28
|
Requires-Dist: numpy==2.1.1; sys_platform != 'win32'
|
|
29
|
-
Requires-Dist: opencv-python==4.10.0.84
|
|
29
|
+
Requires-Dist: opencv-python-headless==4.10.0.84
|
|
30
30
|
Requires-Dist: pandas==2.2.3
|
|
31
31
|
Requires-Dist: pyyaml==6.0.2
|
|
32
32
|
Requires-Dist: tqdm==4.67.1
|
|
@@ -348,6 +348,8 @@ def create_expected_track_metadata(
|
|
|
348
348
|
config.t_min,
|
|
349
349
|
config.t_miss_max,
|
|
350
350
|
),
|
|
351
|
+
dataformat.TRACKING_RUN_ID: config.tracking_run_id,
|
|
352
|
+
dataformat.FRAME_GROUP: config.frame_group,
|
|
351
353
|
},
|
|
352
354
|
}
|
|
353
355
|
|
|
@@ -431,14 +433,11 @@ def create_expected_ottrk(
|
|
|
431
433
|
) -> dict:
|
|
432
434
|
otdet_metadata = create_otdet_metadata(actual_duration, expected_duration)
|
|
433
435
|
track_metadata = create_expected_track_metadata(actual_duration, expected_duration)
|
|
434
|
-
config = create_ottrk_builder_config(actual_duration, expected_duration)
|
|
435
436
|
|
|
436
437
|
# Add the missing fields that OttrkBuilder adds
|
|
437
438
|
combined_metadata = {
|
|
438
439
|
**otdet_metadata,
|
|
439
440
|
**track_metadata,
|
|
440
|
-
dataformat.TRACKING_RUN_ID: config.tracking_run_id,
|
|
441
|
-
dataformat.FRAME_GROUP: config.frame_group,
|
|
442
441
|
}
|
|
443
442
|
|
|
444
443
|
return {
|
|
@@ -1015,8 +1015,8 @@ name = "opencv-python"
|
|
|
1015
1015
|
version = "4.10.0.84"
|
|
1016
1016
|
source = { registry = "https://pypi.org/simple" }
|
|
1017
1017
|
dependencies = [
|
|
1018
|
-
{ name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1019
|
-
{ name = "numpy", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'darwin' or sys_platform == 'linux' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1018
|
+
{ name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'win32' and extra == 'extra-8-otvision-inference-cpu') or (sys_platform == 'win32' and extra == 'extra-8-otvision-inference-cuda') or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1019
|
+
{ name = "numpy", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'darwin' and extra == 'extra-8-otvision-inference-cpu') or (sys_platform == 'darwin' and extra == 'extra-8-otvision-inference-cuda') or (sys_platform == 'linux' and extra == 'extra-8-otvision-inference-cpu') or (sys_platform == 'linux' and extra == 'extra-8-otvision-inference-cuda') or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1020
1020
|
]
|
|
1021
1021
|
sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/b70a2d9ab205110d715906fc8ec83fbb00404aeb3a37a0654fdb68eb0c8c/opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526", size = 95103981, upload-time = "2024-06-17T18:29:56.757Z" }
|
|
1022
1022
|
wheels = [
|
|
@@ -1028,6 +1028,24 @@ wheels = [
|
|
|
1028
1028
|
{ url = "https://files.pythonhosted.org/packages/ec/6c/fab8113424af5049f85717e8e527ca3773299a3c6b02506e66436e19874f/opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe", size = 38842521, upload-time = "2024-06-17T18:28:21.813Z" },
|
|
1029
1029
|
]
|
|
1030
1030
|
|
|
1031
|
+
[[package]]
|
|
1032
|
+
name = "opencv-python-headless"
|
|
1033
|
+
version = "4.10.0.84"
|
|
1034
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1035
|
+
dependencies = [
|
|
1036
|
+
{ name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1037
|
+
{ name = "numpy", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'darwin' or sys_platform == 'linux' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1038
|
+
]
|
|
1039
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2f/7e/d20f68a5f1487adf19d74378d349932a386b1ece3be9be9915e5986db468/opencv-python-headless-4.10.0.84.tar.gz", hash = "sha256:f2017c6101d7c2ef8d7bc3b414c37ff7f54d64413a1847d89970b6b7069b4e1a", size = 95117755, upload-time = "2024-06-17T18:32:15.606Z" }
|
|
1040
|
+
wheels = [
|
|
1041
|
+
{ url = "https://files.pythonhosted.org/packages/1c/9b/583c8d9259f6fc19413f83fd18dd8e6cbc8eefb0b4dc6da52dd151fe3272/opencv_python_headless-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:a4f4bcb07d8f8a7704d9c8564c224c8b064c63f430e95b61ac0bffaa374d330e", size = 54835657, upload-time = "2024-06-18T04:58:12.904Z" },
|
|
1042
|
+
{ url = "https://files.pythonhosted.org/packages/c0/7b/b4c67f5dad7a9a61c47f7a39e4050e8a4628bd64b3c3daaeb755d759f928/opencv_python_headless-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:5ae454ebac0eb0a0b932e3406370aaf4212e6a3fdb5038cc86c7aea15a6851da", size = 56475470, upload-time = "2024-06-17T19:34:39.604Z" },
|
|
1043
|
+
{ url = "https://files.pythonhosted.org/packages/91/61/f838ce2046f3ec3591ea59ea3549085e399525d3b4558c4ed60b55ed88c0/opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46071015ff9ab40fccd8a163da0ee14ce9846349f06c6c8c0f2870856ffa45db", size = 29329705, upload-time = "2024-06-17T20:00:49.406Z" },
|
|
1044
|
+
{ url = "https://files.pythonhosted.org/packages/d1/09/248f86a404567303cdf120e4a301f389b68e3b18e5c0cc428de327da609c/opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:377d08a7e48a1405b5e84afcbe4798464ce7ee17081c1c23619c8b398ff18295", size = 49858781, upload-time = "2024-06-17T18:31:49.495Z" },
|
|
1045
|
+
{ url = "https://files.pythonhosted.org/packages/30/c0/66f88d58500e990a9a0a5c06f98862edf1d0a3a430781218a8c193948438/opencv_python_headless-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:9092404b65458ed87ce932f613ffbb1106ed2c843577501e5768912360fc50ec", size = 28675298, upload-time = "2024-06-17T18:28:56.897Z" },
|
|
1046
|
+
{ url = "https://files.pythonhosted.org/packages/26/d0/22f68eb23eea053a31655960f133c0be9726c6a881547e6e9e7e2a946c4f/opencv_python_headless-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:afcf28bd1209dd58810d33defb622b325d3cbe49dcd7a43a902982c33e5fad05", size = 38754031, upload-time = "2024-06-17T18:29:04.871Z" },
|
|
1047
|
+
]
|
|
1048
|
+
|
|
1031
1049
|
[[package]]
|
|
1032
1050
|
name = "otvision"
|
|
1033
1051
|
source = { editable = "." }
|
|
@@ -1042,7 +1060,7 @@ dependencies = [
|
|
|
1042
1060
|
{ name = "moviepy", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1043
1061
|
{ name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1044
1062
|
{ name = "numpy", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'darwin' or sys_platform == 'linux' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1045
|
-
{ name = "opencv-python", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1063
|
+
{ name = "opencv-python-headless", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1046
1064
|
{ name = "pandas", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1047
1065
|
{ name = "pyyaml", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
1048
1066
|
{ name = "tqdm", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32' or (extra == 'extra-8-otvision-inference-cpu' and extra == 'extra-8-otvision-inference-cuda')" },
|
|
@@ -1097,7 +1115,7 @@ requires-dist = [
|
|
|
1097
1115
|
{ name = "moviepy", specifier = "==1.0.3" },
|
|
1098
1116
|
{ name = "numpy", marker = "sys_platform != 'win32'", specifier = "==2.1.1" },
|
|
1099
1117
|
{ name = "numpy", marker = "sys_platform == 'win32'", specifier = "==1.26.4" },
|
|
1100
|
-
{ name = "opencv-python", specifier = "==4.10.0.84" },
|
|
1118
|
+
{ name = "opencv-python-headless", specifier = "==4.10.0.84" },
|
|
1101
1119
|
{ name = "pandas", specifier = "==2.2.3" },
|
|
1102
1120
|
{ name = "pyyaml", specifier = "==6.0.2" },
|
|
1103
1121
|
{ name = "tensorrt", marker = "sys_platform != 'darwin' and extra == 'inference-cuda'", specifier = "==10.12.0.36", index = "https://pypi.nvidia.com/", conflict = { package = "otvision", extra = "inference-cuda" } },
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{otvision-0.6.11 → otvision-0.6.13}/OTVision/application/detect/current_object_detector_metadata.py
RENAMED
|
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
|
{otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/update_current_track_config.py
RENAMED
|
File without changes
|
{otvision-0.6.11 → otvision-0.6.13}/OTVision/application/track/update_track_config_with_cli_args.py
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|