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

Method test_values

tests/apps/test_cross_validation.py:25–70  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

23class TestCrossValidation(unittest.TestCase):
24 @skip_if_quick
25 def test_values(self):
26 testing_dir = Path(__file__).parents[1] / "testing_data"
27 train_transform = Compose(
28 [
29 LoadImaged(keys=["image", "label"]),
30 EnsureChannelFirstd(keys=["image", "label"], channel_dim="no_channel"),
31 ScaleIntensityd(keys="image"),
32 ]
33 )
34 val_transform = LoadImaged(keys=["image", "label"])
35
36 def _test_dataset(dataset):
37 self.assertEqual(len(dataset), 52)
38 self.assertTrue("image" in dataset[0])
39 self.assertTrue("label" in dataset[0])
40 self.assertTrue(isinstance(dataset[0]["image"], MetaTensor))
41 self.assertTupleEqual(dataset[0]["image"].shape, (1, 34, 49, 41))
42
43 cvdataset = CrossValidation(
44 dataset_cls=DecathlonDataset,
45 nfolds=5,
46 seed=12345,
47 root_dir=testing_dir,
48 task="Task04_Hippocampus",
49 section="validation",
50 transform=train_transform,
51 download=True,
52 )
53
54 with skip_if_downloading_fails():
55 data = cvdataset.get_dataset(folds=0)
56
57 _test_dataset(data)
58
59 # test training data for fold [1, 2, 3, 4] of 5 splits
60 data = cvdataset.get_dataset(folds=[1, 2, 3, 4])
61 self.assertTupleEqual(data[0]["image"].shape, (1, 35, 52, 33))
62 self.assertEqual(len(data), 208)
63 # test train / validation for fold 4 of 5 splits
64 data = cvdataset.get_dataset(folds=[4], transform=val_transform, download=False)
65 # val_transform doesn't add the channel dim to shape
66 self.assertTupleEqual(data[0]["image"].shape, (38, 53, 30))
67 self.assertEqual(len(data), 52)
68 data = cvdataset.get_dataset(folds=[0, 1, 2, 3])
69 self.assertTupleEqual(data[0]["image"].shape, (1, 34, 49, 41))
70 self.assertEqual(len(data), 208)
71
72
73if __name__ == "__main__":

Callers

nothing calls this directly

Calls 7

get_datasetMethod · 0.95
ComposeClass · 0.90
LoadImagedClass · 0.90
EnsureChannelFirstdClass · 0.90
ScaleIntensitydClass · 0.90
CrossValidationClass · 0.90

Tested by

no test coverage detected