Skip to content

Commit 77bb0f2

Browse files
committed
feat: Include People engagement models support
Add cam position and head pose to media config Add camera client and models Add display client and update documentation Add media client and models Add undistort parameters to camera model Add uri entry to the camera model
1 parent 3751497 commit 77bb0f2

30 files changed

+1822
-1
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
rrmsutils.models.camera package
2+
===============================
3+
4+
Submodules
5+
----------
6+
7+
rrmsutils.models.camera.cameraconfiguration module
8+
--------------------------------------------------
9+
10+
.. automodule:: rrmsutils.models.camera.cameraconfiguration
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
Module contents
16+
---------------
17+
18+
.. automodule:: rrmsutils.models.camera
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
rrmsutils.models.display package
2+
================================
3+
4+
Submodules
5+
----------
6+
7+
rrmsutils.models.display.displayconfiguration module
8+
----------------------------------------------------
9+
10+
.. automodule:: rrmsutils.models.display.displayconfiguration
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
rrmsutils.models.display.heatmap module
16+
---------------------------------------
17+
18+
.. automodule:: rrmsutils.models.display.heatmap
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: rrmsutils.models.display
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
rrmsutils.models.engagementanalytics package
2+
============================================
3+
4+
Submodules
5+
----------
6+
7+
rrmsutils.models.engagementanalytics.configuration module
8+
---------------------------------------------------------
9+
10+
.. automodule:: rrmsutils.models.engagementanalytics.configuration
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
rrmsutils.models.engagementanalytics.detection module
16+
-----------------------------------------------------
17+
18+
.. automodule:: rrmsutils.models.engagementanalytics.detection
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: rrmsutils.models.engagementanalytics
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
rrmsutils.models.media package
2+
==============================
3+
4+
Submodules
5+
----------
6+
7+
rrmsutils.models.media.brightness module
8+
----------------------------------------
9+
10+
.. automodule:: rrmsutils.models.media.brightness
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
rrmsutils.models.media.configuration module
16+
-------------------------------------------
17+
18+
.. automodule:: rrmsutils.models.media.configuration
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: rrmsutils.models.media
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:

docs/source/rrmsutils.models.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ Subpackages
1010
rrmsutils.models.aiagent
1111
rrmsutils.models.analytics
1212
rrmsutils.models.bips
13+
rrmsutils.models.camera
1314
rrmsutils.models.detection
15+
rrmsutils.models.display
16+
rrmsutils.models.engagementanalytics
17+
rrmsutils.models.media
1418
rrmsutils.models.ptz
1519

1620
Submodules
@@ -24,6 +28,22 @@ rrmsutils.models.apiresponse module
2428
:undoc-members:
2529
:show-inheritance:
2630

31+
rrmsutils.models.heatmap module
32+
-------------------------------
33+
34+
.. automodule:: rrmsutils.models.heatmap
35+
:members:
36+
:undoc-members:
37+
:show-inheritance:
38+
39+
rrmsutils.models.point module
40+
-----------------------------
41+
42+
.. automodule:: rrmsutils.models.point
43+
:members:
44+
:undoc-members:
45+
:show-inheritance:
46+
2747
Module contents
2848
---------------
2949

docs/source/rrmsutils.rst

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Subpackages
88
:maxdepth: 4
99

1010
rrmsutils.models
11+
rrmsutils.utils
1112

1213
Submodules
1314
----------
@@ -28,6 +29,14 @@ rrmsutils.bips module
2829
:undoc-members:
2930
:show-inheritance:
3031

32+
rrmsutils.camera module
33+
-----------------------
34+
35+
.. automodule:: rrmsutils.camera
36+
:members:
37+
:undoc-members:
38+
:show-inheritance:
39+
3140
rrmsutils.detection module
3241
--------------------------
3342

@@ -36,6 +45,46 @@ rrmsutils.detection module
3645
:undoc-members:
3746
:show-inheritance:
3847

48+
rrmsutils.directionschemagenerator module
49+
-----------------------------------------
50+
51+
.. automodule:: rrmsutils.directionschemagenerator
52+
:members:
53+
:undoc-members:
54+
:show-inheritance:
55+
56+
rrmsutils.display module
57+
------------------------
58+
59+
.. automodule:: rrmsutils.display
60+
:members:
61+
:undoc-members:
62+
:show-inheritance:
63+
64+
rrmsutils.engagementanalytics module
65+
------------------------------------
66+
67+
.. automodule:: rrmsutils.engagementanalytics
68+
:members:
69+
:undoc-members:
70+
:show-inheritance:
71+
72+
rrmsutils.heatmapschemagenerator module
73+
---------------------------------------
74+
75+
.. automodule:: rrmsutils.heatmapschemagenerator
76+
:members:
77+
:undoc-members:
78+
:show-inheritance:
79+
80+
rrmsutils.media module
81+
----------------------
82+
83+
.. automodule:: rrmsutils.media
84+
:members:
85+
:undoc-members:
86+
:show-inheritance:
87+
3988
rrmsutils.ptz module
4089
--------------------
4190

docs/source/rrmsutils.utils.rst

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
rrmsutils.utils package
2+
=======================
3+
4+
Submodules
5+
----------
6+
7+
rrmsutils.utils.influxdb module
8+
-------------------------------
9+
10+
.. automodule:: rrmsutils.utils.influxdb
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
rrmsutils.utils.redisclient module
16+
----------------------------------
17+
18+
.. automodule:: rrmsutils.utils.redisclient
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: rrmsutils.utils
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:

rrmsutils/camera.py

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Copyright (C) 2024 RidgeRun, LLC (http://www.ridgerun.com)
2+
# All Rights Reserved.
3+
#
4+
# The contents of this software are proprietary and confidential to RidgeRun,
5+
# LLC. No part of this program may be photocopied, reproduced or translated
6+
# into another programming language without prior written consent of
7+
# RidgeRun, LLC. The user is free to modify the source code after obtaining
8+
# a software license from RidgeRun. All source code changes must be provided
9+
# back to RidgeRun without any encumbrance.
10+
11+
"""Wrapper for Camera API
12+
"""
13+
14+
import requests
15+
16+
from rrmsutils.models.camera.cameraconfiguration import CamerasConfiguration
17+
18+
__all__ = ['Camera']
19+
20+
21+
class Camera():
22+
"""Wrapper for Camera API
23+
"""
24+
25+
__headers_get = {"Accept": "application/json"}
26+
__headers_put = {
27+
"Accept": "application/json",
28+
"Content-type": "application/json"}
29+
30+
def __init__(self, host="127.0.0.1", port=5050) -> None:
31+
"""Client for Camera service
32+
33+
Args:
34+
host (str, optional): Camera server address. Defaults to "127.0.0.1".
35+
port (int, optional): Camera server port. Defaults to 5050.
36+
"""
37+
self.__base = f'http://{host}:{port}'
38+
self.__configuration = self.__base + '/configuration'
39+
40+
def __get(self, url: str):
41+
return requests.get(url, headers=self.__headers_get, timeout=100)
42+
43+
def __put(self, url: str, data: str):
44+
return requests.put(url, headers=self.__headers_put, data=data, timeout=100)
45+
46+
def get_configuration(self):
47+
"""Gets the cameras configuration
48+
49+
Returns:
50+
CamerasConfiguration or None: The cameras index, resolution
51+
and streaming configuration. None in case of error
52+
"""
53+
try:
54+
response = self.__get(self.__configuration)
55+
if response.status_code != 200:
56+
return None
57+
except Exception:
58+
return None
59+
60+
json_data = response.json()
61+
configuration = None
62+
try:
63+
configuration = CamerasConfiguration.model_validate(json_data)
64+
except Exception:
65+
return None
66+
67+
return configuration
68+
69+
def set_configuration(self, configuration: CamerasConfiguration) -> bool:
70+
"""Sets the cameras configuration
71+
72+
Args:
73+
configuration (CamerasConfiguration): The cameras configuration
74+
75+
Returns:
76+
bool: True in case of success, False in case of error
77+
"""
78+
79+
try:
80+
data = CamerasConfiguration.model_validate(configuration)
81+
except Exception:
82+
return False
83+
84+
try:
85+
response = self.__put(self.__configuration, data.model_dump_json())
86+
if response.status_code != 200:
87+
return False
88+
except Exception:
89+
return False
90+
91+
return True

0 commit comments

Comments
 (0)