2022-04-14 18:03:19 +02:00

24 lines
665 B
Python

from typing import Iterable
import numpy as np
from PIL import Image
from frozendict import frozendict
from image_prediction.estimator.preprocessor.utils import image_to_normalized_tensor
def transform_equal(a, b):
return (list(a) if isinstance(a, map) else a) == b
def images_equal(im1: Image, im2: Image, **kwargs):
return np.allclose(image_to_normalized_tensor(im1), image_to_normalized_tensor(im2), **kwargs)
def metadata_equal(mdat1: Iterable, mdat2: Iterable):
return set(map(frozendict, mdat1)) == set(map(frozendict, mdat2))
def image_sets_equal(ims1, ims2):
return all(any(images_equal(im1, im2) for im2 in ims2) for im1 in ims1)