DIRECT — Adaptive Sampling, Reconstruction & Registration
Pretrained models that jointly learn adaptive (k)-space sampling, reconstruction, and motion registration for dynamic MRI.
- Paper: arXiv:2411.18249
- Companion (sampling + recon only, MIDL 2026): PMLR · Hub
NKI-AI/direct-e2e-ads-recon - Framework: DIRECT
Dataset
| Data | CMRxRecon multi-coil cardiac cine |
| Challenge / site | cmrxrecon.github.io |
| Task | Adaptive sampling + reconstruction + registration |
Models
Each experiment is a .yaml + .pt pair:
| Name | Notes |
|---|---|
vsharp_ads_1d_phase_reg |
vSHARP + ADS phase-specific + registration (end-to-end) |
varnet_ads_1d_phase_reg |
VarNet + ADS phase-specific + registration |
vsharp_ads_1d_reg |
vSHARP + ADS unified + registration |
varnet_ads_1d_reg |
VarNet + ADS unified + registration |
vsharp_ads_1d_phase_init_reg |
Phase-specific + sampling init |
vsharp_ads_1d_init_reg |
Unified + sampling init |
*_disjoint |
Stage-wise training (train_end_to_end: false) |
vsharp_fixed_1d_* |
Fixed (non-adaptive) sampling baselines |
vsharp_loupe_1d_* |
LOUPE / optimized-sampling baselines |
Full training configs: projects/e2e_ads_recon_reg.
Training protocol
Same data domain as the companion E2E-ADS-Recon models: CMRxRecon cine with mixed discrete accelerations (typically (R \in {4.0327, 6, 8.2}), or init variants) and ACS center_fractions of matching length (usually 0.04).
Released inference YAMLs pin one (R) and one ACS. Prefer the per-rate files {name}_4x.yaml / _6x.yaml / _8x.yaml (same {name}.pt). {name}.yaml is an alias of _4x.
Install DIRECT
git clone https://github.com/NKI-AI/direct.git
cd direct
conda create --name direct python=3.12
conda activate direct
pip install meson-python meson ninja
pip install --no-build-isolation -e ".[dev]"
Usage
hf download NKI-AI/direct-e2e-ads-recon-reg --local-dir ./e2e_ads_recon_reg
direct predict ./predictions \
--cfg ./e2e_ads_recon_reg/vsharp_ads_1d_phase_reg_4x.yaml \
--checkpoint ./e2e_ads_recon_reg/vsharp_ads_1d_phase_reg.pt \
--data-root /path/to/cmrxrecon \
--num-gpus 1
Use _6x / _8x for other rates (same .pt).
The first argument is the prediction output directory.
These models include a registration_model, so inference YAMLs enable registration transforms that build a reference_image (default: drop frame index 6 via FROM_KEY). Volumes must have enough temporal frames for that index. To use a different reference frame, edit:
transforms:
registration:
registration: true
registration_simulate_reference: FROM_KEY
registration_simulate_reference_from_key_index: 6
registration_estimate_displacement: false
Citation
If you use these models or DIRECT, please cite the DIRECT toolkit and the method paper(s) below.
DIRECT
@article{DIRECTTOOLKIT,
title={DIRECT: Deep Image REConstruction Toolkit},
author={Yiasemis, George and Moriakov, Nikita and Karkalousos, Dimitrios and Caan, Matthan and Teuwen, Jonas},
journal={Journal of Open Source Software},
volume={7},
number={73},
pages={4278},
year={2022},
doi={10.21105/joss.04278},
url={https://doi.org/10.21105/joss.04278}
}
Method
@article{yiasemis2024e2eadsreg,
title={Deep End-to-End Adaptive k-Space Sampling, Reconstruction, and Registration for Dynamic {MRI}},
author={Yiasemis, George and Moriakov, Nikita and Sonke, Jan-Jakob and Teuwen, Jonas},
journal={arXiv preprint arXiv:2411.18249},
year={2024}
}