MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / test_shape

Method test_shape

tests/data/test_cachedataset.py:43–77  ·  view source on GitHub ↗
(self, transform, expected_shape)

Source from the content-addressed store, hash-verified

41
42 @parameterized.expand([TEST_CASE_1, TEST_CASE_2])
43 def test_shape(self, transform, expected_shape):
44 test_image = nib.Nifti1Image(np.random.randint(0, 2, size=[128, 128, 128]).astype(float), np.eye(4))
45 with tempfile.TemporaryDirectory() as tempdir:
46 test_data = []
47 for i in ["1", "2"]:
48 for k in ["image", "label", "extra"]:
49 nib.save(test_image, os.path.join(tempdir, f"{k}{i}.nii.gz"))
50 test_data.append({k: os.path.join(tempdir, f"{k}{i}.nii.gz") for k in ["image", "label", "extra"]})
51
52 dataset = CacheDataset(data=test_data, transform=transform, cache_rate=0.5, as_contiguous=True)
53 data1 = dataset[0]
54 data2 = dataset[1]
55 data3 = dataset[0:-1]
56 data4 = dataset[-1]
57 self.assertEqual(len(data3), 1)
58
59 if transform is None:
60 # Check without providing transform
61 dataset2 = CacheDataset(data=test_data, cache_rate=0.5, as_contiguous=True)
62 for k in ["image", "label", "extra"]:
63 self.assertEqual(dataset[0][k], dataset2[0][k])
64
65 if transform is None:
66 self.assertEqual(data1["image"], os.path.join(tempdir, "image1.nii.gz"))
67 self.assertEqual(data2["label"], os.path.join(tempdir, "label2.nii.gz"))
68 self.assertEqual(data4["image"], os.path.join(tempdir, "image2.nii.gz"))
69 else:
70 self.assertTupleEqual(data1["image"].shape, expected_shape)
71 self.assertTupleEqual(data1["label"].shape, expected_shape)
72 self.assertTupleEqual(data1["extra"].shape, expected_shape)
73 self.assertTupleEqual(data2["image"].shape, expected_shape)
74 self.assertTupleEqual(data2["label"].shape, expected_shape)
75 self.assertTupleEqual(data2["extra"].shape, expected_shape)
76 for d in data3:
77 self.assertTupleEqual(d["image"].shape, expected_shape)
78
79 def test_set_data(self):
80 data_list1 = list(range(10))

Callers

nothing calls this directly

Calls 4

CacheDatasetClass · 0.90
astypeMethod · 0.80
saveMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected