File size: 5,115 Bytes
c58b7d0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
  "name": "medtrace-brats-seg",
  "version": "1.0.0",
  "task": "3D brain tumour segmentation from four MRI sequences",
  "intended_use": "Produce tumour compartment masks for MEDTRACE's longitudinal measurement pipeline. Research use. Not a diagnostic device and not for clinical decision-making.",
  "architecture": {
    "class": "monai.networks.nets.SegResNet",
    "spatial_dims": 3,
    "in_channels": 4,
    "out_channels": 3,
    "init_filters": 32,
    "blocks_down": [
      1,
      2,
      2,
      4
    ],
    "blocks_up": [
      1,
      1,
      1
    ],
    "dropout_prob": 0.2,
    "parameters": 18798627
  },
  "input_contract": {
    "channel_order": [
      "t1c",
      "t1n",
      "t2f",
      "t2w"
    ],
    "note": "Channel order is not recoverable from the weights. Wrong order, wrong output, no error.",
    "normalisation": "per case, per channel, zero mean unit variance over NON-ZERO voxels only",
    "spacing_mm": [
      1.0,
      1.0,
      1.0
    ],
    "orientation": "as distributed by BraTS 2023 (already co-registered and skull-stripped)",
    "cropping": "crop to the non-zero bounding box of the summed channels, 4 voxel margin",
    "patch_size": [
      128,
      128,
      128
    ],
    "inference": {
      "method": "sliding window",
      "overlap": 0.5,
      "blend": "gaussian"
    }
  },
  "output_contract": {
    "activation": "sigmoid, independent per channel",
    "channels": [
      "TC",
      "WT",
      "ET"
    ],
    "channel_meaning": {
      "TC": "tumour core = necrotic core + enhancing",
      "WT": "whole tumour = necrotic core + oedema + enhancing",
      "ET": "enhancing tumour"
    },
    "overlapping": true,
    "postprocessing": {
      "threshold": 0.5,
      "min_component_voxels": 0,
      "et_min_voxels": 200
    },
    "to_integer_labels": {
      "convention": "BRATS",
      "mapping": {
        "1": "necrotic_core",
        "2": "oedema",
        "3": "enhancing"
      },
      "procedure": "write WT as 2, then TC as 1, then ET as 3, in that order"
    }
  },
  "training_data": {
    "dataset": "BraTS 2023 GLI, challenge training split (the only labelled split)",
    "split_unit": "subject",
    "split_seed": 20260813,
    "cases": {
      "train": 874,
      "val": 191,
      "test": 186
    },
    "subjects": {
      "train": 792,
      "val": 172,
      "test": 169
    },
    "label_mapping_verified": true,
    "excluded_cases": []
  },
  "training": {
    "epochs_completed": 37,
    "epochs_planned": 60,
    "selected_epoch": 32,
    "selection_metric": "mean Dice over TC, WT, ET on the validation split",
    "loss": "DiceFocalLoss(sigmoid=True, squared_pred=True, batch=True)",
    "optimizer": "AdamW lr=0.0002 wd=1e-05",
    "scheduler": "CosineAnnealingLR",
    "precision": "AMP float16",
    "augmentation": [
      "random axis flips",
      "intensity scale +-10%",
      "intensity shift +-10%"
    ],
    "patch_sampling": "80% centred on whole tumour, 20% uniform",
    "seed": 20260813
  },
  "metrics": {
    "validation": {
      "TC": {
        "dice_mean": 0.9015418441673284,
        "dice_median": 0.947789848286196,
        "hd95_median": 2.0
      },
      "WT": {
        "dice_mean": 0.9177529638232264,
        "dice_median": 0.939965202760836,
        "hd95_median": 3.316624879837036
      },
      "ET": {
        "dice_mean": 0.8503461605067909,
        "dice_median": 0.9047415373334963,
        "hd95_median": 1.4142135381698608
      }
    },
    "test": {
      "TC": {
        "dice_mean": 0.9078361539305267,
        "dice_median": 0.9563434942782733,
        "hd95_median": 2.0,
        "sensitivity_mean": 0.9165695598827129,
        "precision_mean": 0.9170155149790782
      },
      "WT": {
        "dice_mean": 0.921562897191002,
        "dice_median": 0.9489419374016819,
        "hd95_median": 2.4494898319244385,
        "sensitivity_mean": 0.9247750225794058,
        "precision_mean": 0.9235932925559869
      },
      "ET": {
        "dice_mean": 0.852042452735223,
        "dice_median": 0.8984435921432055,
        "hd95_median": 1.4142135381698608,
        "sensitivity_mean": 0.8833305802745401,
        "precision_mean": 0.8486887298796273
      }
    },
    "empty_region_rule": "BraTS convention: with empty ground truth, Dice is 1 if the prediction is also empty and 0 otherwise. Not averaged away as NaN."
  },
  "limitations": [
    "Trained on pre-operative adult glioma only. LUMIERE's post-treatment appearances, including resection cavities and radiation change, are not represented.",
    "Requires all four sequences. Behaviour with a missing sequence is untested.",
    "Assumes BraTS preprocessing: skull-stripped, co-registered, 1 mm isotropic.",
    "Agreement with one annotation protocol on one dataset. Not a measure of clinical accuracy.",
    "Selection and post-processing tuning both used the validation split, so validation figures are optimistic. Use the test figures."
  ],
  "environment": {
    "monai": "1.6.0",
    "torch": "2.10.0+cu128",
    "numpy": "2.0.2",
    "device": "Tesla T4, 15.6 GB",
    "amp": true
  }
}