DIRECT — Adaptive Sampling, Reconstruction & Registration

Pretrained models that jointly learn adaptive (k)-space sampling, reconstruction, and motion registration for dynamic MRI.

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}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for NKI-AI/direct-e2e-ads-recon-reg