Beyond Segmentation: Enriching ImageCAS with Coronary Ostia Landmarks, Rooted Centerline Graphs, and Open-Weight Localization Models
Organizations: Department of Electronics, Information and Bioengineering, Politecnico di Milano, Via Ponzio 34/5, 20133 Milano, Italy · Computer Vision Laboratory, Department of Information Technology and Electrical Engineering, ETH Zurich, Sternwartstrasse 7, 8092 Zurich, Switzerland · Department of Industrial and Information Engineering, University of Pavia, Via A. Ferrata 5, 27100 Pavia, Italy
Abstract
Coronary ostia and centerlines are key reference points for automated analysis of coronary computed tomography angiography (CCTA), from surgical planning to intraoperative vessel tracking. However, the only public ostium annotations cover 77 non-gated aortic scans, not CCTA, while CAT08 and ASOCA (32 and 40 CCTA scans) mark the ostia only implicitly, as centerline start points. This work enriches ImageCAS, the largest public dataset for coronary artery segmentation, with ostium annotations for its 1000 patients and centerline graphs rooted at these new ostia, making it, to the authors' knowledge, the largest public dataset for ostium localization and the only one with centerlines following the official ImageCAS masks and starting at annotated ostia. Three annotators marked each ostium in the first 500 volumes; in the next 500, the candidates of a model trained on the first batch were corrected (human-in-the-loop). Six 3D localization models, trained on ImageCAS, CAT08 and ASOCA, were benchmarked on 58 held-out volumes (50 ImageCAS, 4 CAT08, 4 ASOCA). SwinUNETR-V2 and nnResUNet localized all ostia without failure (>5 mm error), with median errors of 0.70-0.87 mm. Trained on CAT08 and ASOCA alone, SwinUNETR-V2 fails on 34% of right and 53% of left ostia, whereas adding 250 ImageCAS volumes removes all failures. The centerlines were extracted by a deterministic, quality-controlled minimal-path procedure; on ASOCA, they cover a median of 99.5% of the reference length, with a median per-patient mean distance of 0.22 mm between matched reference points and centerlines. Annotations, centerlines, code, and weights are available at https://hal9000-lab.github.io/.
Figures & tables
| Anatomical | Interoperator | Failure | |
| Right ostium | 1.08 | 1.85 | 5.0 |
| Left ostium | 1.45 | 2.59 | 5.0 |
| Model | Developer | Architecture | Parameters |
| SwinUNETR-V2 | NVIDIA | Swin ViT + Conv. | 18.35M |
| ResNet50 | Microsoft | Conv. | 49.70M |
| ResNet101 | Microsoft | Conv. | 92.28M |
| nnResUNet | ACVL | Conv. | 32.69M |
| MedNeXt-S | MIC-DKFZ | ConvNeXt | 5.55M |
| MedNeXt-B | MIC-DKFZ | ConvNeXt | 10.53M |
| Annotator | Left ostium | Right ostium | Combined (Left+Right) | |||
| Mean SD | Median [IQR] | Mean SD | Median [IQR] | Mean SD | Median [IQR] | |
| Annotator 1 | 2.89 0.95 | 2.73 [2.35–3.40] | 1.98 0.78 | 1.90 [1.47–2.40] | 2.44 0.98 | 2.37 [1.79–2.92] |
| Annotator 2 | 2.06 0.95 | 1.99 [1.39–2.48] | 1.78 0.95 | 1.63 [1.19–2.22] | 1.92 0.96 | 1.75 [1.25–2.37] |
| Annotator 3 | 1.73 0.88 | 1.54 [1.10–2.22] | 1.29 0.71 | 1.19 [0.78–1.61] | 1.51 0.83 | 1.34 [0.94–1.95] |
| Annotator 4 | 1.39 0.90 | 1.19 [0.75–1.80] | 1.13 0.61 | 1.04 [0.71–1.42] | 1.26 0.78 | 1.09 [0.72–1.57] |
| Annotator 5 | 1.44 0.83 | 1.29 [0.81–1.94] | 1.19 0.67 | 1.10 [0.69–1.55] | 1.31 0.76 | 1.20 [0.76–1.69] |
| Metric | Value |
| Images requiring manual refinement a | 88 / 500 (17.6%) |
| Images with an undetected ostium (outlier) | 10 / 500 (2.0%) |
| Right ostium | 8 |
| Left ostium | 2 |
| Both ostia | 0 |
| Annotation time, first batch b | 24 h (144 person-h) |
| Right ostium | Left ostium | Both | ||||||||||||||
| Model | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| SwinUNETR-V2 | 0.53 | 0.74 | 0.83 | 1.02 | 2.07 | 0.61 | 0.85 | 0.98 | 1.32 | 2.51 | 0.68 | 0.86 | 0.91 | 1.10 | 1.94 | 55.6 |
| (O: 77.59 | G: 20.69 | A: 1.72 | F: 0.00) | (O: 84.48 | G: 15.52 | A: 0.00 | F: 0.00) | (O: 68.97 | G: 29.31 | A: 1.72 | F: 0.00) | ||||||||||||||
| ASOCA | 0.53 | 0.95 | 0.95 | 1.37 | 1.45 | 0.54 | 0.60 | 0.58 | 0.64 | 0.71 | 0.58 | 0.81 | 0.77 | 0.99 | 1.02 | |
| (O: 50.00 | G: 50.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | (O: 50.00 | G: 50.00 | A: 0.00 | F: 0.00) | ||||||||||||||
| CAT08 | 0.60 | 1.02 | 1.04 | 1.46 | 1.75 | 0.59 | 1.04 | 1.20 | 1.64 | 2.25 | 0.98 | 1.05 | 1.12 | 1.20 | 1.46 | |
| Both trees | Left tree | Right tree | |
| Recall (%) | 99.5 [98.9–99.8] | 99.4 [98.7–99.8] | 99.7 [99.0–99.9] |
| Precision (%) | 98.0 [96.5–99.6] | 98.1 [95.7–99.8] | 99.4 [97.7–100] |
| OV (%) | 98.6 [98.2–99.0] | 98.5 [97.6–99.1] | 99.1 [98.4–99.5] |
| OT (%) | 99.1 [98.8–99.9] | 99.0 [98.4–100] | 100 [99.0–100] |
| OF (%) | 99.1 [96.8–99.5] | 99.0 [96.3–99.6] | 99.5 [98.6–99.9] |
| AI (mm) | 0.22 [0.21–0.24] | 0.22 [0.21–0.25] | 0.22 [0.20–0.24] |
| Both trees | Left tree | Right tree | |
| ImageCAS-X trees: connectivity | |||
| Trees with detached segments (%) | 15.6 | 28.6 | 2.5 |
| Detached length, in those trees (%) | 47.2 [36.1–58.5] | 47.7 [38.2–59.2] | 24.9 [21.1–36.9] |
| Detached length, all trees (%) | 9.7 | 14.6 | 1.0 |
| Detached length bridged by the mask (%) | 97.7 | 97.6 | 100 |
| ImageCAS-X start points against our ostia | |||
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Spacing (mm) | Size (with labels) | Resolution | N° of slices | |
| ImageCAS [ 21 ] | 0.25 - 0.45 | 1000 | 512 512 | 206 - 275 |
| CAT08 [ 28 ] | 0.262 - 0.408 | 32 | 512 512 | 229 - 351 |
| ASOCA [ 18 ] | 0.625 | 40 | 512 512 | 200 |
| Annotator | Left ostium | Right ostium | Combined (Left+Right) | |||
| Mean SD | Median [IQR] | Mean SD | Median [IQR] | Mean SD | Median [IQR] | |
| Annotator 1 | 1.93 0.64 | 1.82 [1.56–2.28] | 1.32 0.52 | 1.27 [0.98–1.60] | 1.63 0.66 | 1.58 [1.19–1.95] |
| Annotator 2 | 1.37 0.64 | 1.33 [0.93–1.65] | 1.19 0.63 | 1.09 [0.79–1.49] | 1.28 0.64 | 1.16 [0.83–1.58] |
| Annotator 3 | 1.15 0.59 | 1.03 [0.73–1.47] | 0.86 0.47 | 0.79 [0.52–1.08] | 1.00 0.55 | 0.90 [0.63–1.30] |
| Annotator 4 | 0.93 0.60 | 0.79 [0.50–1.20] | 0.75 0.41 | 0.70 [0.48–0.95] | 0.84 0.52 | 0.73 [0.48–1.05] |
| Annotator 5 | 0.96 0.56 | 0.86 [0.54–1.29] | 0.79 0.45 | 0.74 [0.46–1.04] | 0.88 0.51 | 0.80 [0.50–1.13] |
| Right ostium | Left ostium | ||||||||||
| Model | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| SwinUNETR-V2 | 0.63 | 0.82 | 10.3 | 1.21 | 150.0 | 0.65 | 0.94 | 5.17 | 1.31 | 131.6 | 50.7 |
| (O: 65.52 | G: 24.14 | A: 1.72 | F: 8.62) | (O: 77.59 | G: 18.97 | A: 0.00 | F: 3.45) | ||||||||||
| ASOCA | 0.91 | 1.05 | 1.18 | 1.32 | 1.88 | 1.29 | 1.72 | 29.2 | 29.7 | 112.8 | |
| (O: 50.00 | G: 25.00 | A: 25.00 | F: 0.00) | (O: 25.00 | G: 50.00 | A: 0.00 | F: 25.00) | ||||||||||
| CAT08 | 98.3 | 118.6 | 121.2 | 141.5 | 150.0 | 0.82 | 1.50 | 33.8 | 34.5 | 131.6 | |
| Right ostium | Left ostium | ||||||||||
| ImageCAS images | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| 0 | 1.18 | 1.93 | 34.53 | 53.89 | 170.58 | 2.08 | 36.89 | 50.94 | 99.01 | 139.27 | 48.7 |
| (O: 24.14 | G: 22.41 | A: 18.97 | F: 34.48) | (O: 18.97 | G: 13.79 | A: 13.79 | F: 53.45) | ||||||||||
| ASOCA | 0.64 | 1.17 | 15.79 | 16.31 | 60.34 | 2.94 | 3.25 | 21.07 | 21.39 | 75.31 | |
| (O: 50.00 | G: 25.00 | A: 0.00 | F: 25.00) | (O: 0.00 | G: 25.00 | A: 50.00 | F: 25.00) | ||||||||||
| CAT08 | 1.16 | 16.31 | 43.08 | 58.24 | 138.70 | 0.94 | 2.04 | 32.58 | 33.68 | 125.74 | |
| Right ostium | Left ostium | ||||||||||
| Spacing (mm) | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| 0.5 | 0.53 | 0.74 | 0.83 | 1.02 | 2.07 | 0.61 | 0.85 | 0.98 | 1.32 | 2.51 | 55.6 |
| (O: 77.59 | G: 20.69 | A: 1.72 | F: 0.00) | (O: 84.48 | G: 15.52 | A: 0.00 | F: 0.00) | ||||||||||
| ASOCA | 0.53 | 0.95 | 0.95 | 1.37 | 1.45 | 0.54 | 0.60 | 0.58 | 0.64 | 0.71 | |
| (O: 50.00 | G: 50.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | ||||||||||
| CAT08 | 0.60 | 1.02 | 1.04 | 1.46 | 1.75 | 0.59 | 1.04 | 1.20 | 1.64 | 2.25 | |
| Right ostium | Left ostium | ||||||||||
| Spacing (mm) | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| 0.5 | 0.52 | 0.70 | 0.83 | 1.13 | 2.03 | 0.68 | 0.87 | 0.96 | 1.21 | 2.32 | 41.1 |
| (O: 72.41 | G: 24.14 | A: 3.45 | F: 0.00) | (O: 89.66 | G: 10.34 | A: 0.00 | F: 0.00) | ||||||||||
| ASOCA | 0.61 | 0.67 | 0.77 | 0.83 | 1.20 | 0.58 | 0.74 | 0.67 | 0.83 | 1.06 | |
| (O: 75.00 | G: 25.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | ||||||||||
| CAT08 | 0.68 | 1.22 | 1.17 | 1.71 | 1.74 | 1.03 | 1.17 | 1.05 | 1.20 | 1.23 | |
| Right ostium | Left ostium | ||||||||||
| Inference spacing (mm) | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| 0.5 | 0.53 | 0.74 | 0.83 | 1.02 | 2.07 | 0.61 | 0.85 | 0.98 | 1.32 | 2.51 | 55.6 |
| (O: 77.59 | G: 20.69 | A: 1.72 | F: 0.00) | (O: 84.48 | G: 15.52 | A: 0.00 | F: 0.00) | ||||||||||
| ASOCA | 0.53 | 0.95 | 0.95 | 1.37 | 1.45 | 0.54 | 0.60 | 0.58 | 0.64 | 0.71 | |
| (O: 50.00 | G: 50.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | ||||||||||
| CAT08 | 0.60 | 1.02 | 1.04 | 1.46 | 1.75 | 0.59 | 1.04 | 1.20 | 1.64 | 2.25 | |
| Right ostium | Left ostium | ||||||||||
| Window (vox) | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| 5 | 0.59 | 0.77 | 0.84 | 1.00 | 2.04 | 0.63 | 0.86 | 0.98 | 1.33 | 2.54 | 55.8 |
| (O: 77.59 | G: 20.69 | A: 1.72 | F: 0.00) | (O: 84.48 | G: 15.52 | A: 0.00 | F: 0.00) | ||||||||||
| ASOCA | 0.56 | 0.94 | 0.95 | 1.33 | 1.43 | 0.53 | 0.60 | 0.58 | 0.65 | 0.70 | |
| (O: 50.00 | G: 50.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | ||||||||||
| CAT08 | 0.70 | 1.08 | 1.07 | 1.45 | 1.74 | 0.59 | 1.00 | 1.19 | 1.60 | 2.29 | |
| Right ostium | Left ostium | ||||||||||
| Overlap (vox) | p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | Time (s) |
| SwinUNETR-V2 | |||||||||||
| 0 | 0.52 | 0.77 | 0.86 | 1.09 | 2.09 | 0.67 | 0.97 | 1.12 | 1.46 | 3.02 | 30.1 |
| (O: 72.41 | G: 20.69 | A: 6.90 | F: 0.00) | (O: 74.14 | G: 22.41 | A: 3.45 | F: 0.00) | ||||||||||
| ASOCA | 0.66 | 0.85 | 0.81 | 1.00 | 1.10 | 0.57 | 0.64 | 0.61 | 0.68 | 0.75 | |
| (O: 75.00 | G: 25.00 | A: 0.00 | F: 0.00) | (O: 100.00 | G: 0.00 | A: 0.00 | F: 0.00) | ||||||||||
| Right ostium | Left ostium | |||||||||
| p25 | Med. | Mean | p75 | Max | p25 | Med. | Mean | p75 | Max | |
| Trained on ImageCAS only, all external volumes | ||||||||||
| SwinUNETR-V2 | ||||||||||
| ASOCA (40) | 0.90 | 1.18 | 1.27 | 1.55 | 2.65 | 0.67 | 1.03 | 4.05 | 1.35 | 118.1 |
| (O: 40.00 | G: 47.50 | A: 12.50 | F: 0.00) | (O: 80.00 | G: 12.50 | A: 5.00 | F: 2.50) | |||||||||
| CAT08 (32) | 0.61 | 0.77 | 0.96 | 1.20 | 2.65 | 0.74 | 0.89 | 1.18 | 1.41 | 3.49 |
| Right ostium | Left ostium | Both | ||||
| Method | Mean | Med. | Mean | Med. | Mean | Med. |
| Zheng et al. [42] Private (1360) | 1.73 | 1.31 | 1.66 | 1.45 | 1.70 | - |
| Jang and Jeon [23] CAT08 | 1.94 | 1.80 | 2.22 | 1.70 | 2.08 | 1.59 |
| Noothout et al. [22] Private (672) | - | 1.45 | - | 1.55 | - | - |
| Gajowczyk et al. [20] Private (201) | 1.29 | 0.98 | 1.18 | 1.14 | 1.24 | - |
| Leccardi et al. [44] ASOCA (40), CAT08 (32) | 5.28 | 4.16 | 10.57 | 7.79 | 7.93 | 5.24 |
| Both trees | Left tree | Right tree | |
| Recall (%) | 100 [100–100] | 100 [100–100] | 100 [100–100] |
| Precision (%) | 99.9 [99.8–100] | 99.9 [99.7–100] | 100 [100–100] |
| OV (%) | 99.9 [99.9–100] | 99.9 [99.8–100] | 100 [100–100] |
| OF (%) | 100 [100–100] | 100 [100–100] | 100 [100–100] |
| AI (mm) | 0.23 [0.22–0.24] | 0.23 [0.22–0.25] | 0.22 [0.21–0.24] |
| HD95 (mm) | 0.50 [0.47–0.53] | 0.50 [0.46–0.55] | 0.48 [0.44–0.52] |
| Joining tolerance (mm) | Scans | Left trees | Right trees |
| 1 | 30.4 (243) | 28.6 (229) | 2.5 (20) |
| 2 | 18.1 (145) | 17.3 (138) | 1.3 (10) |
| 3 | 5.4 (43) | 5.1 (41) | 0.4 (3) |
| 5 | 0.6 (5) | 0.6 (5) | 0 (0) |
| 10 | 0.1 (1) | 0.1 (1) | 0 (0) |
Medical Image Localization
Medical image localization finds anatomical landmarks, lesions, organs, or devices in scans and videos to support diagnosis and image-guided care.
See all 108 papers