(self, transform, expected_shape, kwargs=None)
| 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) |
nothing calls this directly
no test coverage detected