def test_NDArrayITKBase_pickle(self): """ Test the serialization of itk.NDArrayITKBase """ Dimension = 3 ScalarImageType = itk.Image[itk.UC, Dimension] RegionType = itk.ImageRegion[Dimension] region = RegionType() region.SetSize(0, 6) region.SetSize(1, 6) region.SetSize(2, 6) scalarImage = ScalarImageType.New() scalarImage.SetRegions(region) scalarImage.Allocate(True) scalarImage.SetPixel([0, 0, 0], 5) scalarImage.SetPixel([0, 0, 1], 3) scalarImage.SetPixel([5, 5, 5], 8) ndarray_itk_base = itk.array_view_from_image(scalarImage) import pickle ## test serialization of itk ndarrary itk base pickled = pickle.dumps(ndarray_itk_base) reloaded = pickle.loads(pickled) equal = (reloaded == ndarray_itk_base).all() assert equal, "Different results before and after pickle" try: import dask from distributed.protocol.serialize import dask_dumps, dask_loads except ImportError: pass else: header, frames = dask_dumps(ndarray_itk_base) recon_obj = dask_loads(header, frames) equal = (recon_obj == ndarray_itk_base).all() assert equal, "Different results before and after pickle"
def dumps(obj): return pack_frames(dask_dumps(obj)[1])