dataeval.typing.Transform

class dataeval.typing.Transform

Protocol defining a transform function.

Requires a __call__ method that returns transformed data.

Example

>>> from typing import Any
>>> from numpy.typing import NDArray
>>> class MyTransform:
...     def __init__(self, divisor: float) -> None:
...         self.divisor = divisor
...
...     def __call__(self, data: NDArray[Any], /) -> NDArray[Any]:
...         return data / self.divisor
>>> my_transform = MyTransform(divisor=255.0)
>>> isinstance(my_transform, Transform)
True
>>> my_transform(np.array([1, 2, 3]))
array([0.004, 0.008, 0.012])