Self-supervised motion-compensated reconstruction for cardiac Cine MRI
Official Tensorflow implementation of our paper published in Reconstruction and Imaging Motion Estimation (RIME) workshop in conjunction with the 28th International Conference on Medical Image Computing and Computer Assisted Intervention (MICCAI 2025).
✏️ Authors: Siying Xu, Aya Ghoul, Kerstin Hammernik, Jens Kübler, Patrick Krumm, Andreas Lingg, Daniel Rueckert, Sergios Gatidis, and Thomas Küstner
SSL-MoCo is a two-step self-supervised framework for cardiac Cine MR image reconstruction from undersampled k-space data. It does not require any fully-sampled images during training.
Fig.1 Proposed SSL-MoCo framework. (a) Step 1: Self-supervised image registration network with the photometric loss to minimize the differences between the reconstructed fixed image and the motion-corrected moving image. (b) Step 2: Self-supervised reconstruction network. Estimated motion fields from the first step are incorporated into the data consistency of the physics-based unrolled network using the forward and adjoint warp operations. The loss is composed of an image consistency loss and a cross k-space loss.
- Goal: learn non-rigid inter-frame motion
- Based on GMA-RAFT
- Reference images approximated by iterative SENSE reconstruction from undersampled k-space
- Goal: self-supervised motion-sompensated reconstruction
- Incorporate the learned motion into the data consistency layers of the unrolled reconstruction network
- Self-supervision through image consistency loss and cross k-space loss
This repository only contains the code for Step 2: self-supervised motion-compensated reconstruction.
- The registration step is not included in this repository.
- Please refer to the GMARAFT implementation for motion estimation.
- In our setting, since we do not have access to fully-sampled images, we approximate the reference using iterative SENSE reconstruction from undersampled k-space.
SSL-MoCo/
├── ablation/
│ ├── no_MC_SSL.py # Ablation without motion compensation
├── data_loader/
│ ├── MC_SSL_Dataloader.py # Data loader for proposed method
│ └── no_MC_SSL_Dataloader.py # Data loader for ablation
├── model/
│ ├── MC_SSL.py # Main model and training script
│ ├── complex_unet.py # compleax-valued UNet
│ └── one_dim_callbacks.py # Training callbacks (e.g., weights saving)
├── utils/
│ ├── DCPM_mri.py # Forward/backward operators for data consistency layer
│ ├── fft.py # Fourier transforms
│ ├── motion_mri.py # Forward/backward operators for motion-compensated data consistency layer
│ ├── mri.py # MRI-related operators
│ ├── my_utils.py # Loss functions
│ └── my_warp.py # Warping operators
└── README.mdThis code was implemented with the following versions:
- Python 3.7
- TensorFlow 2.6.0
- Keras 2.6.0
- NumPy, Pandas, Matplotlib, etc.
- merlintf (must be installed manually)
⚠️ merlintfis not available on PyPI. Please follow its GitHub installation instructions.
We use an in-house 2D cardiac Cine MR dataset which cannot be released publicly due to institutional restrictions.
To reproduce or benchmark, you may consider publicly available alternatives such as:
If you're interested in collaboration or data access, please contact the authors.
We presented SSL-MoCo at the 2025 ISMRM & ISMRT Annual Meeting & Exhibition.
🎞️ ▶ Watch the presentation here
📝 This presentation was based on an earlier version of our work, submitted as an extended abstract to ISMRM 2025.
The current repository reflects the full version published in International Workshop on Reconstruction and Imaging Motion Estimation (2025).
If you use this code or find our work helpful, please cite:
@inproceedings{xu2025sslMoCo,
title={Self-supervised motion-compensated reconstruction for cardiac Cine MRI},
author={Xu, Siying and Ghoul, Aya and Hammernik, Kerstin and Kuebler, Jens and Krumm, Patrick and Lingg, Andreas and Rueckert, Daniel and Gatidis, Sergios and Kuestner, Thomas},
booktitle={International Workshop on Reconstruction and Imaging Motion Estimation},
pages={97--107},
year={2025},
organization={Springer}
}
For questions or collaboration opportunities, feel free to reach out to Siying Xu at siying.xu@med.uni-tuebingen.de