Files
scikit-image/skimage/io/tests/test_image.py
T
2013-12-07 11:45:37 -06:00

34 lines
1016 B
Python

from io import BytesIO
import numpy as np
from skimage import img_as_ubyte
from skimage.io import Image, imread
from numpy.testing import assert_equal, assert_array_equal
def test_tags():
f = Image([1, 2, 3], foo='bar', sigma='delta')
g = Image([3, 2, 1], sun='moon')
h = Image([1, 1, 1])
assert_equal(f.tags['foo'], 'bar')
assert_array_equal((g + 2).tags['sun'], 'moon')
assert_equal(h.tags, {})
def test_repr_png_roundtrip():
# Use RGB-like shape since some backends convert grayscale to RGB
original_array = 255 * np.ones((5, 5, 3), dtype=np.uint8)
image = Image(original_array)
array = imread(BytesIO(image._repr_png_()))
# Force output to ubyte range for plugin compatibility.
# For example, Matplotlib will return floats even if the image is uint8.
assert_array_equal(img_as_ubyte(array), original_array)
# Note that PIL breaks with `_repr_jpeg_`.
if __name__ == "__main__":
from numpy.testing import run_module_suite
run_module_suite()