File size: 4,923 Bytes
f2ae8ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
{
    "data_list_file_path": "$@bundle_root + '/configs/msd_task09_spleen_folds.json'",
    "dataset_dir": "/data/Task09_Spleen",
    "output_dir": "$@bundle_root + '/eval'",
    "ckpt_path": "$@bundle_root + '/models/model.pt'",
    "patch_size": [
        128,
        128,
        128
    ],
    "resample_to_spacing": [
        1.5,
        1.5,
        1.5
    ],
    "label_mappings": {
        "default": [
            [
                1,
                3
            ]
        ]
    },
    "label_set": "$list(x[1] for x in @label_mappings#default)",
    "validate#evaluator#hyper_kwargs#val_head": "auto",
    "validate#preprocessing": {
        "_target_": "Compose",
        "transforms": [
            {
                "_target_": "LoadImaged",
                "keys": [
                    "image",
                    "label"
                ],
                "image_only": true,
                "ensure_channel_first": true
            },
            {
                "_target_": "CropForegroundd",
                "keys": [
                    "image"
                ],
                "source_key": "image",
                "margin": 10,
                "allow_smaller": true,
                "start_coord_key": null,
                "end_coord_key": null
            },
            {
                "_target_": "ScaleIntensityRanged",
                "keys": "image",
                "a_min": -963.8247715525971,
                "a_max": 1053.678477684517,
                "b_min": 0.0,
                "b_max": 1.0,
                "clip": true
            },
            {
                "_target_": "Orientationd",
                "keys": [
                    "image"
                ],
                "axcodes": "RAS"
            },
            {
                "_target_": "Spacingd",
                "keys": [
                    "image"
                ],
                "pixdim": "$@resample_to_spacing",
                "mode": [
                    "bilinear"
                ]
            },
            {
                "_target_": "CastToTyped",
                "keys": [
                    "image",
                    "label"
                ],
                "dtype": [
                    "$torch.float32",
                    "$torch.uint8"
                ]
            },
            {
                "_target_": "monai.apps.vista3d.transforms.Relabeld",
                "keys": "label",
                "label_mappings": "@label_mappings",
                "dtype": "$torch.uint8"
            }
        ]
    },
    "validate#postprocessing": {
        "_target_": "Compose",
        "transforms": [
            {
                "_target_": "EnsureTyped",
                "keys": [
                    "pred",
                    "label"
                ],
                "device": "cpu",
                "_disabled_": true
            },
            {
                "_target_": "monai.apps.vista3d.transforms.VistaPostTransformd",
                "keys": "pred"
            },
            {
                "_target_": "Invertd",
                "keys": "pred",
                "transform": "$copy.deepcopy(@validate#preprocessing)",
                "orig_keys": "image",
                "nearest_interp": true,
                "to_tensor": true
            },
            {
                "_target_": "Lambdad",
                "func": "$lambda x: torch.nan_to_num(x, nan=255)",
                "keys": "pred"
            },
            {
                "_target_": "SaveImaged",
                "keys": "pred",
                "resample": false,
                "output_dir": "@output_dir"
            },
            {
                "_target_": "monai.apps.vista3d.transforms.Relabeld",
                "keys": [
                    "pred",
                    "label"
                ],
                "label_mappings": "${'default': [[c, i+1] for i, c in enumerate(@label_set)]}",
                "dtype": "$torch.uint8"
            }
        ]
    },
    "validate#handlers": [
        {
            "_target_": "CheckpointLoader",
            "load_path": "@ckpt_path",
            "load_dict": {
                "model": "@network"
            }
        },
        {
            "_target_": "StatsHandler",
            "iteration_log": true,
            "name": "validate_stats"
        },
        {
            "_target_": "MetricsSaver",
            "_disabled_": false,
            "save_dir": "@output_dir",
            "metrics": [
                "val_mean_dice"
            ],
            "batch_transform": "$lambda x: [xx['image'].meta for xx in x]",
            "metric_details": "*",
            "summary_ops": "*"
        }
    ],
    "validate#dataset": {
        "_target_": "Dataset",
        "data": "$list(@val_datalist)",
        "transform": "@validate#preprocessing"
    },
    "run": [
        "$@validate#evaluator.run()"
    ]
}