From 871ab831e89df49c0450f1894f3649bf995cffe3 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Sun, 22 Oct 2023 21:21:54 -0400 Subject: [PATCH] test(itkwasm-image-io-wasi): add MetaImage test --- .../tests/test_metaimage.py | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 packages/image-io/python/itkwasm-image-io-wasi/tests/test_metaimage.py diff --git a/packages/image-io/python/itkwasm-image-io-wasi/tests/test_metaimage.py b/packages/image-io/python/itkwasm-image-io-wasi/tests/test_metaimage.py new file mode 100644 index 000000000..6d9ef47bd --- /dev/null +++ b/packages/image-io/python/itkwasm-image-io-wasi/tests/test_metaimage.py @@ -0,0 +1,52 @@ +from pathlib import Path + +from itkwasm_image_io_wasi import meta_read_image, meta_write_image + +from .common import test_input_path, test_output_path + +test_input_file_path = test_input_path / 'brainweb165a10f17.mha' +test_output_file_path = test_output_path / 'meta-image-test-brainweb165a10f17.mha' + +def verify_image(image): + assert image.imageType.dimension == 3 + assert image.imageType.componentType == "uint8" + assert image.imageType.pixelType == "Scalar" + assert image.imageType.components == 1 + assert image.origin[0] == 0.0 + assert image.origin[1] == 0.0 + assert image.origin[2] == 0.0 + assert image.spacing[0] == 1.0 + assert image.spacing[1] == 1.0 + assert image.spacing[2] == 1.0 + assert image.direction[0, 0] == 1.0 + assert image.direction[0, 1] == 0.0 + assert image.direction[0, 2] == 0.0 + assert image.direction[1, 0] == 0.0 + assert image.direction[1, 1] == 1.0 + assert image.direction[1, 2] == 0.0 + assert image.direction[2, 0] == 0.0 + assert image.direction[2, 1] == 0.0 + assert image.direction[2, 2] == 1.0 + assert image.size[0] == 181 + assert image.size[1] == 217 + assert image.size[2] == 180 + assert image.data.ravel()[0] == 5 + assert image.data.ravel()[1] == 8 + assert image.data.ravel()[2] == 2 + +def test_meta_read_image(): + could_read, image = meta_read_image(test_input_file_path) + assert could_read + verify_image(image) + +def test_meta_write_image(): + could_read, image = meta_read_image(test_input_file_path) + assert could_read + + use_compression = False + could_write = meta_write_image(image, test_output_file_path, use_compression) + assert could_write + + could_read, image = meta_read_image(test_output_file_path) + assert could_read + verify_image(image) \ No newline at end of file