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