Temporal Diffusion Bridge Model for Vessel Extraction Using Physics-informed Synthetic Data
Organizations: Department of Radiology, Northwestern University, Chicago, IL, USA
Abstract
Accurate artery extraction from X-ray coronary angiography (XCA) is essential for coronary artery disease diagnosis and intervention. However, low vessel visibility, respiratory and cardiac motion, and limited annotations challenge existing methods. Moreover, most deep learning approaches produce binary vessel masks without preserving clinically relevant intra-arterial contrast information. We propose a Temporal Diffusion Bridge Model (TDBM) that formulates vessel extraction as image translation and learns from physics-informed synthetic data without manual vessel annotations. A physics-based XCA synthesis engine generates diverse, perfectly aligned pairs of contrast-enhanced and contrast-free images. Using these pairs, TDBM learns cross-domain mappings to recover high-fidelity vessel information. Temporal conditioning incorporates adjacent frames to improve consistency, while a vessel-aware contrastive loss exploits background-invariant synthetic pairs to enhance vascular discrimination. We evaluate TDBM on two XCA vessel segmentation datasets and conduct a reader study using two real-patient XCA sequence datasets. Zero-shot segmentation is further assessed on retinal imaging and fluorescence microscopy datasets. Results demonstrate that TDBM consistently outperforms existing methods and generalizes effectively across imaging modalities. Code and trained weights will be available at: https://github.com/Advanced-AI-in-Medicine-and-Physics-Lab/TDBM
Figures & tables
| Parameter | Value |
| Input resolution | |
| Temporal radius | (3 frames) |
| Diffusion timesteps | |
| Reconstruction loss | MSE |
| VCL weight | |
| VCL temperature |
| Method | Internal | External | ||||||||
| Acc. | Sen. | DSC | clDice | clRec. | Acc. | Sen. | DSC | clDice | clRec. | |
| nnUNet † | 0.952 0.048 | 0.580 0.142 | 0.635 0.128 | 0.684 0.106 | 0.692 0.035 | 0.957 0.062 | 0.529 0.152 | 0.620 0.201 | 0.665 0.168 | 0.671 0.028 |
| MoG-RPCA | 0.963 0.058 | 0.774 0.134 | 0.747 0.140 | 0.782 0.115 | 0.802 0.028 | 0.943 0.017 | 0.393 0.152 | 0.494 0.144 | 0.528 0.121 | 0.548 0.025 |
| MCR-RPCA | 0.968 0.013 | 0.476 0.228 | 0.588 0.197 | 0.612 0.164 | 0.624 0.042 | 0.918 0.025 | 0.020 0.032 | 0.031 0.046 | 0.038 0.042 | 0.041 0.018 |
| TRPCA | 0.965 0.046 | 0.648 0.189 | 0.695 0.176 | 0.729 0.143 | 0.744 0.031 | 0.933 0.024 | 0.164 0.082 | 0.267 0.119 | 0.291 0.098 | 0.301 0.022 |
| ETRPCA | 0.955 0.023 | 0.724 0.097 | 0.654 0.110 | 0.718 0.088 | 0.767 0.026 | 0.942 0.017 | 0.681 0.118 | 0.637 0.069 | 0.695 0.061 | 0.732 0.019 |
| Method | Year | Training paradigm | Labeled training data | Dice/F1 |
| CoroSAM a | 2026 | Supervised | 1,200 | 0.730 |
| FAVS a | 2026 | Supervised | 1,326 | 0.705 |
| TRACS a | 2026 | Annotation-free | 0 | 0.616 |
| DOSTA-Net b | 2026 | Annotation-free | 0 | 0.282 |
| TDBM (Ours) | 2026 | Annotation-free | 0 | 0.671 |
| No. | Temporal Cond. | Slice No. | VCL | Annealing Term | Training No. | Acc. | Sen. | DSC | clDice | clRec. |
| 1 | ✗ | 1 | ✓ | ✓ | 50k | 0.958 0.012 | 0.776 0.151 | 0.727 0.094 | 0.744 0.091 | 0.801 0.126 |
| 2 | ✗ | 3 | ✓ | ✓ | 50k | 0.957 0.014 | 0.792 0.096 | 0.738 0.060 | 0.758 0.061 | 0.814 0.091 |
| 3 ⋆ | ✓ | 3 | ✓ | ✓ | 50k | 0.961 0.011 | 0.810 0.084 | 0.755 0.049 | 0.779 0.051 | 0.831 0.078 |
| 4 | ✓ | 5 | ✓ | ✓ | 50k | 0.954 0.016 | 0.795 0.058 | 0.747 0.056 | 0.768 0.057 | 0.819 0.060 |
| 5 | ✓ | 7 | ✓ | ✓ | 50k | 0.949 0.014 | 0.798 0.050 | 0.746 0.048 | 0.766 0.050 | 0.821 0.055 |
| 6 | ✓ | 3 | ✓ | ✗ | 50k | 0.953 0.015 | 0.808 0.052 | 0.743 0.052 | 0.762 0.054 | 0.823 0.057 |
| Setting | VCL location | DSC | clDice |
| No VCL | None | 0.736 0.048 | 0.748 0.051 |
| Deep encoder | Deepest encoder block (1/8) | 0.743 0.050 | 0.758 0.052 |
| Bottleneck | Bottleneck (1/8) | 0.746 0.051 | 0.762 0.053 |
| Decoder | Three decoder stages | 0.751 0.050 | 0.771 0.052 |
| All levels | Encoder + bottleneck + decoder | 0.755 0.049 | 0.779 0.051 |
| Sampling Steps | Accuracy | Sensitivity | Specificity | DSC |
| 2 | 0.928 0.024 | 0.093 0.069 | 0.999 0.002 | 0.159 0.106 |
| 10 | 0.961 0.011 | 0.799 0.096 | 0.973 0.013 | 0.753 0.053 |
| 50 | 0.961 0.010 | 0.806 0.095 | 0.973 0.013 | 0.755 0.050 |
| 200 | 0.960 0.011 | 0.807 0.088 | 0.972 0.014 | 0.753 0.049 |
| 1000 | 0.961 0.011 | 0.810 0.084 | 0.972 0.013 | 0.755 0.049 |
| Method | Params (M) | Steps | VRAM (GB) | Latency (s/frame) | DSC |
| TDBM | 62.6 | 1000 | 0.77 | 20.09 | 0.755 0.049 |
| TDBM | 62.6 | 50 | 0.77 | 1.00 | 0.755 0.050 |
| TDBM | 62.6 | 10 | 0.77 | 0.20 | 0.753 0.053 |
| pix2pix | 54.4 | - | 0.45 | 0.04 | 0.670 0.061 |
| nnU-Net | 20.6 | - | 0.21 | 0.04 | 0.620 0.201 |
| Dataset | Method | Accuracy | Sensitivity | DSC |
| DRIVE | nnUNet † | 0.953 0.003 | 0.739 0.044 | 0.731 0.013 |
| MedSegX | 0.918 0.005 | 0.581 0.043 | 0.551 0.030 | |
| Ours | 0.955 0.006 | 0.789 0.086 | 0.739 0.044 | |
| VessMAP | nnUNet † | 0.960 0.020 | 0.942 0.040 | 0.919 0.037 |
| MedSegX | 0.644 0.272 | 0.782 0.130 | 0.591 0.184 | |
| Ours | 0.867 0.076 | 0.763 0.133 | 0.773 0.075 |