mirror of
https://github.com/wassname/scikit-image.git
synced 2026-06-29 01:11:56 +08:00
70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
import os
|
|
|
|
import numpy as np
|
|
from numpy.testing.decorators import skipif
|
|
from numpy.testing import assert_raises, assert_equal, assert_allclose
|
|
|
|
from skimage import data_dir
|
|
from skimage.io.collection import MultiImage
|
|
|
|
try:
|
|
from PIL import Image
|
|
except ImportError:
|
|
PIL_available = False
|
|
else:
|
|
PIL_available = True
|
|
|
|
import six
|
|
|
|
|
|
class TestMultiImage():
|
|
|
|
def setUp(self):
|
|
# This multipage TIF file was created with imagemagick:
|
|
# convert im1.tif im2.tif -adjoin multipage.tif
|
|
if PIL_available:
|
|
self.img = MultiImage(os.path.join(data_dir, 'multipage.tif'))
|
|
|
|
@skipif(not PIL_available)
|
|
def test_len(self):
|
|
assert len(self.img) == 2
|
|
|
|
@skipif(not PIL_available)
|
|
def test_getitem(self):
|
|
num = len(self.img)
|
|
for i in range(-num, num):
|
|
assert type(self.img[i]) is np.ndarray
|
|
assert_allclose(self.img[0], self.img[-num])
|
|
|
|
# assert_raises expects a callable, hence this thin wrapper function.
|
|
def return_img(n):
|
|
return self.img[n]
|
|
assert_raises(IndexError, return_img, num)
|
|
assert_raises(IndexError, return_img, -num - 1)
|
|
|
|
@skipif(not PIL_available)
|
|
def test_files_property(self):
|
|
assert isinstance(self.img.filename, six.string_types)
|
|
|
|
def set_filename(f):
|
|
self.img.filename = f
|
|
assert_raises(AttributeError, set_filename, 'newfile')
|
|
|
|
@skipif(not PIL_available)
|
|
def test_conserve_memory_property(self):
|
|
assert isinstance(self.img.conserve_memory, bool)
|
|
|
|
def set_mem(val):
|
|
self.img.conserve_memory = val
|
|
assert_raises(AttributeError, set_mem, True)
|
|
|
|
@skipif(not PIL_available)
|
|
def test_concatenate(self):
|
|
array = self.img.concatenate()
|
|
assert_equal(array.shape, (len(self.img),) + self.img[0].shape)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
from numpy.testing import run_module_suite
|
|
run_module_suite()
|