MCPcopy Create free account
hub / github.com/SimpleITK/SimpleITK / test_readwrite

Function test_readwrite

Wrapping/Python/tests/sitkTransformTests.py:325–350  ·  view source on GitHub ↗

Test reading and writing transforms

(transform_info, ext, test_dir)

Source from the content-addressed store, hash-verified

323])
324@pytest.mark.parametrize("ext", ["txt", "tfm", "hdf", "mat"])
325def test_readwrite(transform_info, ext, test_dir):
326 """Test reading and writing transforms"""
327
328 transform_name, args = transform_info
329
330 # Disable CompositeTransform with 'mat' extension
331 if transform_name == "CompositeTransform" and ext == "mat":
332 pytest.skip("CompositeTransform does not support 'mat' file format.")
333
334 tx = getattr(sitk, transform_name)(*args)
335
336 # test with concrete transform and Path object
337 fname = test_dir / f"test_readwrite_{transform_name}.{ext}"
338
339 print( f"Testing I/O {transform_name} with {ext} and filename: {fname}")
340
341 sitk.WriteTransform(tx, fname)
342 read_tx = sitk.ReadTransform(fname)
343 _assert_transform_equal(tx, read_tx.Downcast(), f"Testing I/O {transform_name} with {ext}")
344 _assert_transform_equal(read_tx, read_tx.Downcast(), "Testing ReadTransform downcast")
345
346 # test with base transform class, and a regular string
347 sitk.WriteTransform(sitk.Transform(tx), str(fname))
348 read_tx = sitk.ReadTransform(str(fname))
349 _assert_transform_equal(tx, read_tx.Downcast(), f"Testing I/O Transform {transform_name} with {ext}")
350 _assert_transform_equal(read_tx, read_tx.Downcast(), "Testing ReadTransform downcast")
351
352
353def test_downcast_returned():

Callers

nothing calls this directly

Calls 3

_assert_transform_equalFunction · 0.85
WriteTransformMethod · 0.80
TransformMethod · 0.80

Tested by

no test coverage detected