def test_compare_imgs(self): img1_path = self.temp_file_name("img1.png") img2_path = self.temp_file_name("img2.png") img1 = get_pil_img_repr(img1_path) img2 = get_pil_img_repr(img2_path) assert compare_imgs(img1, img2) assert compare_imgs(img1, img2, start1=(4, 4), box=(5, 5)) with self.assertRaises(Exception): compare_imgs(img1, img2, box=(0, 0)) with self.assertRaises(Exception): compare_imgs(img1, img2, start2=(3, 3)) exr_img1 = get_exr_img_repr() exr_img2 = get_exr_img_repr(alt=True) assert not compare_imgs(exr_img1, exr_img2, max_col=1) assert compare_imgs(exr_img1, exr_img1, max_col=1) exr_img2_copy = exr_img2.copy() for i in range(10): for j in range(10): exr_img2.set_pixel((j, i), [0.1, 0.1, 0.1]) assert compare_imgs(exr_img2, exr_img2_copy) assert not compare_imgs(exr_img2, exr_img2_copy, max_col=1)
def test_to_pil(self): e = get_exr_img_repr() img = e.to_pil() img_file = os.path.join(self.path, "img1.jpg") img.save(img_file) img.close() p = PILImgRepr() p.load_from_file(img_file) img2 = e.to_pil(use_extremas=True) assert isinstance(img2, Image.Image) img_alt = get_exr_img_repr(alt=True) img3 = img_alt.to_pil(use_extremas=True) assert isinstance(img3, Image.Image)
def test_set_pixel(self): e = get_exr_img_repr() val1 = [0.4, 0.3, 0.2] e.set_pixel((0, 0), val1) val2 = [0.1, 0.131, 0.001] e.set_pixel((4, 4), val2) almost_equal_pixels(e.get_pixel((0, 0)), val1) almost_equal_pixels(e.get_pixel((4, 4)), val2) e_copy = e.copy() e.min = 0.5 e.set_pixel((0, 0), val1) almost_equal_pixels(e.get_pixel((0, 0)), [0.5, 0.5, 0.5]) e.max = 0.8 val3 = [0.1, 0.6, 0.9] e.set_pixel((0, 0), val3) almost_equal_pixels(e.get_pixel((0, 0)), [0.5, 0.6, 0.8]) almost_equal_pixels(e_copy.get_pixel((0, 0)), val1) assert e_copy.min == 0.0 assert e_copy.max == 1.0
def test_blend_exr(self): exr1 = get_exr_img_repr() exr2 = get_exr_img_repr(alt=True) exr = blend(exr1, exr2, 0) assert exr.get_pixel((3, 2)) == exr1.get_pixel((3, 2)) exr = blend(exr1, exr2, 1) assert exr.get_pixel((3, 2)) == exr2.get_pixel((3, 2)) assert exr2.get_pixel((3, 2)) == [0, 0, 0] assert exr1.get_pixel( (3, 2)) == [0.381103515625, 0.412353515625, 0.42236328125] assert exr2.get_pixel((3, 2)) == [0, 0, 0] exr = blend(exr1, exr2, 0.5) almost_equal_pixels(exr.get_pixel((3, 2)), [0.1905, 0.206, 0.211]) exr = blend(exr1, exr2, 0.9) almost_equal_pixels(exr.get_pixel((3, 2)), [0.0381, 0.0412, 0.0422])
def test_exr_repr(self): e = get_exr_img_repr() assert e.img is not None assert e.dw is not None assert e.rgb is not None assert e.get_size() == (10, 10) assert e.get_pixel( (0, 0)) == [0.5703125, 0.53076171875, 0.432373046875] assert e.get_pixel( (5, 5)) == [0.6982421875, 0.73193359375, 0.70556640625] assert e.get_pixel( (9, 9)) == [0.461181640625, 0.52392578125, 0.560546875] with self.assertRaises(Exception): e.get_pixel((10, 10))
def test_get_rgbf_extrema(self): e = get_exr_img_repr(alt=True) assert e.get_rgbf_extrema() == (0.0, 0.0) e = get_exr_img_repr() assert e.get_rgbf_extrema() == (3.71875, 0.10687255859375)
def test_to_l_image(self): e = get_exr_img_repr() img = e.to_l_image() assert isinstance(img, Image.Image) assert img.mode == "L"