2022-03-30 13:43:13 +02:00

39 lines
1.3 KiB
Python

import numpy as np
import pytest
from PIL import Image
from image_prediction.estimator.preprocessor.preprocessors.basic import BasicPreprocessor
from image_prediction.estimator.preprocessor.preprocessors.identity import IdentityPreprocessor
from image_prediction.estimator.preprocessor.utils import image_to_normalized_tensor, images_to_batch_tensor
def image_conversion_is_correct(image):
tensor = image_to_normalized_tensor(image)
image_re = Image.fromarray(np.uint8(tensor * 255), mode="RGB")
return image == image_re and tensor.ndim == 3
def images_conversion_is_correct(images, tensor):
if not (images or tensor.size > 0):
return True
return all([isinstance(tensor, np.ndarray), tensor.ndim == 4, tensor.shape[0] == len(images)])
def test_image_to_tensor(images):
assert all(map(image_conversion_is_correct, images))
def test_images_to_batch_tensor(images):
tensor = images_to_batch_tensor(images)
assert images_conversion_is_correct(images, tensor)
def test_basic_preprocessor(images):
tensor = BasicPreprocessor()(images)
assert images_conversion_is_correct(images, tensor)
def test_identity_preprocessor(images):
images_preprocessed = IdentityPreprocessor()(images)
assert images_preprocessed == images