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

Method test_shape

tests/data/test_lmdbdataset.py:104–184  ·  view source on GitHub ↗
(self, transform, expected_shape, kwargs=None)

Source from the content-addressed store, hash-verified

102
103 @parameterized.expand([TEST_CASE_1, TEST_CASE_2, TEST_CASE_3, TEST_CASE_4, TEST_CASE_5, TEST_CASE_6, TEST_CASE_7])
104 def test_shape(self, transform, expected_shape, kwargs=None):
105 kwargs = kwargs or {}
106 test_image = nib.Nifti1Image(np.random.randint(0, 2, size=[128, 128, 128]).astype(float), np.eye(4))
107 with tempfile.TemporaryDirectory() as tempdir:
108 nib.save(test_image, os.path.join(tempdir, "test_image1.nii.gz"))
109 nib.save(test_image, os.path.join(tempdir, "test_label1.nii.gz"))
110 nib.save(test_image, os.path.join(tempdir, "test_extra1.nii.gz"))
111 nib.save(test_image, os.path.join(tempdir, "test_image2.nii.gz"))
112 nib.save(test_image, os.path.join(tempdir, "test_label2.nii.gz"))
113 nib.save(test_image, os.path.join(tempdir, "test_extra2.nii.gz"))
114 test_data = [
115 {
116 "image": os.path.join(tempdir, "test_image1.nii.gz"),
117 "label": os.path.join(tempdir, "test_label1.nii.gz"),
118 "extra": os.path.join(tempdir, "test_extra1.nii.gz"),
119 },
120 {
121 "image": os.path.join(tempdir, "test_image2.nii.gz"),
122 "label": os.path.join(tempdir, "test_label2.nii.gz"),
123 "extra": os.path.join(tempdir, "test_extra2.nii.gz"),
124 },
125 ]
126
127 # update the data to cache
128 test_data_new = [
129 {
130 "image": os.path.join(tempdir, "test_image1_new.nii.gz"),
131 "label": os.path.join(tempdir, "test_label1_new.nii.gz"),
132 "extra": os.path.join(tempdir, "test_extra1_new.nii.gz"),
133 },
134 {
135 "image": os.path.join(tempdir, "test_image2_new.nii.gz"),
136 "label": os.path.join(tempdir, "test_label2_new.nii.gz"),
137 "extra": os.path.join(tempdir, "test_extra2_new.nii.gz"),
138 },
139 ]
140
141 cache_dir = os.path.join(os.path.join(tempdir, "cache"), "data")
142 ds_args = dict(data=test_data, transform=transform, progress=False, cache_dir=cache_dir, **kwargs)
143
144 dataset_precached = LMDBDataset(**ds_args)
145 data1_precached = dataset_precached[0]
146 data2_precached = dataset_precached[1]
147
148 dataset_precached.close()
149
150 dataset_postcached = LMDBDataset(**ds_args)
151 data1_postcached = dataset_postcached[0]
152 data2_postcached = dataset_postcached[1]
153
154 if transform is None:
155 self.assertEqual(data1_precached["image"], os.path.join(tempdir, "test_image1.nii.gz"))
156 self.assertEqual(data2_precached["label"], os.path.join(tempdir, "test_label2.nii.gz"))
157 self.assertEqual(data1_postcached["image"], os.path.join(tempdir, "test_image1.nii.gz"))
158 self.assertEqual(data2_postcached["extra"], os.path.join(tempdir, "test_extra2.nii.gz"))
159 else:
160 self.assertTupleEqual(data1_precached["image"].shape, expected_shape)
161 self.assertTupleEqual(data1_precached["label"].shape, expected_shape)

Callers

nothing calls this directly

Calls 5

closeMethod · 0.95
set_dataMethod · 0.95
LMDBDatasetClass · 0.90
astypeMethod · 0.80
saveMethod · 0.80

Tested by

no test coverage detected