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.
Files changed (191) hide show
  1. {sciveo-0.1.86 → sciveo-0.1.88}/PKG-INFO +1 -1
  2. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/cli.py +5 -2
  3. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/cam.py +18 -2
  4. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/gst_server.py +1 -1
  5. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/object_detection.py +4 -1
  6. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/timers.py +19 -0
  7. sciveo-0.1.88/sciveo/version.py +2 -0
  8. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/PKG-INFO +1 -1
  9. sciveo-0.1.86/sciveo/version.py +0 -2
  10. {sciveo-0.1.86 → sciveo-0.1.88}/README.md +0 -0
  11. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/__init__.py +0 -0
  12. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/__init__.py +0 -0
  13. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/base.py +0 -0
  14. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/predictors.py +0 -0
  15. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/server.py +0 -0
  16. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/api/upload.py +0 -0
  17. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/__init__.py +0 -0
  18. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/configuration.py +0 -0
  19. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/model.py +0 -0
  20. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/optimizers.py +0 -0
  21. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/common/sampling.py +0 -0
  22. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/__init__.py +0 -0
  23. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/dataset.py +0 -0
  24. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/experiment.py +0 -0
  25. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/project.py +0 -0
  26. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/content/runner.py +0 -0
  27. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/db/__init__.py +0 -0
  28. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/db/read_table.py +0 -0
  29. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/__init__.py +0 -0
  30. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/__init__.py +0 -0
  31. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/draw.py +0 -0
  32. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/__init__.py +0 -0
  33. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
  34. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
  35. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
  36. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/circle.py +0 -0
  37. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/game.py +0 -0
  38. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
  39. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
  40. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/laser.py +0 -0
  41. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
  42. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
  43. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
  44. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/motion_detection.py +0 -0
  45. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/nvr.py +0 -0
  46. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/readers.py +0 -0
  47. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/rpi.py +0 -0
  48. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/capture/rtsp.py +0 -0
  49. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/__init__.py +0 -0
  50. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/base.py +0 -0
  51. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/__init__.py +0 -0
  52. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/base.py +0 -0
  53. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/encoders/normalizer.py +0 -0
  54. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/nlp/__init__.py +0 -0
  55. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/nlp/search.py +0 -0
  56. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/__init__.py +0 -0
  57. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/dataset.py +0 -0
  58. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/predictor.py +0 -0
  59. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/trainer.py +0 -0
  60. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/ml/time_series/window_generator.py +0 -0
  61. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/__init__.py +0 -0
  62. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/base.py +0 -0
  63. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/job_daemon.py +0 -0
  64. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/layouts/__init__.py +0 -0
  65. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/layouts/base.py +0 -0
  66. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/pipeline.py +0 -0
  67. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
  68. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/base.py +0 -0
  69. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/postprocessors/default.py +0 -0
  70. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/__init__.py +0 -0
  71. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
  72. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
  73. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
  74. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/aws.py +0 -0
  75. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/base.py +0 -0
  76. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
  77. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/file/archive.py +0 -0
  78. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
  79. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/album.py +0 -0
  80. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
  81. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
  82. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
  83. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/filters.py +0 -0
  84. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/generators.py +0 -0
  85. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
  86. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/mask.py +0 -0
  87. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
  88. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/resize.py +0 -0
  89. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
  90. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
  91. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/media_info.py +0 -0
  92. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
  93. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
  94. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/qr.py +0 -0
  95. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
  96. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/base.py +0 -0
  97. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
  98. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
  99. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
  100. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
  101. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
  102. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
  103. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/generators.py +0 -0
  104. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
  105. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/resize.py +0 -0
  106. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
  107. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
  108. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
  109. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/queues.py +0 -0
  110. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/server.py +0 -0
  111. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/web/__init__.py +0 -0
  112. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/pipelines/web/server.py +0 -0
  113. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/tools/__init__.py +0 -0
  114. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/media/tools/video_interactive.py +0 -0
  115. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/__init__.py +0 -0
  116. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/base.py +0 -0
  117. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/dataset/__init__.py +0 -0
  118. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/dataset/object_detection.py +0 -0
  119. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/__init__.py +0 -0
  120. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/evaluation/markdown.py +0 -0
  121. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/__init__.py +0 -0
  122. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/base.py +0 -0
  123. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/description.py +0 -0
  124. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/embeddings.py +0 -0
  125. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/object_detection.py +0 -0
  126. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/tools.py +0 -0
  127. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/images/transformers.py +0 -0
  128. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/__init__.py +0 -0
  129. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/embeddings.py +0 -0
  130. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
  131. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
  132. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/video/__init__.py +0 -0
  133. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/ml/video/description.py +0 -0
  134. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/__init__.py +0 -0
  135. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/monitor.py +0 -0
  136. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/__init__.py +0 -0
  137. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/ems300.py +0 -0
  138. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/sim.py +0 -0
  139. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/power/tools.py +0 -0
  140. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/start.py +0 -0
  141. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/__init__.py +0 -0
  142. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/base.py +0 -0
  143. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/monitoring/watchdog/process.py +0 -0
  144. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/__init__.py +0 -0
  145. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/camera.py +0 -0
  146. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/sniffer.py +0 -0
  147. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/network/tools.py +0 -0
  148. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/__init__.py +0 -0
  149. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/array.py +0 -0
  150. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/__init__.py +0 -0
  151. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/priority_queue.py +0 -0
  152. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/aws/s3.py +0 -0
  153. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/common.py +0 -0
  154. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/complexity.py +0 -0
  155. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/compress.py +0 -0
  156. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/configuration.py +0 -0
  157. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/crypto.py +0 -0
  158. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/daemon.py +0 -0
  159. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/draw/__init__.py +0 -0
  160. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/draw/contours.py +0 -0
  161. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/formating.py +0 -0
  162. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/hardware.py +0 -0
  163. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/http.py +0 -0
  164. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/logger.py +0 -0
  165. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/os.py +0 -0
  166. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/queue.py +0 -0
  167. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/random.py +0 -0
  168. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/remote.py +0 -0
  169. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/simple_counter.py +0 -0
  170. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/synchronized.py +0 -0
  171. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/tools/totp.py +0 -0
  172. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/web/__init__.py +0 -0
  173. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo/web/common.py +0 -0
  174. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/SOURCES.txt +0 -0
  175. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/dependency_links.txt +0 -0
  176. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/entry_points.txt +0 -0
  177. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/requires.txt +0 -0
  178. {sciveo-0.1.86 → sciveo-0.1.88}/sciveo.egg-info/top_level.txt +0 -0
  179. {sciveo-0.1.86 → sciveo-0.1.88}/setup.cfg +0 -0
  180. {sciveo-0.1.86 → sciveo-0.1.88}/setup.py +0 -0
  181. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_complexity.py +0 -0
  182. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_compress.py +0 -0
  183. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_configuration.py +0 -0
  184. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_crypto.py +0 -0
  185. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_eval_markdown.py +0 -0
  186. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_ml_datasets.py +0 -0
  187. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_monitoring.py +0 -0
  188. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_runner.py +0 -0
  189. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_sampling.py +0 -0
  190. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_tokenizers.py +0 -0
  191. {sciveo-0.1.86 → sciveo-0.1.88}/test/test_totp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.86
3
+ Version: 0.1.88
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -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=1, region=json.loads(args.data_json))
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=ord('q')):
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
- ap = np.trapezoid(precision[order], recall[order])
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
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = '0.1.88'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.86
3
+ Version: 0.1.88
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -1,2 +0,0 @@
1
-
2
- __version__ = '0.1.86'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes