Module datatap.template.frame_annotation_template
Expand source code
from __future__ import annotations
from typing import Dict, Mapping
from typing_extensions import TypedDict
from ..utils import basic_repr
from .class_annotation_template import ClassAnnotationTemplate, ClassAnnotationTemplateJson
class FrameAnnotationTemplateJson(TypedDict):
"""
The serialized JSON representation of a frame annotation template.
"""
classes: Dict[str, ClassAnnotationTemplateJson]
class FrameAnnotationTemplate():
"""
Describes how a `FrameAnnotation` is structured.
For each of its classes, it provides a `ClassAnnotationTemplate`.
"""
classes: Mapping[str, ClassAnnotationTemplate]
"""
A mapping from class name to `ClassAnnotationTemplate`.
"""
def __init__(self, *, classes: Mapping[str, ClassAnnotationTemplate]):
self.classes = classes
def to_json(self) -> FrameAnnotationTemplateJson:
"""
Serializes this object to JSON.
"""
return {
"classes": {
class_name: class_template.to_json()
for class_name, class_template in self.classes.items()
}
}
@staticmethod
def from_json(json: FrameAnnotationTemplateJson) -> FrameAnnotationTemplate:
"""
Deserializes a JSON object into a `FrameAnnotationTemplate`.
"""
classes = {
key: ClassAnnotationTemplate.from_json(value)
for key, value in json.get("classes", {}).items()
}
return FrameAnnotationTemplate(classes=classes)
def __repr__(self) -> str:
return basic_repr(
"FrameAnnotationTemplate",
classes = self.classes
)
Classes
class FrameAnnotationTemplate (*, classes: Mapping[str, ClassAnnotationTemplate])
-
Describes how a
FrameAnnotation
is structured.For each of its classes, it provides a
ClassAnnotationTemplate
.Expand source code
class FrameAnnotationTemplate(): """ Describes how a `FrameAnnotation` is structured. For each of its classes, it provides a `ClassAnnotationTemplate`. """ classes: Mapping[str, ClassAnnotationTemplate] """ A mapping from class name to `ClassAnnotationTemplate`. """ def __init__(self, *, classes: Mapping[str, ClassAnnotationTemplate]): self.classes = classes def to_json(self) -> FrameAnnotationTemplateJson: """ Serializes this object to JSON. """ return { "classes": { class_name: class_template.to_json() for class_name, class_template in self.classes.items() } } @staticmethod def from_json(json: FrameAnnotationTemplateJson) -> FrameAnnotationTemplate: """ Deserializes a JSON object into a `FrameAnnotationTemplate`. """ classes = { key: ClassAnnotationTemplate.from_json(value) for key, value in json.get("classes", {}).items() } return FrameAnnotationTemplate(classes=classes) def __repr__(self) -> str: return basic_repr( "FrameAnnotationTemplate", classes = self.classes )
Class variables
var classes : Mapping[str, ClassAnnotationTemplate]
-
A mapping from class name to
ClassAnnotationTemplate
.
Static methods
def from_json(json: FrameAnnotationTemplateJson) ‑> FrameAnnotationTemplate
-
Deserializes a JSON object into a
FrameAnnotationTemplate
.Expand source code
@staticmethod def from_json(json: FrameAnnotationTemplateJson) -> FrameAnnotationTemplate: """ Deserializes a JSON object into a `FrameAnnotationTemplate`. """ classes = { key: ClassAnnotationTemplate.from_json(value) for key, value in json.get("classes", {}).items() } return FrameAnnotationTemplate(classes=classes)
Methods
def to_json(self) ‑> FrameAnnotationTemplateJson
-
Serializes this object to JSON.
Expand source code
def to_json(self) -> FrameAnnotationTemplateJson: """ Serializes this object to JSON. """ return { "classes": { class_name: class_template.to_json() for class_name, class_template in self.classes.items() } }
class FrameAnnotationTemplateJson (*args, **kwargs)
-
The serialized JSON representation of a frame annotation template.
Expand source code
class FrameAnnotationTemplateJson(TypedDict): """ The serialized JSON representation of a frame annotation template. """ classes: Dict[str, ClassAnnotationTemplateJson]
Ancestors
- builtins.dict
Class variables
var classes : Dict[str, ClassAnnotationTemplateJson]