24 lines
737 B
Python
24 lines
737 B
Python
from typing import NewType
|
|
from dataclasses import dataclass
|
|
import numpy as np
|
|
import pandera as pa
|
|
from pandera.dtypes import Float32, Float64
|
|
|
|
VideoFrame = NewType('Frame', float)
|
|
VideoTimestamp = float
|
|
|
|
|
|
def tensor_of(data_type: pa.DataType, cols: list[str]) -> pa.DataFrameSchema:
|
|
return pa.DataFrameSchema({col: pa.Column(data_type) for col in cols})
|
|
|
|
|
|
DetectedObject_ = tensor_of(Float32, ["xmin", "ymin", "xmax", "ymax", "score",
|
|
"category"])
|
|
|
|
TrackedDetectedObject = tensor_of(Float64,
|
|
list(DetectedObject_.columns) + ["object_id", "index"])
|
|
# ["xmin", "ymin", "xmax", "ymax", "object_id", "score", "category", "index"])
|
|
|
|
|
|
Color = tuple[int, int, int]
|