Skip to content
Snippets Groups Projects
Commit 1803a43d authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

TEST: Bitmap tests

parent 27ae5717
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ universal=1 ...@@ -11,6 +11,7 @@ universal=1
# - dicomtest: Requires dcm2niix # - dicomtest: Requires dcm2niix
# - meshtest: Requires trimesh and rtree # - meshtest: Requires trimesh and rtree
# - igziptest: Requires indexed_gzip # - igziptest: Requires indexed_gzip
# - piltest: Requires Pillow
# - noroottest: Need to be executed as # - noroottest: Need to be executed as
# non-root user (will fail # non-root user (will fail
# otherwise) # otherwise)
......
#!/usr/bin/env python
#
# test_bitmap.py -
#
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
import numpy as np
import pytest
import fsl.utils.tempdir as tempdir
import fsl.data.bitmap as fslbmp
@pytest.mark.piltest
def test_bitmap():
from PIL import Image
with tempdir.tempdir():
data = np.random.randint(0, 255, (100, 200, 4), dtype=np.uint8)
img = Image.fromarray(data, mode='RGBA')
img.save('image.png')
bmp = fslbmp.Bitmap('image.png')
assert bmp.name == 'image.png'
assert bmp.dataSource == 'image.png'
assert bmp.shape == (200, 100, 4)
repr(bmp)
hash(bmp)
assert np.all(bmp.data == np.fliplr(data.transpose(1, 0, 2)))
@pytest.mark.piltest
def test_bitmap_asImage():
from PIL import Image
with tempdir.tempdir():
d3 = np.random.randint(0, 255, (100, 200, 3), dtype=np.uint8)
d4 = np.random.randint(0, 255, (100, 200, 4), dtype=np.uint8)
img3 = Image.fromarray(d3, mode='RGB')
img4 = Image.fromarray(d4, mode='RGBA')
img3.save('rgb.png')
img4.save('rgba.png')
bmp3 = fslbmp.Bitmap('rgb.png')
bmp4 = fslbmp.Bitmap('rgba.png')
i3 = bmp3.asImage()
i4 = bmp4.asImage()
assert i3.shape == (200, 100, 1)
assert i4.shape == (200, 100, 1)
assert i3.nvals == 3
assert i4.nvals == 4
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment