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]