sciveo 0.1.86__tar.gz → 0.1.88__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.
- {sciveo-0.1.86 → sciveo-0.1.88}/PKG-INFO +1 -1
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/cli.py +5 -2
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/cam.py +18 -2
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/gst_server.py +1 -1
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/object_detection.py +4 -1
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/timers.py +19 -0
- sciveo-0.1.88/sciveo/version.py +2 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.86/sciveo/version.py +0 -2
- {sciveo-0.1.86 → sciveo-0.1.88}/README.md +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/predictors.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/server.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/model.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/project.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/db/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/db/read_table.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/draw.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/circle.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/game.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/laser.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/motion_detection.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/nvr.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/readers.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/rpi.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/rtsp.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/tools/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/tools/video_interactive.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/dataset/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/dataset/object_detection.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/markdown.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/description.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/embeddings.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/transformers.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/embeddings.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/video/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/video/description.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/ems300.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/sim.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/tools.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/base.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/process.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/complexity.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/draw/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/draw/contours.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/queue.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/totp.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/web/__init__.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/web/common.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/setup.cfg +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/setup.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_complexity.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_compress.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_configuration.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_crypto.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_eval_markdown.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_ml_datasets.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_monitoring.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_runner.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_sampling.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_tokenizers.py +0 -0
- {sciveo-0.1.86 → sciveo-0.1.88}/test/test_totp.py +0 -0
|
@@ -133,12 +133,15 @@ def main():
|
|
|
133
133
|
elif args.command == 'capture':
|
|
134
134
|
from sciveo.media.capture.cam import CameraDaemon, ScreenDaemon, CapturePlayer
|
|
135
135
|
if args.src == "screen":
|
|
136
|
-
cap = ScreenDaemon(src=
|
|
136
|
+
cap = ScreenDaemon(src=args.src_id, region=json.loads(args.data_json))
|
|
137
137
|
elif args.src == "cam":
|
|
138
138
|
cap = CameraDaemon(cam_id=args.src_id)
|
|
139
|
+
elif args.src == "rpi":
|
|
140
|
+
from sciveo.media.capture.rpi import RPICamera
|
|
141
|
+
cap = RPICamera(cam_id=args.src_id, width=args.width, height=args.height)
|
|
139
142
|
else:
|
|
140
143
|
cap = CameraDaemon(cam_id=args.src_id)
|
|
141
|
-
player = CapturePlayer(cap, tag=args.src)
|
|
144
|
+
player = CapturePlayer(cap=cap, tag=args.src, fps=args.fps or 0)
|
|
142
145
|
player.play()
|
|
143
146
|
elif args.command == 'media-server':
|
|
144
147
|
from sciveo.media.pipelines.server import __START_SCIVEO_MEDIA_SERVER__
|
|
@@ -18,7 +18,7 @@ import mss
|
|
|
18
18
|
|
|
19
19
|
from sciveo.tools.logger import *
|
|
20
20
|
from sciveo.tools.daemon import DaemonBase
|
|
21
|
-
from sciveo.tools.timers import FPSCounter
|
|
21
|
+
from sciveo.tools.timers import FPSCounter, FPSDelay
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class CaptureBase(DaemonBase):
|
|
@@ -154,14 +154,26 @@ class ScreenDaemon(CaptureBase):
|
|
|
154
154
|
|
|
155
155
|
|
|
156
156
|
class CapturePlayer:
|
|
157
|
-
def __init__(self, cap, tag="capture", key_quit=
|
|
157
|
+
def __init__(self, cap, tag="capture", fps=0, key_quit='q'):
|
|
158
158
|
self.cap = cap
|
|
159
159
|
self.tag = tag
|
|
160
160
|
self.key_quit = key_quit
|
|
161
|
+
|
|
162
|
+
self.fps = fps
|
|
163
|
+
if self.fps > 0:
|
|
164
|
+
self.delay = 1.0 / self.fps
|
|
165
|
+
else:
|
|
166
|
+
self.delay = 0
|
|
167
|
+
|
|
168
|
+
self.fps_player = FPSCounter(period=10, tag=f"play", round_value=1)
|
|
169
|
+
self.fps_delay = FPSDelay(self.fps)
|
|
161
170
|
self.cap.start()
|
|
162
171
|
|
|
163
172
|
def play(self):
|
|
173
|
+
info("Press", self.key_quit, "to quit")
|
|
164
174
|
while(True):
|
|
175
|
+
self.fps_delay.start()
|
|
176
|
+
|
|
165
177
|
frame = self.cap.read()
|
|
166
178
|
if frame is None:
|
|
167
179
|
time.sleep(0.1)
|
|
@@ -170,6 +182,10 @@ class CapturePlayer:
|
|
|
170
182
|
if cv2.waitKey(1) & 0xFF == ord(self.key_quit):
|
|
171
183
|
break
|
|
172
184
|
|
|
185
|
+
self.fps_player.update()
|
|
186
|
+
|
|
187
|
+
self.fps_delay.wait()
|
|
188
|
+
|
|
173
189
|
self.cap.close()
|
|
174
190
|
|
|
175
191
|
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
import numpy as np
|
|
13
13
|
import time
|
|
14
|
-
import cv2
|
|
15
14
|
|
|
16
15
|
import gi
|
|
17
16
|
gi.require_version('Gst', '1.0')
|
|
@@ -187,6 +186,7 @@ class CamPlayerDaemon(DaemonBase):
|
|
|
187
186
|
self.cam_factory.serve(host=self.host, port=self.port, stream=self.stream)
|
|
188
187
|
|
|
189
188
|
def play(self):
|
|
189
|
+
import cv2
|
|
190
190
|
while(True):
|
|
191
191
|
frame = self.cam_factory.read_cam_frame()
|
|
192
192
|
if frame is None:
|
|
@@ -147,7 +147,10 @@ class EvalObjectDetection:
|
|
|
147
147
|
|
|
148
148
|
# Compute AP using the trapezoidal rule (integrating precision over recall)
|
|
149
149
|
order = np.argsort(recall)
|
|
150
|
-
|
|
150
|
+
try:
|
|
151
|
+
ap = np.trapezoid(precision[order], recall[order])
|
|
152
|
+
except Exception:
|
|
153
|
+
ap = np.trapz(precision[order], recall[order])
|
|
151
154
|
return ap, FP
|
|
152
155
|
|
|
153
156
|
# TODO: Use simple gradient-based threshold optimisation instead of current grid search.
|
|
@@ -14,6 +14,25 @@ import time
|
|
|
14
14
|
from sciveo.tools.logger import *
|
|
15
15
|
|
|
16
16
|
|
|
17
|
+
class FPSDelay:
|
|
18
|
+
def __init__(self, fps):
|
|
19
|
+
self.fps = fps
|
|
20
|
+
if fps > 0:
|
|
21
|
+
self.delay = 1.0 / fps
|
|
22
|
+
else:
|
|
23
|
+
self.delay = 0
|
|
24
|
+
|
|
25
|
+
def start(self):
|
|
26
|
+
self.from_time = time.time()
|
|
27
|
+
|
|
28
|
+
def wait(self):
|
|
29
|
+
current_time = time.time()
|
|
30
|
+
elapsed_time = current_time - self.from_time
|
|
31
|
+
time_to_wait = self.delay - elapsed_time
|
|
32
|
+
if time_to_wait > 0:
|
|
33
|
+
time.sleep(time_to_wait)
|
|
34
|
+
|
|
35
|
+
|
|
17
36
|
class FPSCounter:
|
|
18
37
|
def __init__(self, period=1, tag="", print_period=1, printer=debug, round_value=2):
|
|
19
38
|
self.period = period
|
sciveo-0.1.86/sciveo/version.py
DELETED
|
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
|
{sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/audio_extractor_process.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
|
{sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/trainer.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
|