Source code for samgis_core.utilities.type_hints

"""custom type hints"""
from enum import Enum
from typing import TypedDict, NewType

from PIL.Image import Image
from numpy import ndarray


[docs] class ListStr(list[str]): pass
[docs] class DictStrInt(dict[str, int]): pass
[docs] class DictStr(dict[str]): pass
[docs] class DictStrAny(dict[str, any]): pass
[docs] class ListDict(list[dict]): pass
[docs] class ListFloat(list[float]): pass
[docs] class ListInt(list[int]): pass
[docs] class TupleInt(tuple[int]): pass
TupleInt2 = NewType("TupleInt", tuple[int, int])
[docs] class TupleNdarrayInt(tuple[ndarray, int]): pass
[docs] class TupleNdarrayFloat(tuple[ndarray, float]): pass
[docs] class LlistFloat(ListFloat): pass
[docs] class TupleFloat(tuple[float]): pass
[docs] class TupleFloatAny(tuple[float, any]): pass
PIL_Image = Image
[docs] class StrEnum(str, Enum): pass
[docs] class EmbeddingImage(TypedDict): image_embedding: ndarray original_size: TupleInt transform_matrix: ndarray
[docs] class EmbeddingPILImage(TypedDict): image_embedding: ndarray original_size: TupleInt2 resized_size: TupleInt2
[docs] class MatplotlibBackend(StrEnum): gtk3agg = "gtk3agg" gtk3cairo = "gtk3cairo" gtk4agg = "gtk4agg" gtk4cairo = "gtk4cairo" macosx = "macosx" nbagg = "nbagg" notebook = "notebook" qtagg = "qtagg" qtcairo = "qtcairo" qt5agg = "qt5agg" qt5cairo = "qt5cairo" tkagg = "tkagg" tkcairo = "tkcairo" webagg = "webagg" wx = "wx" wxagg = "wxagg" wxcairo = "wxcairo" agg = "agg" cairo = "cairo" pdf = "pdf" pgf = "pgf" ps = "ps" svg = "svg" template = "template"
EmbeddingDict = dict[str, EmbeddingImage] EmbeddingPILDict = dict[str, EmbeddingPILImage]