added new annotation types
This commit is contained in:
@@ -5,9 +5,12 @@ Exposes core data transfer objects and enums for use throughout the project.
|
||||
|
||||
from .angle_enum import AngleEnum
|
||||
from .annotation import Annotation
|
||||
from .colour_enum import ColourEnum
|
||||
from .contact_enum import ContactEnum
|
||||
from .depth_enum import DepthEnum
|
||||
from .distance_enum import DistanceEnum
|
||||
from .job import Job
|
||||
from .lighting_enum import LightingEnum
|
||||
from .point_of_view_enum import PointOfViewEnum
|
||||
|
||||
__all__ = [
|
||||
@@ -17,4 +20,7 @@ __all__ = [
|
||||
"DistanceEnum",
|
||||
"Job",
|
||||
"PointOfViewEnum",
|
||||
"ColourEnum",
|
||||
"DepthEnum",
|
||||
"LightingEnum",
|
||||
]
|
||||
|
||||
@@ -1,16 +1,29 @@
|
||||
"""Definition of Annotation DTO."""
|
||||
|
||||
from .type_checking_base_model import TypeCheckingBaseModel
|
||||
from .distance_enum import DistanceEnum
|
||||
from .angle_enum import AngleEnum
|
||||
from .point_of_view_enum import PointOfViewEnum
|
||||
from .colour_enum import ColourEnum
|
||||
from .contact_enum import ContactEnum
|
||||
from .depth_enum import DepthEnum
|
||||
from .distance_enum import DistanceEnum
|
||||
from .lighting_enum import LightingEnum
|
||||
from .point_of_view_enum import PointOfViewEnum
|
||||
|
||||
|
||||
class Annotation(TypeCheckingBaseModel):
|
||||
"""Data Transfer Object representing an Annotation."""
|
||||
|
||||
distance: DistanceEnum
|
||||
angle: AngleEnum
|
||||
point_of_view: PointOfViewEnum
|
||||
angle_uncertainty: bool
|
||||
colour: ColourEnum
|
||||
colour_uncertainty: bool
|
||||
contact: ContactEnum
|
||||
contact_uncertainty: bool
|
||||
depth: DepthEnum
|
||||
depth_uncertainty: bool
|
||||
distance: DistanceEnum
|
||||
distance_uncertainty: bool
|
||||
lighting: LightingEnum
|
||||
lighting_uncertainty: bool
|
||||
point_of_view: PointOfViewEnum
|
||||
point_of_view_uncertainty: bool
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
"""Definition of ColourEnum DTO."""
|
||||
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class ColourEnum(StrEnum):
|
||||
"""Enumeration for Colour values."""
|
||||
|
||||
HIGH = "high"
|
||||
MEDIUM = "medium"
|
||||
LOW = "low"
|
||||
@@ -0,0 +1,11 @@
|
||||
"""Definition of DepthEnum DTO."""
|
||||
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class DepthEnum(StrEnum):
|
||||
"""Enumeration for Depth values."""
|
||||
|
||||
HIGH = "high"
|
||||
MEDIUM = "medium"
|
||||
LOW = "low"
|
||||
@@ -0,0 +1,11 @@
|
||||
"""Definition of LightingEnum DTO."""
|
||||
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class LightingEnum(StrEnum):
|
||||
"""Enumeration for Lighting values."""
|
||||
|
||||
HIGH = "high"
|
||||
MEDIUM = "medium"
|
||||
LOW = "low"
|
||||
@@ -11,10 +11,13 @@ from python_repositories.adapters import MinioAdapter
|
||||
from data_store.interfaces import AnnotationRepositoryInterface
|
||||
from data_store.dto import (
|
||||
Annotation,
|
||||
DistanceEnum,
|
||||
AngleEnum,
|
||||
PointOfViewEnum,
|
||||
ColourEnum,
|
||||
ContactEnum,
|
||||
DepthEnum,
|
||||
DistanceEnum,
|
||||
LightingEnum,
|
||||
PointOfViewEnum,
|
||||
)
|
||||
|
||||
|
||||
@@ -55,10 +58,20 @@ class AnnotationRepository(MinioAdapter, AnnotationRepositoryInterface):
|
||||
data_str = buffer.read().decode(self.encoding)
|
||||
data = json.loads(data_str)
|
||||
annotation = Annotation(
|
||||
distance=DistanceEnum(data["distance"]),
|
||||
angle=AngleEnum(data["angle"]),
|
||||
point_of_view=PointOfViewEnum(data["point_of_view"]),
|
||||
angle_uncertainty=bool(data["angle_uncertainty"]),
|
||||
colour=ColourEnum(data["colour"]),
|
||||
colour_uncertainty=bool(data["colour_uncertainty"]),
|
||||
contact=ContactEnum(data["contact"]),
|
||||
contact_uncertainty=bool(data["contact_uncertainty"]),
|
||||
depth=DepthEnum(data["depth"]),
|
||||
depth_uncertainty=bool(data["depth_uncertainty"]),
|
||||
distance=DistanceEnum(data["distance"]),
|
||||
distance_uncertainty=bool(data["distance_uncertainty"]),
|
||||
lighting=LightingEnum(data["lighting"]),
|
||||
lighting_uncertainty=bool(data["lighting_uncertainty"]),
|
||||
point_of_view=PointOfViewEnum(data["point_of_view"]),
|
||||
point_of_view_uncertainty=bool(data["point_of_view_uncertainty"]),
|
||||
)
|
||||
except (KeyError, ValueError) as e:
|
||||
self.logger.error(
|
||||
|
||||
Reference in New Issue
Block a user