This repository is under active development. Additional documentation, trained models, and scripts will be released soon.
Official Python implementation accompanying the paper:
Scan-Adaptive Dynamic MRI Undersampling Using a Dictionary of Efficiently Learned Patterns
Siddhant Gautam, Angqi Li, Prachi P. Agarwal, Anil K. Attili, Jeffrey A. Fessler, Nicole Seiberlich, Saiprasad Ravishankar
arXiv: https://arxiv.org/abs/2602.13984
Dynamic cardiac cine MRI is often limited by long acquisition times. This repository implements a scan- and slice-adaptive Cartesian undersampling framework for dynamic MRI that:
- Learns a dictionary of optimized sampling masks from fully sampled training cine time-series.
- Selects a scan-adaptive mask at test time using a nearest-neighbor search in low-frequency k-space, then applies it across the entire dynamic series.
- Reconstructs the undersampled series using MostNet, an unrolled optimization network that combines a learned spatiotemporal prior with conjugate-gradient data consistency.
MostNet reconstructs a dynamic image series
where
MostNet solves a MoDL-style objective with a learned spatiotemporal prior:
where the denoiser
We jointly learn:
- a set of scan-adaptive masks
${M_i}$ (a dictionary of optimized patterns), - a reconstruction network
$f_\theta$ trained across those learned patterns,
via alternating optimization: update masks for fixed reconstruction, then update
Updating one phase-encoding line at a time is expensive for dynamic cine data because each candidate evaluation requires reconstructing an entire multi-frame series. RB-ICD accelerates this by updating multiple phase-encoding locations simultaneously (subset updates).
Algorithm sketch (Algorithm 1 in the paper):
- Start from an initial mask
$M_{\text{init}}$ and enforce a fixed low-frequency ACS set$\Omega_{\text{low}}$ . - For each pass
$j = 1, \ldots, N_{\text{iter}}$ :- Randomly partition movable sampled locations into disjoint subsets of size
$s$ . - For each subset:
- Sample
$N_{\text{cand}}$ candidate relocations to unsampled locations, - Reconstruct and evaluate the loss for each candidate,
- Accept the best candidate if it improves the current loss.
- Sample
- Randomly partition movable sampled locations into disjoint subsets of size
If you use this code, please cite:
@article{gautam2026scan,
title={Scan-Adaptive Dynamic MRI Undersampling Using a Dictionary of Efficiently Learned Patterns},
author={Gautam, Siddhant and Li, Angqi and Agarwal, Prachi P and Attili, Anil K and Fessler, Jeffrey A and Seiberlich, Nicole and Ravishankar, Saiprasad},
journal={arXiv preprint arXiv:2602.13984},
year={2026}
}Contact
The code is provided to support reproducible research. If you have any questions about the code or have some trouble running any module of the framework, you can contact Siddhant Gautam (gautamsi@msu.edu) or Saiprasad Ravishankar (ravisha3@msu.edu).