Add frames_per_second #21

Merged
countablecloud merged 4 commits from loewy/add-fps into master 2024-07-18 17:51:31 -06:00
2 changed files with 86 additions and 34 deletions
Showing only changes of commit 18d2eea029 - Show all commits

View File

@ -6,36 +6,37 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
b'\n\nshot.proto\x12\x0fserialized_shot"?\n\x03\x42ox\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05width\x18\x03 \x01(\x02\x12\x0e\n\x06height\x18\x04 \x01(\x02"\x1d\n\x05Point\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02"\x7f\n\rBallDetection\x12.\n\x0eplane_position\x18\x01 \x01(\x0b\x32\x16.serialized_shot.Point\x12(\n\nannotation\x18\x02 \x01(\x0b\x32\x14.serialized_shot.Box\x12\x14\n\x0cinterpolated\x18\x03 \x01(\x08"T\n\x10RLEBallDetection\x12\x31\n\tdetection\x18\x01 \x01(\x0b\x32\x1e.serialized_shot.BallDetection\x12\r\n\x05\x63ount\x18\x02 \x01(\r"L\n\x13RLEDetectionHistory\x12\x35\n\ndetections\x18\x01 \x03(\x0b\x32!.serialized_shot.RLEBallDetection"F\n\x10\x44\x65tectionHistory\x12\x32\n\ndetections\x18\x01 \x03(\x0b\x32\x1e.serialized_shot.BallDetection"\xe6\x01\n\x04Path\x12\x13\n\x0bstart_frame\x18\x01 \x01(\r\x12\x11\n\tend_frame\x18\x02 \x01(\r\x12\x37\n\ndetections\x18\x03 \x01(\x0b\x32!.serialized_shot.DetectionHistoryH\x00\x12>\n\x0erle_detections\x18\x04 \x01(\x0b\x32$.serialized_shot.RLEDetectionHistoryH\x00\x12\x15\n\x0bnot_present\x18\x05 \x01(\x08H\x00\x12\x11\n\tis_static\x18\x06 \x01(\x08\x42\x13\n\x11\x64\x65tection_history"R\n\x11IdentifierHistory\x12\x17\n\x0f\x62\x61ll_identifier\x18\x01 \x01(\r\x12$\n\x05paths\x18\x02 \x03(\x0b\x32\x15.serialized_shot.Path"H\n\x04Shot\x12@\n\x14identifier_histories\x18\x03 \x03(\x0b\x32".serialized_shot.IdentifierHistoryb\x06proto3'
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nshot.proto\x12\x0fserialized_shot\"?\n\x03\x42ox\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05width\x18\x03 \x01(\x02\x12\x0e\n\x06height\x18\x04 \x01(\x02\"\x1d\n\x05Point\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x7f\n\rBallDetection\x12.\n\x0eplane_position\x18\x01 \x01(\x0b\x32\x16.serialized_shot.Point\x12(\n\nannotation\x18\x02 \x01(\x0b\x32\x14.serialized_shot.Box\x12\x14\n\x0cinterpolated\x18\x03 \x01(\x08\"T\n\x10RLEBallDetection\x12\x31\n\tdetection\x18\x01 \x01(\x0b\x32\x1e.serialized_shot.BallDetection\x12\r\n\x05\x63ount\x18\x02 \x01(\r\"L\n\x13RLEDetectionHistory\x12\x35\n\ndetections\x18\x01 \x03(\x0b\x32!.serialized_shot.RLEBallDetection\"F\n\x10\x44\x65tectionHistory\x12\x32\n\ndetections\x18\x01 \x03(\x0b\x32\x1e.serialized_shot.BallDetection\"\xe6\x01\n\x04Path\x12\x13\n\x0bstart_frame\x18\x01 \x01(\r\x12\x11\n\tend_frame\x18\x02 \x01(\r\x12\x37\n\ndetections\x18\x03 \x01(\x0b\x32!.serialized_shot.DetectionHistoryH\x00\x12>\n\x0erle_detections\x18\x04 \x01(\x0b\x32$.serialized_shot.RLEDetectionHistoryH\x00\x12\x15\n\x0bnot_present\x18\x05 \x01(\x08H\x00\x12\x11\n\tis_static\x18\x06 \x01(\x08\x42\x13\n\x11\x64\x65tection_history\"R\n\x11IdentifierHistory\x12\x17\n\x0f\x62\x61ll_identifier\x18\x01 \x01(\r\x12$\n\x05paths\x18\x02 \x03(\x0b\x32\x15.serialized_shot.Path\"H\n\x04Shot\x12@\n\x14identifier_histories\x18\x03 \x03(\x0b\x32\".serialized_shot.IdentifierHistoryb\x06proto3') )
_globals = globals() _globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'shot_pb2', _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "shot_pb2", _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
_globals['_BOX']._serialized_start=31 _globals["_BOX"]._serialized_start = 31
_globals['_BOX']._serialized_end=94 _globals["_BOX"]._serialized_end = 94
_globals['_POINT']._serialized_start=96 _globals["_POINT"]._serialized_start = 96
_globals['_POINT']._serialized_end=125 _globals["_POINT"]._serialized_end = 125
_globals['_BALLDETECTION']._serialized_start=127 _globals["_BALLDETECTION"]._serialized_start = 127
_globals['_BALLDETECTION']._serialized_end=254 _globals["_BALLDETECTION"]._serialized_end = 254
_globals['_RLEBALLDETECTION']._serialized_start=256 _globals["_RLEBALLDETECTION"]._serialized_start = 256
_globals['_RLEBALLDETECTION']._serialized_end=340 _globals["_RLEBALLDETECTION"]._serialized_end = 340
_globals['_RLEDETECTIONHISTORY']._serialized_start=342 _globals["_RLEDETECTIONHISTORY"]._serialized_start = 342
_globals['_RLEDETECTIONHISTORY']._serialized_end=418 _globals["_RLEDETECTIONHISTORY"]._serialized_end = 418
_globals['_DETECTIONHISTORY']._serialized_start=420 _globals["_DETECTIONHISTORY"]._serialized_start = 420
_globals['_DETECTIONHISTORY']._serialized_end=490 _globals["_DETECTIONHISTORY"]._serialized_end = 490
_globals['_PATH']._serialized_start=493 _globals["_PATH"]._serialized_start = 493
_globals['_PATH']._serialized_end=723 _globals["_PATH"]._serialized_end = 723
_globals['_IDENTIFIERHISTORY']._serialized_start=725 _globals["_IDENTIFIERHISTORY"]._serialized_start = 725
_globals['_IDENTIFIERHISTORY']._serialized_end=807 _globals["_IDENTIFIERHISTORY"]._serialized_end = 807
_globals['_SHOT']._serialized_start=809 _globals["_SHOT"]._serialized_start = 809
_globals['_SHOT']._serialized_end=881 _globals["_SHOT"]._serialized_end = 881
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -1,7 +1,13 @@
from google.protobuf.internal import containers as _containers from google.protobuf.internal import containers as _containers
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import (
ClassVar as _ClassVar,
Iterable as _Iterable,
Mapping as _Mapping,
Optional as _Optional,
Union as _Union,
)
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
@ -15,7 +21,13 @@ class Box(_message.Message):
top: float top: float
width: float width: float
height: float height: float
def __init__(self, left: _Optional[float] = ..., top: _Optional[float] = ..., width: _Optional[float] = ..., height: _Optional[float] = ...) -> None: ... def __init__(
self,
left: _Optional[float] = ...,
top: _Optional[float] = ...,
width: _Optional[float] = ...,
height: _Optional[float] = ...,
) -> None: ...
class Point(_message.Message): class Point(_message.Message):
__slots__ = ["x", "y"] __slots__ = ["x", "y"]
@ -23,7 +35,9 @@ class Point(_message.Message):
Y_FIELD_NUMBER: _ClassVar[int] Y_FIELD_NUMBER: _ClassVar[int]
x: float x: float
y: float y: float
def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ...) -> None: ... def __init__(
self, x: _Optional[float] = ..., y: _Optional[float] = ...
) -> None: ...
class BallDetection(_message.Message): class BallDetection(_message.Message):
__slots__ = ["plane_position", "annotation", "interpolated"] __slots__ = ["plane_position", "annotation", "interpolated"]
@ -33,7 +47,12 @@ class BallDetection(_message.Message):
plane_position: Point plane_position: Point
annotation: Box annotation: Box
interpolated: bool interpolated: bool
def __init__(self, plane_position: _Optional[_Union[Point, _Mapping]] = ..., annotation: _Optional[_Union[Box, _Mapping]] = ..., interpolated: bool = ...) -> None: ... def __init__(
self,
plane_position: _Optional[_Union[Point, _Mapping]] = ...,
annotation: _Optional[_Union[Box, _Mapping]] = ...,
interpolated: bool = ...,
) -> None: ...
class RLEBallDetection(_message.Message): class RLEBallDetection(_message.Message):
__slots__ = ["detection", "count"] __slots__ = ["detection", "count"]
@ -41,22 +60,37 @@ class RLEBallDetection(_message.Message):
COUNT_FIELD_NUMBER: _ClassVar[int] COUNT_FIELD_NUMBER: _ClassVar[int]
detection: BallDetection detection: BallDetection
count: int count: int
def __init__(self, detection: _Optional[_Union[BallDetection, _Mapping]] = ..., count: _Optional[int] = ...) -> None: ... def __init__(
self,
detection: _Optional[_Union[BallDetection, _Mapping]] = ...,
count: _Optional[int] = ...,
) -> None: ...
class RLEDetectionHistory(_message.Message): class RLEDetectionHistory(_message.Message):
__slots__ = ["detections"] __slots__ = ["detections"]
DETECTIONS_FIELD_NUMBER: _ClassVar[int] DETECTIONS_FIELD_NUMBER: _ClassVar[int]
detections: _containers.RepeatedCompositeFieldContainer[RLEBallDetection] detections: _containers.RepeatedCompositeFieldContainer[RLEBallDetection]
def __init__(self, detections: _Optional[_Iterable[_Union[RLEBallDetection, _Mapping]]] = ...) -> None: ... def __init__(
self, detections: _Optional[_Iterable[_Union[RLEBallDetection, _Mapping]]] = ...
) -> None: ...
class DetectionHistory(_message.Message): class DetectionHistory(_message.Message):
__slots__ = ["detections"] __slots__ = ["detections"]
DETECTIONS_FIELD_NUMBER: _ClassVar[int] DETECTIONS_FIELD_NUMBER: _ClassVar[int]
detections: _containers.RepeatedCompositeFieldContainer[BallDetection] detections: _containers.RepeatedCompositeFieldContainer[BallDetection]
def __init__(self, detections: _Optional[_Iterable[_Union[BallDetection, _Mapping]]] = ...) -> None: ... def __init__(
self, detections: _Optional[_Iterable[_Union[BallDetection, _Mapping]]] = ...
) -> None: ...
class Path(_message.Message): class Path(_message.Message):
__slots__ = ["start_frame", "end_frame", "detections", "rle_detections", "not_present", "is_static"] __slots__ = [
"start_frame",
"end_frame",
"detections",
"rle_detections",
"not_present",
"is_static",
]
START_FRAME_FIELD_NUMBER: _ClassVar[int] START_FRAME_FIELD_NUMBER: _ClassVar[int]
END_FRAME_FIELD_NUMBER: _ClassVar[int] END_FRAME_FIELD_NUMBER: _ClassVar[int]
DETECTIONS_FIELD_NUMBER: _ClassVar[int] DETECTIONS_FIELD_NUMBER: _ClassVar[int]
@ -69,7 +103,15 @@ class Path(_message.Message):
rle_detections: RLEDetectionHistory rle_detections: RLEDetectionHistory
not_present: bool not_present: bool
is_static: bool is_static: bool
def __init__(self, start_frame: _Optional[int] = ..., end_frame: _Optional[int] = ..., detections: _Optional[_Union[DetectionHistory, _Mapping]] = ..., rle_detections: _Optional[_Union[RLEDetectionHistory, _Mapping]] = ..., not_present: bool = ..., is_static: bool = ...) -> None: ... def __init__(
self,
start_frame: _Optional[int] = ...,
end_frame: _Optional[int] = ...,
detections: _Optional[_Union[DetectionHistory, _Mapping]] = ...,
rle_detections: _Optional[_Union[RLEDetectionHistory, _Mapping]] = ...,
not_present: bool = ...,
is_static: bool = ...,
) -> None: ...
class IdentifierHistory(_message.Message): class IdentifierHistory(_message.Message):
__slots__ = ["ball_identifier", "paths"] __slots__ = ["ball_identifier", "paths"]
@ -77,10 +119,19 @@ class IdentifierHistory(_message.Message):
PATHS_FIELD_NUMBER: _ClassVar[int] PATHS_FIELD_NUMBER: _ClassVar[int]
ball_identifier: int ball_identifier: int
paths: _containers.RepeatedCompositeFieldContainer[Path] paths: _containers.RepeatedCompositeFieldContainer[Path]
def __init__(self, ball_identifier: _Optional[int] = ..., paths: _Optional[_Iterable[_Union[Path, _Mapping]]] = ...) -> None: ... def __init__(
self,
ball_identifier: _Optional[int] = ...,
paths: _Optional[_Iterable[_Union[Path, _Mapping]]] = ...,
) -> None: ...
class Shot(_message.Message): class Shot(_message.Message):
__slots__ = ["identifier_histories"] __slots__ = ["identifier_histories"]
IDENTIFIER_HISTORIES_FIELD_NUMBER: _ClassVar[int] IDENTIFIER_HISTORIES_FIELD_NUMBER: _ClassVar[int]
identifier_histories: _containers.RepeatedCompositeFieldContainer[IdentifierHistory] identifier_histories: _containers.RepeatedCompositeFieldContainer[IdentifierHistory]
def __init__(self, identifier_histories: _Optional[_Iterable[_Union[IdentifierHistory, _Mapping]]] = ...) -> None: ... def __init__(
self,
identifier_histories: _Optional[
_Iterable[_Union[IdentifierHistory, _Mapping]]
] = ...,
) -> None: ...