MIRTO: a registration-gated, multiverse-tested evaluation protocol for unsupervised anomaly segmentation in brain MRI
Organizations: Università degli Studi di Milano, Milan, Italy · Politecnico di Milano, Milan, Italy · Human Technopole, Milan, Italy · Otto von Guericke University Magdeburg, Germany
Abstract
Unsupervised anomaly detection (UAD) methods for brain MRI are ranked by a single score, yet that score rests on choices that are rarely reported: how each anomaly map is aligned with the reference, how and on which data the threshold is set, and which false-positive budget, metric, aggregation and lesion definition are used. We present MIRTO, an evaluation protocol that makes these choices explicit and measures their effect. It gates the geometry of every comparison with a registration check and label-free diagnostics of known power, sets thresholds on validation data alone and reports the false-positive volume actually realised on test, repeats each comparison over 15,552 defensible evaluation pipelines, and attaches paired subject-bootstrap intervals with multiplicity control. Applied to four UAD methods trained on the same healthy data and tested on 312 BraTS 2020 subjects, MIRTO showed that an axis-order mismatch between stored maps and the reference lowered a diffusion model's voxel AUROC from 0.873 to 0.583 whilst barely moving its slice-level AUROC. Within each metric, the method explained at least 0.95 of the variance in voxel AUROC and AUPRC and 0.77 in Dice, but only 0.14 in lesion sensitivity, where the lesion definition and hit criterion dominated. A Dice advantage that was significant at validation thresholds vanished at equal realised false-positive burden, and an exact identity attributes it to threshold transfer. A training-free change to REFLECT's latent aggregation raised Dice at equal burden by 0.052. Nine hypotheses were tested against explicit criteria; because the same cohort served to develop the protocol, all inference is exploratory.
Figures & tables
| Axis | Levels |
|---|---|
| reference | canonical ; method’s own reference, mapped; round trip via method grid |
| support | full brain; field of view brain |
| voxel volume | true 1 mm 3 ; declared legacy value |
| threshold | validation (Eq. 10 ) ; CRC ; test-matched ; fixed ; per-subject optimum |
| burden | 5, 10, 20, 40 cm 3 |
| post-processing | plain thresholding; hysteresis; hysteresis with pruning |
| Name | Source | Training contrasts |
|---|---|---|
| IXI-HH | IXI, Hammersmith (3 T) | T2 |
| IXI-Guys | IXI, Guy’s (1.5 T) | T2 |
| IXI-HH+Guys | IXI, both sites above | T2 |
| MOOD+IXI-HH | MOOD and IXI Hammersmith | T1 and T2 |
| MOOD+IXI | MOOD and all of IXI | T1 and T2 |
| Method share | Axis share † | |
| voxel AUROC | 0.954 [0.933, 0.966] | 0.046 [0.033, 0.067] |
| voxel AUPRC | 0.960 [0.941, 0.972] | 0.040 [0.028, 0.059] |
| slice AUROC, marginal | 0.974 [0.964, 0.980] | 0.025 [0.019, 0.036] |
| Dice | 0.770 [0.738, 0.787] | 0.207 [0.190, 0.234] |
| slice AROC, adjusted | 0.718 [0.627, 0.783] | 0.267 [0.207, 0.355] |
| lesion sensitivity | 0.139 [0.127, 0.152] | 0.657 [0.648, 0.666] |
| Method | Dice mean | median | pooled | FP mean | median | p95 | max | gap | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| REFLECT | 5 | 0.930 | 0.241 [0.223, 0.260] | 0.235 | 0.311 | 3.3 [1.5, 6.0] | 0.4 | 6.0 | 293 | 6.7% | [0.070, 0.077] |
| 10 | 0.870 | 0.382 [0.359, 0.405] | 0.409 | 0.458 | 7.2 [4.4, 11.2] | 2.0 | 17.1 | 431 | 10.3% | [0.049, 0.053] | |
| 20 | 0.785 | 0.497 [0.473, 0.520] | 0.549 | 0.568 | 16.3 [12.2, 22.0] | 8.6 | 37.2 | 604 | 15.7% | [0.019, 0.022] | |
| 40 | 0.685 | 0.554 [0.531, 0.577] | 0.604 | 0.615 | 35.1 [29.4, 42.6] | 24.9 | 76.6 | 801 | 20.2% | [0.003, 0.004] | |
| UCCD | 5 | 0.500 | 0.441 [0.426, 0.455] | 0.440 | 0.448 | 5.3 [4.0, 7.0] | 1.0 | 21.2 | 166 | 24.4% | [ , ] |
| 10 | 0.445 | 0.497 [0.482, 0.511] | 0.506 | 0.504 | 9.6 [7.6, 12.1] | 2.8 | 34.2 | 226 | 28.8% | [0.002, 0.003] |
| mean exceedance | share | 97.5th pct. | |||||
|---|---|---|---|---|---|---|---|
| law | observed | exact | observed | exact | observed | exact | |
| 24 | Beta(2, 23) | 0.078–0.082 | 0.080 | 69.5–71.2% | 70.8% | 0.205–0.222 | 0.211 |
| 50 | Beta(5, 46) | 0.097–0.099 | 0.098 | 55.6–59.3% | 56.9% | 0.191–0.206 | 0.192 |
| 100 | Beta(10, 91) | 0.096–0.100 | 0.099 | 53.7–57.7% | 54.9% | 0.170–0.179 | 0.164 |
| voxel AUROC | voxel AUPRC | |||||
|---|---|---|---|---|---|---|
| mean | med. | pool | mean | med. | pool | |
| REFLECT | 0.932 [0.925, 0.939] | 0.951 | 0.945 | 0.611 [0.582, 0.639] | 0.689 | 0.642 |
| UCCD | 0.865 [0.857, 0.872] | 0.880 | 0.862 | 0.608 [0.589, 0.626] | 0.655 | 0.580 |
| cDDPM | 0.873 [0.865, 0.881] | 0.889 | 0.867 | 0.630 [0.611, 0.649] | 0.686 | 0.593 |
| AnomalyDINO | 0.832 [0.822, 0.841] | 0.848 | 0.826 | 0.311 [0.290, 0.331] | 0.303 | 0.286 |
| total | fixed- effect | relaxation | sens. global pp | |
|---|---|---|---|---|
| REFLECT | [ , ] | [0.042, 0.050] | 0.608 0.549 | |
| UCCD | [ , 0.016] | [0.073, 0.083] | 0.674 0.629 | |
| cDDPM | [ , 0.008] | [0.110, 0.125] | 0.665 0.619 | |
| AnomalyDINO | [ , ] | [0.036, 0.051] | 0.210 0.121 |
| Scorer | marg. | strat. | m. 0.2 | m. 0.05 | reg. 5 | obs. borrowed |
|---|---|---|---|---|---|---|
| REFLECT | 0.887 | 0.754 | 0.734 | 0.726 | 0.600 | [0.201, 0.257] |
| UCCD | 0.907 | 0.759 | 0.769 | 0.743 | 0.649 | [0.244, 0.288] |
| cDDPM | 0.905 | 0.762 | 0.768 | 0.744 | 0.646 | [0.249, 0.293] |
| AnomalyDINO | 0.598 | 0.619 | 0.620 | 0.624 | 0.504 | [0.100, 0.148] |
| brain area | 0.884 | 0.691 | 0.668 | 0.560 | 0.626 | – |
| mid-brain closeness | 0.857 | 0.576 | 0.550 | 0.486 | 0.530 | – |
| Hypothesis | Decision criterion | Verdict; estimate |
|---|---|---|
| H1 ranking instability | a pair flips in of defensible universes (lower bound) | supported; [0.414, 0.499] |
| H2 evaluation dominance | evaluation choices explain more variance than method, pooled over metrics | supported, driven by the metric axis (scale); 0.614 vs 0.162 |
| H3 intensity baseline | T2 within 0.05 Dice of model at equal FP | not supported; closest [0.076, 0.119] |
| H4 contrast dependence | detection rises with T2 contrast and oedema fraction in every residual model | partly testable; not supported |
| H5 pruning trade-off | pruning helps detection at 5, hurts at 40 cm 3 | not supported (point estimates) |
| H6 test-tuning optimism | test-matched overstates Dice by at (lower bound) | not supported; cDDPM [0.0199, 0.0269], REFLECT [0.0191, 0.0216] |
Appendix figures & tables54 assets
Supplementary material from the paper’s appendix.
Appendix
| Split | Canonical array (x y z voxels, 1 mm) | Whole-tumour volume, median [IQR] (cm 3 ) | Range (cm 3 ) | Distinct reference hashes |
|---|---|---|---|---|
| test (312) | 240 240 [98, 149], median 139 | 91.7 [53.2, 147.8] | 7.3 to 361.8 | 312 |
| validation (24) | 89.6 [43.2, 137.8] | 12.5 to 180.7 | 24 |
| Legacy bundle (method | grid) | Median ratio legacy/canonical voxel count | Range | 1.0004 (same 240-px grid) | 1.1380 = (256/240) 2 |
|---|---|---|---|---|---|
| AnomalyDINO|fourway | 1.0004 | 0.974 to 1.063 | True | False | |
| AnomalyDINO|pairA | 1.0004 | 0.974 to 1.063 | True | False | |
| REFLECT|fourway | 1.0188 | 0.974 to 1.146 | False | False | |
| REFLECT|pairA | 1.0188 | 0.974 to 1.146 | False | False | |
| UCCD|fourway | 1.0514 | 0.992 to 1.167 | False | False | |
| UCCD|pairB | 1.1380 | 1.122 to 1.196 | False | True |
| Method (test-selected pairB grid) | Voxel volume used | Declared vox (mm 3 ) | Effective budget for ’nominal 20 cm 3 ’ | Dice | Sensitivity (all comps.) | Mean FP (cm 3 ) | |
|---|---|---|---|---|---|---|---|
| UCCD | as declared | 1.166 | 17.2 | 0.600 | 0.360 | 0.049 | 15.3 |
| UCCD | under B3 vox=1.0 | 1.166 | 20.0 | 0.575 | 0.382 | 0.051 | 18.4 |
| cDDPM | as declared | 0.604 | 33.1 | 0.600 | 0.029 | 0.003 | 30.5 |
| cDDPM | under B3 vox=1.0 | 0.604 | 20.0 | 0.700 | 0.018 | 0.001 | 17.9 |
| Metric | REFLECT | UCCD | cDDPM | AnomalyDINO |
|---|---|---|---|---|
| Dice | 0.515 [0.428, 0.584]; 35.2% | 0.543 [0.472, 0.577]; 38.9% | 0.496 [0.420, 0.568]; 25.9% | 0.097 [0.030, 0.157]; 0% |
| voxel AUROC | 0.945 [0.932, 0.951]; 100% | 0.869 [0.865, 0.880]; 0% | 0.877 [0.871, 0.889]; 0% | 0.832 [0.826, 0.848]; 0% |
| voxel AUPRC | 0.642 [0.611, 0.689]; 50.0% | 0.613 [0.590, 0.655]; 0% | 0.636 [0.604, 0.686]; 50.0% | 0.303 [0.286, 0.311]; 0% |
| lesion sens. | 0.341 [0.064, 0.699]; 35.3% | 0.343 [0.077, 0.817]; 53.5% | 0.333 [0.060, 0.793]; 11.3% | 0.011 [0.000, 0.134]; 0% |
| slice AUROC marg. | 0.886 [0.878, 0.921]; 0% | 0.909 [0.891, 0.940]; 100% | 0.905 [0.890, 0.938]; 0% | 0.598 [0.587, 0.625]; 0% |
| slice AROC adj. | 0.787 [0.754, 0.843]; 33.3% | 0.800 [0.759, 0.837]; 0% | 0.808 [0.762, 0.842]; 66.7% | 0.650 [0.619, 0.661]; 0% |
| cDDPM (IXI-HH+Guys) quantity | Statistic | Repaired pre-repair [95 % CI] |
|---|---|---|
| voxel AUROC | mean | +0.290 [0.277, 0.302] |
| voxel AUROC | median | +0.293 [0.277, 0.306] |
| voxel AUPRC | mean | +0.535 [0.517, 0.553] |
| voxel AUPRC | median | +0.577 [0.549, 0.599] |
| slice-max AUROC | mean | +0.112 [0.099, 0.125] |
| slice-max AUROC | median | +0.083 [0.072, 0.095] |
| Method | gate pass (test + validation) | Dice in FOV, median [IQR] | min | centroid error median (mm) | max (mm) | FOV tumour fraction, median | subjects with FOV fraction 0.95 | pass at overlap 0.95 | gate failures (clause) |
|---|---|---|---|---|---|---|---|---|---|
| REFLECT | 336/336 | 0.966 [0.957, 0.972] | 0.890 | 0.58 | 1.02 | 1.000 | 0 | 275 | none |
| UCCD | 335/336 | 0.947 [0.935, 0.957] | 0.845 | 0.85 | 1.07 | 1.000 | 45 | 93 | BraTS20_Training_0044 (iii) |
| cDDPM | 335/336 | 0.947 [0.935, 0.957] | 0.845 | 0.85 | 1.07 | 1.000 | 45 | 93 | BraTS20_Training_0044 (iii) |
| AnomalyDINO | 336/336 | 0.966 [0.957, 0.972] | 0.901 | 0.59 | 1.01 | 1.000 | 0 | 273 | none |
| Injected corruption | Pipeline | n | Dice (20 cm 3 ) | voxel AUROC | voxel AUPRC | slice-max AUROC | lesion sensitivity | rank stability | anti-location rate |
|---|---|---|---|---|---|---|---|---|---|
| LR flip | UCCD | 312 | 0.502 | 0.260 | 0.510 | +0.000 | 0.797 | 0.253 | 0.122 |
| LR flip | AnomalyDINO | 312 | 0.145 | 0.307 | 0.231 | +0.021 | 0.252 | 0.297 | 0.449 |
| AP flip | UCCD | 312 | 0.341 | 0.198 | 0.386 | +0.012 | 0.467 | 0.140 | 0.170 |
| AP flip | AnomalyDINO | 312 | 0.086 | 0.147 | 0.118 | +0.181 | 0.158 | 0.360 | 0.151 |
| transpose | UCCD | 312 | 0.400 | 0.207 | 0.430 | +0.005 | 0.560 | 0.073 | 0.215 |
| transpose | AnomalyDINO | 312 | 0.106 | 0.184 | 0.163 | +0.099 | 0.192 | 0.243 | 0.208 |
| Injected corruption | Pipeline | rank-stability power, n = 60 | anti-location power, n = 60 | smallest n with rank-stability power 0.95 | smallest n with anti-location power 0.95 |
|---|---|---|---|---|---|
| LR flip | UCCD | 1.000 | 1.000 | 30 | 30 |
| LR flip | AnomalyDINO | 1.000 | 1.000 | 30 | 30 |
| AP flip | UCCD | 1.000 | 1.000 | 30 | 30 |
| AP flip | AnomalyDINO | 1.000 | 1.000 | 30 | 30 |
| transpose | UCCD | 1.000 | 1.000 | 30 | 30 |
| transpose | AnomalyDINO | 1.000 | 1.000 | 30 | 30 |
| Metric | Variant | b | Aggregation | Contrast | n = 312 | n = 311 (without BraTS20_Training_0044) |
|---|---|---|---|---|---|---|
| Dice | interpolated | 40 | pooled | UCCD cDDPM | 0.0087 [ 0.0174, 0.0001] | 0.0081 [ 0.0167, 0.0008] |
| Dice | testmatched | 40 | median | REFLECT UCCD | +0.0184 [0.0003, 0.0466] | +0.0184 [ 0.0000, 0.0460] |
| Dice | validation | 5 | pooled | T2 AnomalyDINO | 0.0202 [ 0.0400, 0.0001] | 0.0202 [ 0.0400, 0.0002] |
| Dice | validation | 20 | pooled | REFLECT UCCD | +0.0202 [0.0013, 0.0386] | +0.0190 [ 0.0001, 0.0370] |
| Dice | validation | 40 | median | REFLECT UCCD | +0.0242 [0.0006, 0.0480] | +0.0220 [ 0.0001, 0.0480] |
| Method / contrast | Quantity | Full 312 | FOV-complete subset | Interval-excludes-0 status changed |
|---|---|---|---|---|
| cDDPM | FP (cm 3 ) / correct ( 0.5) incorrect ( 0.875), mean | +0.195 [ 1.141, 1.613] | 0.010 [ 1.453, 1.565] | False |
| cDDPM | FP (cm 3 ) / correct ( 0.375) incorrect ( 0.7), mean | +0.385 [ 3.418, 4.281] | 0.124 [ 4.048, 4.090] | False |
| pairwise | REFLECT - UCCD, auprc_vox, mean | +0.003 [ 0.015, 0.022] | 0.009 [ 0.029, 0.011] | False |
| pairwise | REFLECT - cDDPM, auprc_vox, median | +0.006 [ 0.019, 0.032] | 0.007 [ 0.023, 0.022] | False |
| Method | Grid | dz* (selection 20) | dz* (replication 20) | voxel AUROC at dz* vs 0 (292 subjects) | AUROC at dz = 0 | Offset real by declared rule |
|---|---|---|---|---|---|---|
| AnomalyDINO | native | 3 | 3 | +0.0082 [0.0063, 0.0101] | 0.826 | True |
| REFLECT | native | 1 | 1 | 0.0005 [ 0.0009, 0.0001] | 0.933 | False |
| UCCD | native | 0 | 0 | +0.0000 [0.0000, 0.0000] | 0.896 | False |
| cDDPM | native | 2 | 2 | 0.0005 [ 0.0011, 0.0002] | 0.899 | False |
| AnomalyDINO | canonical | 3 | 3 | +0.0053 [0.0034, 0.0071] | 0.833 | True |
| REFLECT | canonical | 1 | 1 | 0.0004 [ 0.0008, 0.0000] | 0.933 | False |
| Method grid | Subjects | 6-conn. components, canonical round trip | Above-floor lesions | Tumour volume ratio (round trip / canonical) | Round trip equals method’s own reference |
|---|---|---|---|---|---|
| AnomalyDINO | 312 | 5,473 5,050 | 472 474 | 0.9999 | 100.0 % |
| REFLECT | 312 | 5,473 5,065 | 472 472 | 0.9998 | 100.0 % |
| UCCD | 312 | 5,473 2,355 | 472 543 | 0.9823 | 100.0 % |
| cDDPM | 312 | 5,473 2,355 | 472 543 | 0.9823 | 100.0 % |
| Method | brain voxels tied (median share) | outside FOV (median share) | mean AUROC | max AUROC | max AUPRC |
|---|---|---|---|---|---|
| REFLECT | 0.038 | 0.001 | -0.0000 | 0.0000 | 0.0000 |
| UCCD | 0.649 | 0.091 | -0.0020 | 0.0464 | 0.0020 |
| cDDPM | 0.256 | 0.091 | -0.0016 | 0.0391 | 0.0020 |
| AnomalyDINO | 0.165 | 0.000 | -0.0000 | 0.0076 | 0.0037 |
| Method | unshifted | perm. within | perm. across | ||||||
|---|---|---|---|---|---|---|---|---|---|
| REFLECT | 0.497 | 0.493 | 0.494 | 0.472 | 0.476 | 0.406 | 0.413 | 0.183 | 0.066 |
| UCCD | 0.539 | 0.530 | 0.537 | 0.497 | 0.514 | 0.418 | 0.442 | 0.192 | 0.068 |
| cDDPM | 0.519 | 0.511 | 0.517 | 0.481 | 0.495 | 0.404 | 0.425 | 0.183 | 0.063 |
| AnomalyDINO | 0.166 | 0.166 | 0.167 | 0.161 | 0.164 | 0.141 | 0.149 | 0.069 | 0.026 |
| Method | quantity | F1 export grid | F2 reference source | F3 support | F4 threshold |
|---|---|---|---|---|---|
| REFLECT | Dice | +0.0008 [0.0007, 0.0010] | +0.0002 [0.0000, 0.0003] | +0.0002 [0.0001, 0.0002] | 0.0605 [ 0.0662, 0.0547] |
| REFLECT | voxel AUROC | +0.0002 [0.0001, 0.0004] | +0.0003 [0.0002, 0.0004] | 0.0000 [ 0.0001, 0.0000] | +0.0000 [0.0000, 0.0000] |
| UCCD | Dice | 0.0017 [ 0.0023, 0.0012] | 0.0016 [ 0.0022, 0.0011] | +0.0001 [0.0001, 0.0001] | +0.2358 [0.2187, 0.2527] |
| UCCD | voxel AUROC | +0.0029 [0.0016, 0.0040] | 0.0038 [ 0.0050, 0.0027] | 0.0262 [ 0.0311, 0.0216] | +0.0000 [0.0000, 0.0000] |
| cDDPM | Dice | 0.0017 [ 0.0023, 0.0011] | 0.0017 [ 0.0023, 0.0012] | +0.0000 [0.0000, 0.0000] | +0.1926 [0.1731, 0.2123] |
| cDDPM | voxel AUROC | +0.0037 [0.0023, 0.0049] | 0.0041 [ 0.0054, 0.0029] | 0.0210 [ 0.0251, 0.0171] | +0.0000 [0.0000, 0.0000] |
| Quantity | Universe set | Flip share [95 % CI] |
|---|---|---|
| defensible | 0.472 [0.414, 0.499] | |
| REFLECT vs UCCD | defensible | 0.472 [0.389, 0.499] |
| REFLECT vs cDDPM | defensible | 0.472 [0.386, 0.498] |
| REFLECT vs AnomalyDINO | defensible | 0.010 [0.009, 0.014] |
| UCCD vs cDDPM | defensible | 0.393 [0.250, 0.493] |
| UCCD vs AnomalyDINO | defensible | 0.009 [0.008, 0.011] |
| Sum-of-squares share | Defensible universes | All universes |
|---|---|---|
| method share | 0.162 [0.147, 0.177] | 0.169 [0.153, 0.184] |
| axis share | 0.614 [0.595, 0.634] | 0.595 [0.575, 0.614] |
| remainder | 0.223 [0.212, 0.235] | 0.237 [0.226, 0.249] |
| main effect: metric | 0.539 [0.516, 0.561] | 0.519 [0.497, 0.541] |
| method metric | 0.033 [0.030, 0.037] | 0.030 [0.028, 0.034] |
| main effect: lesion definition | 0.014 [0.012, 0.015] | 0.014 [0.013, 0.016] |
| Metric | REFLECT vs UCCD | REFLECT vs cDDPM | UCCD vs cDDPM |
|---|---|---|---|
| voxel AUROC | 0.000 [0.000, 0.000] | 0.000 [0.000, 0.000] | 0.000 [0.000, 0.000] |
| voxel AUPRC | 0.167 [0.000, 0.500] | 0.500 [0.167, 0.500] | 0.000 [0.000, 0.000] |
| Dice | 0.403 [0.264, 0.495] | 0.491 [0.366, 0.500] | 0.356 [0.125, 0.412] |
| lesion sensitivity | 0.261 [0.219, 0.302] | 0.340 [0.282, 0.392] | 0.286 [0.238, 0.398] |
| slice AUROC, marginal | 0.000 [0.000, 0.333] | 0.167 [0.000, 0.333] | 0.000 [0.000, 0.500] |
| slice AROC, adjusted | 0.333 [0.333, 0.500] | 0.333 [0.333, 0.500] | 0.000 [0.000, 0.500] |
| Metric | Distinct four-method orders | Three most frequent orders (share of universes) |
|---|---|---|
| Dice | 6 | REFLECT UCCD cDDPM AnomalyDINO (25.5 %); UCCD cDDPM REFLECT AnomalyDINO (25.0 %); cDDPM UCCD REFLECT AnomalyDINO (20.8 %) |
| voxel AUROC | 1 | REFLECT cDDPM UCCD AnomalyDINO (100.0 %) |
| voxel AUPRC | 3 | REFLECT cDDPM UCCD AnomalyDINO (50.0 %); cDDPM REFLECT UCCD AnomalyDINO (33.3 %); cDDPM UCCD REFLECT AnomalyDINO (16.7 %) |
| lesion sensitivity | 8 | UCCD cDDPM REFLECT AnomalyDINO (43.7 %); REFLECT UCCD cDDPM AnomalyDINO (31.2 %); UCCD REFLECT cDDPM AnomalyDINO (9.7 %) |
| slice AUROC, marginal | 2 | UCCD cDDPM REFLECT AnomalyDINO (83.3 %); UCCD REFLECT cDDPM AnomalyDINO (16.7 %) |
| slice AROC, adjusted | 2 | cDDPM UCCD REFLECT AnomalyDINO (66.7 %); REFLECT cDDPM UCCD AnomalyDINO (33.3 %) |
| Method | b (cm 3 ) | validation | test-matched | Realised FP at validation (cm 3 ) | Dice at validation | Dice at test-matched | Threshold-transfer gap, mean [95 % CI] | Gap, median of per-subject differences [95 % CI] |
|---|---|---|---|---|---|---|---|---|
| REFLECT | 5 | 0.930 | 0.902 | 3.3 | 0.241 | 0.314 | +0.073 [0.070, 0.077] | +0.082 [0.079, 0.086] |
| REFLECT | 10 | 0.870 | 0.839 | 7.2 | 0.382 | 0.433 | +0.051 [0.049, 0.053] | +0.054 [0.052, 0.055] |
| REFLECT | 20 | 0.785 | 0.761 | 16.3 | 0.497 | 0.517 | +0.020 [0.019, 0.022] | +0.021 [0.019, 0.022] |
| REFLECT | 40 | 0.685 | 0.667 | 35.1 | 0.554 | 0.558 | +0.003 [0.003, 0.004] | +0.003 [0.002, 0.004] |
| UCCD | 5 | 0.500 | 0.507 | 5.3 | 0.441 | 0.433 | 0.008 [ 0.008, 0.007] | 0.008 [ 0.008, 0.008] |
| UCCD | 10 | 0.445 | 0.442 | 9.6 | 0.497 | 0.499 | +0.003 [0.002, 0.003] | +0.003 [0.003, 0.003] |
| Method | Threshold rule (20 cm 3 ) | Test exceedance P(FP_i 20 cm 3 ) [95 % CI] | Mean FP (cm 3 ) | Dice, subject mean | |
|---|---|---|---|---|---|
| REFLECT | test-matched | 0.761 | 0.228 [0.179, 0.276] | 19.9 | 0.517 |
| REFLECT | validation threshold | 0.785 | 0.157 [0.115, 0.199] | 16.3 | 0.497 |
| REFLECT | CRC validation = 0.05 | 0.989 | 0.013 [0.003, 0.026] | 0.6 | 0.040 |
| REFLECT | CRC validation = 0.1 | 0.831 | 0.074 [0.045, 0.103] | 10.8 | 0.444 |
| REFLECT | CRC validation = 0.2 | 0.790 | 0.154 [0.115, 0.196] | 15.7 | 0.492 |
| REFLECT | RCPS validation = 0.1 | 0.989 | 0.013 [0.003, 0.026] | 0.6 | 0.040 |
| Method | b | test-matched | validation | CRC 0.05 | CRC 0.10 | CRC 0.20 | RCPS 0.10 | label-free CRC 0.10 |
|---|---|---|---|---|---|---|---|---|
| REFLECT | 5 | 0.135 / 0.314 | 0.067 / 0.241 | 0.013 / 0.010 | 0.051 / 0.227 | 0.183 / 0.352 | 0.013 / 0.010 | 0.013 / 0.014 |
| REFLECT | 10 | 0.186 / 0.433 | 0.103 / 0.382 | 0.013 / 0.021 | 0.067 / 0.328 | 0.157 / 0.418 | 0.013 / 0.021 | 0.013 / 0.029 |
| REFLECT | 20 | 0.228 / 0.517 | 0.157 / 0.497 | 0.013 / 0.040 | 0.074 / 0.444 | 0.154 / 0.492 | 0.013 / 0.040 | 0.013 / 0.066 |
| REFLECT | 40 | 0.256 / 0.558 | 0.202 / 0.554 | 0.010 / 0.085 | 0.096 / 0.535 | 0.109 / 0.540 | 0.010 / 0.085 | 0.013 / 0.157 |
| UCCD | 5 | 0.231 / 0.433 | 0.244 / 0.441 | 0.010 / 0.113 | 0.074 / 0.310 | 0.138 / 0.384 | 0.010 / 0.113 | 0.000 / 0.027 |
| UCCD | 10 | 0.288 / 0.499 | 0.288 / 0.497 | 0.010 / 0.188 | 0.093 / 0.394 | 0.144 / 0.446 | 0.010 / 0.188 | 0.000 / 0.051 |
| Method | Calibration n | Mean exceedance | 2.5th to 97.5th percentile over splits | Splits with exceedance | Infeasible splits |
|---|---|---|---|---|---|
| REFLECT | 24 | 0.078 | [0.007, 0.212] | 69.5 % | 0 |
| REFLECT | 50 | 0.097 | [0.031, 0.206] | 59.3 % | 0 |
| REFLECT | 100 | 0.099 | [0.042, 0.175] | 54.9 % | 0 |
| UCCD | 24 | 0.079 | [0.007, 0.215] | 70.1 % | 0 |
| UCCD | 50 | 0.099 | [0.031, 0.206] | 55.6 % | 0 |
| UCCD | 100 | 0.098 | [0.038, 0.175] | 57.7 % | 0 |
| Contrast | Operating point | Budget (cm 3 ) | Subject mean | Subject median | Pooled |
|---|---|---|---|---|---|
| REFLECT UCCD | validation | 5 | 0.200 [ 0.219, 0.180], p_H 0.005 | 0.205 [ 0.235, 0.180], p_H 0.005 | 0.137 [ 0.161, 0.113], p_H 0.005 |
| REFLECT UCCD | validation | 10 | 0.115 [ 0.135, 0.095], p_H 0.005 | 0.097 [ 0.136, 0.057], p_H 0.005 | 0.046 [ 0.069, 0.025], p_H 0.005 |
| REFLECT UCCD | validation | 20 | 0.042 [ 0.060, 0.025], p_H 0.005 | 0.008 [ 0.040, 0.015], p_H 0.74 | +0.020 [0.001, 0.039], p_H 0.070 |
| REFLECT UCCD | validation | 40 | +0.003 [ 0.012, 0.018], p_H 0.72 | +0.024 [0.001, 0.048], p_H 0.14 | +0.056 [0.038, 0.073], p_H 0.005 |
| REFLECT UCCD | matched realised FP | 5 | 0.118 [ 0.209, 0.048], p_H 0.005 | 0.100 [ 0.225, 0.014], p_H 0.23 | 0.049 [ 0.147, 0.023], p_H 0.79 |
| REFLECT UCCD | matched realised FP | 10 | 0.067 [ 0.129, 0.026], p_H 0.005 | 0.046 [ 0.121, 0.017], p_H 1.00 | +0.001 [ 0.061, 0.043], p_H 1.00 |
| Contrast | Metric | Subject mean | Subject median | Pooled |
|---|---|---|---|---|
| REFLECT UCCD | voxel AUROC | +0.067 [0.060, 0.074], p_H 0.005 | +0.072 [0.064, 0.080], p_H 0.005 | +0.083 [0.076, 0.088], p_H 0.005 |
| REFLECT cDDPM | voxel AUROC | +0.059 [0.051, 0.066], p_H 0.005 | +0.062 [0.053, 0.073], p_H 0.005 | +0.078 [0.071, 0.084], p_H 0.005 |
| UCCD cDDPM | voxel AUROC | 0.008 [ 0.011, 0.006], p_H 0.005 | 0.010 [ 0.015, 0.003], p_H 0.018 | 0.005 [ 0.008, 0.002], p_H 0.016 |
| REFLECT AnomalyDINO | voxel AUROC | +0.100 [0.093, 0.108], p_H 0.005 | +0.104 [0.092, 0.112], p_H 0.005 | +0.119 [0.108, 0.130], p_H 0.005 |
| UCCD AnomalyDINO | voxel AUROC | +0.033 [0.023, 0.043], p_H 0.005 | +0.032 [0.018, 0.042], p_H 0.005 | +0.036 [0.024, 0.049], p_H 0.005 |
| cDDPM AnomalyDINO | voxel AUROC | +0.041 [0.031, 0.052], p_H 0.005 | +0.041 [0.026, 0.052], p_H 0.005 | +0.041 [0.029, 0.053], p_H 0.005 |
| Family | Contrasts | raw p 0.05 | Holm p 0.05 |
|---|---|---|---|
| Dice, model vs baseline, equal FP, mean | 32 | 31 | 31 |
| Dice, model vs baseline, equal FP, median | 32 | 32 | 32 |
| Dice, model vs baseline, equal FP, pooled | 32 | 30 | 29 |
| Dice, model vs baseline, test-matched, mean | 32 | 31 | 31 |
| Dice, model vs baseline, test-matched, median | 32 | 32 | 32 |
| Dice, model vs baseline, test-matched, pooled | 32 | 30 | 29 |
| Method | slice max | slice 99th pct. | slice mean |
|---|---|---|---|
| REFLECT | 0.887 [0.873, 0.899] | 0.874 [0.860, 0.888] | 0.646 [0.622, 0.671] |
| UCCD | 0.907 [0.896, 0.918] | 0.900 [0.887, 0.912] | 0.869 [0.852, 0.885] |
| cDDPM | 0.905 [0.894, 0.916] | 0.893 [0.880, 0.905] | 0.843 [0.825, 0.861] |
| AnomalyDINO | 0.598 [0.579, 0.618] | 0.580 [0.559, 0.600] | 0.425 [0.403, 0.448] |
| Method | b (cm 3 ) | validation (hysteresis + pruning) | thresholding at matched FP | Matched realised FP (cm 3 ) | Total: hysteresis + pruning thresholding | Post-processing at fixed | Threshold relaxation |
|---|---|---|---|---|---|---|---|
| REFLECT | 5 | 0.930 | 0.941 | 2.77 | +0.0219 [+0.0177, +0.0259] | 0.0008 [ 0.0024, +0.0000] | +0.0227 [+0.0188, +0.0265] |
| REFLECT | 10 | 0.870 | 0.901 | 5.04 | +0.0497 [+0.0419, +0.0569] | 0.0012 [ 0.0036, +0.0000] | +0.0510 [+0.0435, +0.0578] |
| REFLECT | 20 | 0.785 | 0.825 | 11.45 | +0.0335 [+0.0232, +0.0428] | 0.0128 [ 0.0216, 0.0050] | +0.0463 [+0.0422, +0.0502] |
| REFLECT | 40 | 0.685 | 0.741 | 23.36 | +0.0294 [+0.0163, +0.0414] | +0.0013 [ 0.0099, +0.0115] | +0.0281 [+0.0245, +0.0317] |
| UCCD | 5 | 0.500 | 0.593 | 1.98 | +0.0954 [+0.0846, +0.1055] | 0.0157 [ 0.0250, 0.0072] | +0.1111 [+0.1063, +0.1156] |
| UCCD | 10 | 0.445 | 0.535 | 3.67 | +0.0939 [+0.0825, +0.1047] | 0.0079 [ 0.0177, +0.0010] | +0.1018 [+0.0970, +0.1065] |
| Method | Post-processing | validation | Above-floor sens., IoU 0.10 (n = 472) | IoU 0.25 | IoU 0.50 | Large (n = 307) | Small (n = 165) | Hits / all 5,473 components (not a sensitivity) |
|---|---|---|---|---|---|---|---|---|
| REFLECT | thresholding | 0.785 | 0.608 | 0.479 | 0.222 | 0.915 | 0.036 | 0.052 |
| REFLECT | hysteresis | 0.785 | 0.593 | 0.479 | 0.222 | 0.906 | 0.012 | 0.051 |
| REFLECT | hysteresis + pruning | 0.785 | 0.549 | 0.460 | 0.220 | 0.844 | 0.000 | 0.047 |
| UCCD | thresholding | 0.385 | 0.674 | 0.614 | 0.186 | 0.997 | 0.073 | 0.058 |
| UCCD | hysteresis | 0.385 | 0.674 | 0.614 | 0.186 | 0.997 | 0.073 | 0.058 |
| UCCD | hysteresis + pruning | 0.385 | 0.629 | 0.591 | 0.174 | 0.954 | 0.024 | 0.054 |
| Scorer | Marginal | Stratified (quintiles) | Matched, 0.2 SD | Matched, 0.05 SD | Regression, df 5 | Regression, df 8 | Observed borrowed-map AROC (matched 0.2 SD) |
|---|---|---|---|---|---|---|---|
| REFLECT | 0.887 [0.873, 0.899] | 0.754 [0.728, 0.780] | 0.734 [0.704, 0.765] | 0.726 [0.689, 0.762] | 0.600 [0.563, 0.636] | 0.551 [0.510, 0.593] | +0.229 [0.201, 0.257] |
| UCCD | 0.907 [0.896, 0.918] | 0.759 [0.737, 0.780] | 0.769 [0.745, 0.792] | 0.743 [0.713, 0.773] | 0.649 [0.616, 0.682] | 0.505 [0.466, 0.545] | +0.266 [0.244, 0.288] |
| cDDPM | 0.905 [0.894, 0.916] | 0.762 [0.740, 0.784] | 0.768 [0.744, 0.793] | 0.744 [0.714, 0.774] | 0.646 [0.612, 0.680] | 0.497 [0.457, 0.536] | +0.271 [0.249, 0.293] |
| AnomalyDINO | 0.598 [0.579, 0.618] | 0.619 [0.590, 0.649] | 0.620 [0.589, 0.652] | 0.624 [0.588, 0.662] | 0.504 [0.466, 0.542] | 0.449 [0.409, 0.489] | +0.124 [0.100, 0.148] |
| control: brain area | 0.884 [0.869, 0.897] | 0.691 [0.676, 0.706] | 0.668 [0.654, 0.682] | 0.560 [0.545, 0.576] | 0.626 [0.592, 0.659] | 0.719 [0.691, 0.746] | n/a |
| control: mid-brain closeness | 0.857 [0.839, 0.874] | 0.576 [0.535, 0.619] | 0.550 [0.505, 0.596] | 0.486 [0.437, 0.539] | 0.530 [0.489, 0.569] | 0.545 [0.508, 0.582] | n/a |
| Scorer | Matched on area, 0.2 SD | 0.1 SD | 0.05 SD | Matched on area + position, 0.2 SD |
|---|---|---|---|---|
| control: brain area | 0.668 [0.654, 0.682] | 0.610 [0.596, 0.624] | 0.560 [0.545, 0.576] | 0.929 [0.906, 0.950] |
| control: mid-brain closeness | 0.550 [0.505, 0.596] | 0.518 [0.471, 0.568] | 0.486 [0.437, 0.539] | 0.915 [0.889, 0.939] |
| REFLECT | 0.734 [0.704, 0.765] | 0.723 [0.690, 0.756] | 0.726 [0.689, 0.762] | 0.577 [0.544, 0.611] |
| UCCD | 0.769 [0.745, 0.792] | 0.748 [0.721, 0.776] | 0.743 [0.713, 0.773] | 0.631 [0.598, 0.664] |
| cDDPM | 0.768 [0.744, 0.793] | 0.750 [0.722, 0.777] | 0.744 [0.714, 0.774] | 0.639 [0.606, 0.671] |
| AnomalyDINO | 0.620 [0.589, 0.652] | 0.617 [0.584, 0.651] | 0.624 [0.588, 0.662] | 0.501 [0.471, 0.532] |
| Method | Connectivity | Floor (mm 3 ) | Reference components | Hits | Pooled sensitivity | Subject-mean sensitivity |
|---|---|---|---|---|---|---|
| AnomalyDINO | 6 | 0 | 5473 | 99 | 0.018 | 0.052 |
| AnomalyDINO | 6 | 50 | 472 | 99 | 0.210 | 0.264 |
| AnomalyDINO | 26 | 0 | 1685 | 100 | 0.059 | 0.127 |
| AnomalyDINO | 26 | 50 | 440 | 100 | 0.227 | 0.275 |
| REFLECT | 6 | 0 | 5473 | 287 | 0.052 | 0.173 |
| REFLECT | 6 | 50 | 472 | 287 | 0.608 | 0.765 |
| Method | 5 cm 3 | 10 cm 3 | 20 cm 3 | 40 cm 3 |
|---|---|---|---|---|
| REFLECT | 0.394 (large 0.603, small 0.006) | 0.523 (large 0.801, small 0.006) | 0.608 (large 0.915, small 0.036) | 0.644 (large 0.967, small 0.042) |
| UCCD | 0.653 (large 0.977, small 0.048) | 0.663 (large 0.987, small 0.061) | 0.674 (large 0.997, small 0.073) | 0.669 (large 0.997, small 0.061) |
| cDDPM | 0.614 (large 0.909, small 0.067) | 0.648 (large 0.964, small 0.061) | 0.665 (large 0.984, small 0.073) | 0.672 (large 0.993, small 0.073) |
| AnomalyDINO | 0.040 (large 0.062, small 0.000) | 0.106 (large 0.163, small 0.000) | 0.210 (large 0.316, small 0.012) | 0.339 (large 0.518, small 0.006) |
| Missed-lesion Jaccard | REFLECT | UCCD | cDDPM | AnomalyDINO |
|---|---|---|---|---|
| REFLECT | 1.000 | 0.813 | 0.805 | 0.476 |
| UCCD | 0.813 | 1.000 | 0.938 | 0.402 |
| cDDPM | 0.805 | 0.938 | 1.000 | 0.416 |
| AnomalyDINO | 0.476 | 0.402 | 0.416 | 1.000 |
| Method | Detected (IoU 0.10) | Missed: evidence not selected | Missed: no evidence | Missed: selected, poorly delineated | Total |
|---|---|---|---|---|---|
| REFLECT | 287 | 135 | 15 | 35 | 472 |
| UCCD | 318 | 123 | 17 | 14 | 472 |
| cDDPM | 314 | 137 | 9 | 12 | 472 |
| AnomalyDINO | 99 | 170 | 14 | 189 | 472 |
| Method | b (cm 3 ) | Dice at validation | Gain: per-subject upper bound | Gain: per-lesion upper bound | Gain: component selection upper bound | Gain: boundary replacement | Within-lesion coverage at boundary rung |
|---|---|---|---|---|---|---|---|
| REFLECT | 5 | 0.241 | +0.198 [0.182, 0.214] | +0.353 [0.331, 0.373] | 0.008 [ 0.016, 0.001] | +0.349 [0.309, 0.389] | 0.231 |
| REFLECT | 20 | 0.497 | +0.042 [0.034, 0.050] | +0.153 [0.138, 0.166] | 0.002 [ 0.017, 0.013] | +0.400 [0.375, 0.425] | 0.439 |
| REFLECT | 40 | 0.554 | +0.011 [0.006, 0.015] | +0.108 [0.096, 0.119] | +0.023 [0.002, 0.043] | +0.395 [0.372, 0.417] | 0.560 |
| UCCD | 5 | 0.441 | +0.081 [0.068, 0.094] | +0.203 [0.191, 0.215] | +0.001 [ 0.009, 0.011] | +0.527 [0.509, 0.544] | 0.314 |
| UCCD | 20 | 0.539 | +0.029 [0.022, 0.036] | +0.122 [0.113, 0.132] | +0.015 [ 0.003, 0.031] | +0.452 [0.436, 0.467] | 0.454 |
| UCCD | 40 | 0.551 | +0.028 [0.023, 0.033] | +0.113 [0.102, 0.125] | +0.037 [0.019, 0.055] | +0.433 [0.416, 0.450] | 0.516 |
| Method | best attainable Dice | mean FP (cm 3 ) | gain over validation at 5 | at 20 | at 40 |
|---|---|---|---|---|---|
| REFLECT | 0.580 | 51.6 | +0.338 [0.326, 0.351] | +0.083 [0.075, 0.091] | +0.025 [0.021, 0.030] |
| UCCD | 0.585 | 31.0 | +0.145 [0.134, 0.156] | +0.046 [0.041, 0.052] | +0.034 [0.030, 0.039] |
| cDDPM | 0.605 | 26.3 | +0.209 [0.195, 0.223] | +0.086 [0.077, 0.095] | +0.076 [0.068, 0.084] |
| AnomalyDINO | 0.373 | 155.8 | +0.309 [0.293, 0.326] | +0.207 [0.191, 0.223] | +0.143 [0.129, 0.158] |
| Method | Model | log volume (per SD) | T2 contrast (per SD) | relative z position (per SD) |
|---|---|---|---|---|
| REFLECT | Firth, profile likelihood | +4.84 [3.73, 6.24] | +1.98 [1.22, 2.82] | 0.05 [ 0.43, 0.34] |
| REFLECT | GEE exchangeable, robust SE | +5.09 [3.65, 6.52] | +2.02 [1.33, 2.72] | 0.04 [ 0.44, 0.36] |
| REFLECT | GLMM, variational Bayes | +5.04 [4.28, 5.79] | +1.94 [1.34, 2.54] | 0.04 [ 0.43, 0.36] |
| REFLECT | GLMM, lme4 glmer (Laplace) | +24.52 [6.70, 42.35] | +6.53 [ 2.49, 15.55] | +0.72 [ 3.81, 5.25] |
| UCCD | Firth, profile likelihood | +6.03 [4.53, 8.31] | +0.76 [ 0.65, 2.08] | 0.33 [ 1.01, 0.28] |
| UCCD | GEE exchangeable, robust SE | +6.82 [4.30, 9.33] | +0.74 [ 0.13, 1.62] | 0.35 [ 0.84, 0.13] |
| Model T2 intensity, Dice | 5 cm 3 | 10 cm 3 | 20 cm 3 | 40 cm 3 |
|---|---|---|---|---|
| REFLECT | +0.283 [0.263, 0.302] | +0.383 [0.361, 0.405] | +0.437 [0.415, 0.460] | +0.431 [0.408, 0.453] |
| UCCD | +0.401 [0.386, 0.417] | +0.449 [0.431, 0.467] | +0.461 [0.441, 0.481] | +0.423 [0.401, 0.446] |
| cDDPM | +0.412 [0.395, 0.429] | +0.452 [0.433, 0.470] | +0.463 [0.441, 0.484] | +0.430 [0.406, 0.454] |
| AnomalyDINO | +0.044 [0.031, 0.058] | +0.070 [0.053, 0.088] | +0.098 [0.076, 0.119] | +0.113 [0.088, 0.138] |
| Contrast | Voxel AUROC, subject mean | Voxel AUROC, pooled | Voxel AUPRC, subject mean | Voxel AUPRC, pooled | Dice 20 cm 3 validation , subject mean |
|---|---|---|---|---|---|
| FLAIR REFLECT | +0.018 [0.009, 0.027], p_H 0.005 | 0.071 [ 0.085, 0.057], p_H 0.005 | +0.105 [0.085, 0.126], p_H 0.005 | 0.127 [ 0.190, 0.059], p_H 0.005 | 0.173 [ 0.205, 0.142], p_H 0.006 |
| FLAIR UCCD | +0.085 [0.076, 0.094], p_H 0.005 | +0.012 [ 0.005, 0.027], p_H 0.43 | +0.108 [0.087, 0.129], p_H 0.005 | 0.065 [ 0.110, 0.019], p_H 0.026 | 0.216 [ 0.247, 0.184], p_H 0.006 |
| FLAIR cDDPM | +0.077 [0.067, 0.086], p_H 0.005 | +0.007 [ 0.009, 0.022], p_H 0.43 | +0.086 [0.065, 0.106], p_H 0.005 | 0.078 [ 0.123, 0.033], p_H 0.007 | 0.195 [ 0.228, 0.163], p_H 0.006 |
| FLAIR AnomalyDINO | +0.118 [0.106, 0.130], p_H 0.005 | +0.048 [0.029, 0.066], p_H 0.005 | +0.405 [0.381, 0.430], p_H 0.005 | +0.229 [0.184, 0.274], p_H 0.005 | +0.158 [0.123, 0.192], p_H 0.006 |
| T2 REFLECT | 0.096 [ 0.103, 0.088], p_H 0.005 | 0.130 [ 0.143, 0.119], p_H 0.005 | 0.353 [ 0.373, 0.333], p_H 0.005 | 0.418 [ 0.464, 0.367], p_H 0.005 | 0.411 [ 0.434, 0.389], p_H 0.006 |
| T2 UCCD | 0.029 [ 0.039, 0.018], p_H 0.005 | 0.048 [ 0.062, 0.034], p_H 0.005 | 0.350 [ 0.371, 0.328], p_H 0.005 | 0.356 [ 0.382, 0.328], p_H 0.005 | 0.454 [ 0.474, 0.433], p_H 0.006 |
| Universe set | Baseline | Model | Share of universes baseline model | Tied |
|---|---|---|---|---|
| defensible | T2 intensity | REFLECT | 0.1 % | 1.7 % |
| defensible | T2 intensity | UCCD | 0.0 % | 1.7 % |
| defensible | T2 intensity | cDDPM | 0.2 % | 1.8 % |
| defensible | T2 intensity | AnomalyDINO | 27.0 % | 7.6 % |
| defensible | FLAIR intensity | REFLECT | 25.1 % | 2.2 % |
| defensible | FLAIR intensity | UCCD | 32.5 % | 2.2 % |
| Score rule (REFLECT) | IXI-HH+Guys: cohort-matched burden | IXI-HH+Guys: subject-matched burden | MOOD+IXI: cohort-matched | MOOD+IXI: subject-matched |
| MAD (L2) | +0.052 [0.045, 0.058] | +0.053 [0.046, 0.060] | +0.038 [0.033, 0.043] | +0.034 [0.028, 0.040] |
| robust max (L4) | +0.030 [0.024, 0.035] | +0.022 [0.016, 0.027] | +0.031 [0.027, 0.036] | +0.022 [0.019, 0.026] |
| Euclidean norm (L3) | +0.029 [0.023, 0.034] | +0.023 [0.018, 0.028] | +0.029 [0.024, 0.033] | +0.022 [0.018, 0.025] |
| whitened mean (L5) | +0.030 [0.024, 0.035] | +0.021 [0.015, 0.026] | +0.027 [0.022, 0.031] | +0.015 [0.012, 0.019] |
| mean (L1) | +0.027 [0.022, 0.033] | +0.018 [0.013, 0.023] | +0.028 [0.024, 0.032] | +0.018 [0.015, 0.022] |
| image only | +0.016 [0.013, 0.020] | +0.014 [0.010, 0.018] | +0.014 [0.011, 0.016] | +0.010 [0.006, 0.014] |
| Score rule | b (cm 3 ) | own validation | Test Dice, mean [95 % CI] | Test Dice, median [95 % CI] | Test FP mean (cm 3 ) | Above-floor sensitivity |
|---|---|---|---|---|---|---|
| published map | 5 | 0.93 | 0.241 [0.223, 0.260] | 0.235 [0.207, 0.256] | 3.3 [1.5, 6.0] | 0.394 |
| published map | 20 | 0.79 | 0.492 [0.468, 0.516] | 0.542 [0.510, 0.569] | 15.7 [11.6, 21.2] | 0.606 |
| published map | 40 | 0.69 | 0.553 [0.530, 0.576] | 0.604 [0.577, 0.628] | 33.9 [28.3, 41.3] | 0.644 |
| MAD (L2) | 5 | 0.70 | 0.364 [0.344, 0.384] | 0.385 [0.353, 0.411] | 4.5 [3.0, 6.6] | 0.521 |
| MAD (L2) | 20 | 0.57 | 0.544 [0.521, 0.566] | 0.597 [0.570, 0.624] | 15.3 [11.5, 20.2] | 0.631 |
| MAD (L2) | 40 | 0.47 | 0.599 [0.577, 0.621] | 0.653 [0.626, 0.680] | 33.3 [27.8, 40.3] | 0.655 |
| Matching | Growth | b (cm 3 ) | MAD published | Best other family member | Best other published | Verdict |
|---|---|---|---|---|---|---|
| cohort | 0 | 5 | +0.068 [0.056, 0.079] | whitened mean (L5) | +0.073 [0.062, 0.085] | MAD demoted |
| cohort | 0 | 10 | +0.048 [0.039, 0.058] | whitened mean (L5) | +0.040 [0.031, 0.049] | MAD demoted |
| cohort | 0 | 20 | +0.052 [0.045, 0.058] | robust max (L4) | +0.030 [0.024, 0.035] | MAD retained |
| cohort | 0 | 40 | +0.046 [0.042, 0.051] | robust max (L4) | +0.027 [0.023, 0.030] | MAD retained |
| cohort | 1 | 5 | +0.057 [0.043, 0.070] | Euclidean norm (L3) | +0.059 [0.045, 0.072] | MAD demoted |
| cohort | 1 | 10 | +0.034 [0.023, 0.046] | whitened mean (L5) | +0.010 [ 0.000, 0.021] | MAD retained |
| Model (training set) | Small-lesion definition | Lesions | Subjects | Local AUPRC [95 % CI] (chance 0.5) | Local AUROC [95 % CI] |
|---|---|---|---|---|---|
| REFLECT (MOOD+IXI) | pixel | 122 | 71 | 0.531 [0.511, 0.554] | 0.537 [0.516, 0.558] |
| REFLECT (MOOD+IXI) | physical | 133 | 77 | 0.557 [0.533, 0.584] | 0.561 [0.538, 0.587] |
| cDDPM (IXI-HH+Guys) | pixel | 100 | 62 | 0.535 [0.504, 0.567] | 0.484 [0.432, 0.536] |
| cDDPM (IXI-HH+Guys) | physical | 127 | 81 | 0.584 [0.552, 0.617] | 0.538 [0.491, 0.584] |
| UCCD (IXI-HH) | pixel | 120 | 74 | 0.509 [0.484, 0.536] | 0.495 [0.462, 0.528] |
| UCCD (IXI-HH) | physical | 136 | 85 | 0.544 [0.514, 0.575] | 0.527 [0.493, 0.562] |
| Method | Phase | Wall clock | GPU-hours | s per volume |
|---|---|---|---|---|
| REFLECT | train (stage 1) | 6d 17:25:53 | 484.29 | |
| REFLECT | train (stage 2) | 4d 07:31:24 | 207.05 | |
| REFLECT | inference | 03:07:18 | 3.12 | 32.5 |
| AnomalyDINO | memory-native build | 00:01:07 | 0.02 | |
| AnomalyDINO | inference | 00:15:23 | 0.26 | 2.7 |
| IterMask3D | train | 09:15:03 | 18.50 |
| Training set | Sources | REFLECT | UCCD | cDDPM | AnomalyDINO | REFLECT UCCD |
|---|---|---|---|---|---|---|
| IXI-HH | IXI Hammersmith, T2 | 0.425 | 0.500 | 0.467 | 0.148 | |
| IXI-Guys | IXI Guy’s, T2 | 0.407 | 0.576 | 0.507 | 0.158 | |
| IXI-HH+Guys | IXI, both sites, T2 | 0.497 | 0.539 | 0.519 | 0.166 | [ , ] |
| MOOD+IXI-HH | MOOD, IXI Hammersmith, T1 + T2 | 0.521 | 0.496 | 0.417 | 0.152 | |
| MOOD+IXI | MOOD, all IXI, T1 + T2 | 0.552 | 0.452 | 0.216 | 0.161 | [0.079, 0.121] |
| Comparison set vs IXI-HH+Guys | Configurations | All metrics | Dice | Voxel AUROC | Voxel AUPRC | Lesion sens. | Slice AUROC marg. | Slice AUROC adj. |
|---|---|---|---|---|---|---|---|---|
| test-selected set | REFLECT (MOOD+IXI), UCCD (IXI-Guys), cDDPM (IXI-HH+Guys), AnomalyDINO (MOOD+IXI-HH) | 69.3 % | 70.8 % | 100.0 % | 100.0 % | 28.3 % | 16.7 % | 100.0 % |
| provisional set | REFLECT (MOOD+IXI), UCCD (IXI-HH), cDDPM (IXI-HH+Guys), AnomalyDINO (MOOD+IXI) | 50.4 % | 81.5 % | 0.0 % | 50.0 % | 54.0 % | 83.3 % | 33.3 % |
| validation-selected set | REFLECT (IXI-HH+Guys), UCCD (IXI-Guys), cDDPM (IXI-HH+Guys), AnomalyDINO (MOOD+IXI-HH) | 62.0 % | 50.5 % | 100.0 % | 100.0 % | 21.5 % | 0.0 % | 100.0 % |
| validation-tuned set | REFLECT (MOOD+IXI), UCCD (IXI-Guys), cDDPM (IXI-Guys), AnomalyDINO (IXI-HH+Guys) | 81.4 % | 71.8 % | 100.0 % | 100.0 % | 33.2 % | 83.3 % | 100.0 % |
| all IXI-HH | all IXI-HH | 79.0 % | 71.8 % | 100.0 % | 100.0 % | 52.3 % | 100.0 % | 50.0 % |
| all IXI-Guys | all IXI-Guys | 71.9 % | 75.0 % | 100.0 % | 100.0 % | 39.7 % | 16.7 % | 100.0 % |
| Metric subset | Method share | Configuration main effect | Method configuration |
|---|---|---|---|
| all metrics | 0.129 [0.116, 0.141] | 0.005 [0.004, 0.006] | 0.018 [0.016, 0.020] |
| Dice | 0.617 [0.588, 0.637] | 0.028 [0.022, 0.033] | 0.115 [0.104, 0.127] |
| voxel AUROC | 0.849 [0.825, 0.868] | 0.043 [0.033, 0.053] | 0.068 [0.057, 0.080] |
| voxel AUPRC | 0.764 [0.734, 0.786] | 0.056 [0.045, 0.067] | 0.142 [0.125, 0.161] |
| lesion sensitivity | 0.118 [0.108, 0.128] | 0.004 [0.003, 0.005] | 0.020 [0.018, 0.022] |
| slice AUROC, marginal | 0.919 [0.901, 0.931] | 0.006 [0.004, 0.008] | 0.038 [0.031, 0.048] |
| Common training set | Metric (subject mean) | Contrast | Estimate [95 % CI] | p_Holm |
|---|---|---|---|---|
| all IXI-HH+Guys | Dice | REFLECT UCCD | 0.042 [ 0.060, 0.025] | 0.005 |
| all IXI-HH+Guys | Dice | REFLECT cDDPM | 0.022 [ 0.042, 0.002] | 0.062 |
| all IXI-HH+Guys | Dice | UCCD cDDPM | +0.020 [0.011, 0.029] | 0.005 |
| all IXI-HH+Guys | voxel AUROC | REFLECT UCCD | +0.067 [0.060, 0.074] | 0.005 |
| all IXI-HH+Guys | voxel AUROC | REFLECT cDDPM | +0.059 [0.051, 0.066] | 0.005 |
| all IXI-HH+Guys | voxel AUROC | UCCD cDDPM | 0.008 [ 0.011, 0.006] | 0.005 |
| Method | Config | validation median slice Dice [95 % CI] | validation pooled Dice | validation median volume Dice | validation canonical Dice 20 cm 3 | validation canonical AUPRC | test canonical Dice 20 cm 3 (validation ) | test voxel AUPRC | test regret vs best config | chosen by | primary | flag |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AnomalyDINO | IXI-HH | 0.198 [0.159, 0.232] | 0.319 | 0.309 | 0.176 | 0.293 | 0.148 | 0.312 | 0.018 | AUPRC | ||
| AnomalyDINO | IXI-Guys | 0.190 [0.155, 0.228] | 0.317 | 0.305 | 0.175 | 0.277 | 0.158 | 0.310 | 0.007 | none | ||
| AnomalyDINO | IXI-HH+Guys | 0.227 [0.195, 0.251] | 0.320 | 0.297 | 0.189 | 0.286 | 0.166 | 0.311 | 0.000 | pooled Dice, Dice at 20 cm 3 | yes | |
| AnomalyDINO | MOOD+IXI-HH | 0.247 [0.218, 0.273] | 0.309 | 0.291 | 0.164 | 0.261 | 0.152 | 0.297 | 0.013 | slice Dice, test | ||
| AnomalyDINO | MOOD+IXI | 0.169 [0.131, 0.208] | 0.309 | 0.316 | 0.180 | 0.273 | 0.161 | 0.289 | 0.005 | volume Dice | ||
| REFLECT | IXI-HH | 0.538 [0.516, 0.564] | 0.524 | 0.479 | 0.404 | 0.509 | 0.425 | 0.569 | 0.127 | none |
| Selection rule | Method | Point choice | Bootstrap frequency of point choice | Test regret of point choice | Mean test regret over resamples | 2.5th to 97.5th pct | Label |
|---|---|---|---|---|---|---|---|
| validation median slice Dice | REFLECT | IXI-HH+Guys | 36.8 % | 0.055 | 0.031 | [0.000, 0.055] | unstable |
| validation median slice Dice | UCCD | IXI-Guys | 97.8 % | 0.000 | 0.001 | [0.000, 0.000] | stable |
| validation median slice Dice | cDDPM | IXI-HH+Guys | 57.1 % | 0.000 | 0.010 | [0.000, 0.052] | unstable |
| validation median slice Dice | AnomalyDINO | MOOD+IXI-HH | 27.3 % | 0.013 | 0.008 | [0.000, 0.018] | unstable |
| validation pooled Dice | REFLECT | MOOD+IXI | 86.4 % | 0.000 | 0.006 | [0.000, 0.055] | stable |
| validation pooled Dice | UCCD | IXI-Guys | 99.3 % | 0.000 | 0.000 | [0.000, 0.000] | stable |
| Hypothesis | provisional set | test-selected set | validation-selected set | primary |
|---|---|---|---|---|
| ranking instability | supported (max. flip share 0.302 [0.278, 0.374]) | supported (0.459 [0.357, 0.497]) | supported (0.472 [0.393, 0.498]) | supported (0.472 [0.414, 0.499]) |
| evaluation dominance | supported (0.607 vs 0.173) | supported (0.598 vs 0.184) | supported (0.613 vs 0.169) | supported (0.614 vs 0.162) |
| intensity baseline | not | not | not | not |
| contrast dependence | not | not | not | partly tested; not |
| pruning trade-off | not | not | not | not (point estimates) |
| test-tuning optimism | REFLECT only | REFLECT (MOOD+IXI) only (lower bound 0.022) | none (lower bound 0.019) | not (lower bound 0.0191 REFLECT, 0.0199 cDDPM) |
| Secondary hypothesis | Estimate | Verdict |
|---|---|---|
| UCCD, : the threshold-relaxation term is positive, its interval excludes 0, and it exceeds the fixed-threshold term | [0.073, 0.083] vs | held |
| AnomalyDINO, : the total gain from hysteresis with pruning is | [ , 0.010] | held |
| Above-floor sensitivity falls with hysteresis and pruning (UCCD, AnomalyDINO) | ; | held |
| UCCD small-lesion sensitivity | 0.073 | held |
| Jaccard index of the missed-lesion sets of UCCD with REFLECT and with cDDPM | 0.813; 0.938 | held |
| UCCD transfer gap at , interval excludes 0 | [ , ] | failed |