EMORe: Motion-Robust 5D MRI Reconstruction via Expectation-Maximization–Guided Binning Correction and Outlier Rejection
Authors: Syed M. Arshad, Lee C. Potter, Chong Chen, Preethi C. Subramanian, Yingmin Liu, Christopher Crabtree, Xuan Lei, Juliet Varghese, Matthew S. Tong, and Rizwan Ahmad
Contact: [email protected]
- Abstract
- Citation
- Repository Structure
- System Requirements
- Installation and Setup
- How to Run
- Configuration Parameters
- Expected Output
- License
We propose EMORe, an adaptive reconstruction method designed to enhance motion robustness in free-running, free-breathing self-gated 5D cardiac magnetic resonance imaging (MRI). Traditional self-gating-based motion binning for 5D MRI often results in residual motion artifacts due to inaccuracies in cardiac and respiratory signal extraction and sporadic bulk motion, compromising clinical utility. EMORe addresses these issues by integrating adaptive inter-bin correction and explicit outlier rejection within an expectation-maximization (EM) framework, whereby the E-step and M-step are executed alternately until convergence. In the E-step, probabilistic (soft) bin assignments are refined by correcting misassignment of valid data and rejecting motion-corrupted data to a dedicated outlier bin. In the M-step, the image estimate is improved using the refined soft bin assignments. Validation in a simulated 5D MRXCAT phantom and in vivo volunteers confirmed EMORe's robustness, significantly enhancing image quality and reducing motion artifacts compared to standard compressed sensing. Although EMORe incurs a modest increase in computational complexity, its adaptability and robust handling of bulk motion artifacts significantly enhance the clinical applicability and diagnostic confidence of 5D cardiac MRI.
If you use this code or the EMORe framework in your research, please cite following arXiv preprint:
@article{arshad2025emore,
title={EMORe: Motion-Robust 5D MRI Reconstruction via Expectation-Maximization-Guided Binning Correction and Outlier Rejection},
author={Arshad, Syed M and Potter, Lee C and Liu, Yingmin and Crabtree, Christopher and Tong, Matthew S and Ahmad, Rizwan},
journal={arXiv preprint arXiv:2507.23224},
year={2025}
}The repository is organized as follows:
EMORe/
│
├── Datasets/
│ └── (Place your raw .mat data files here)
│
├── Methods/
│ ├── runEMOReRecon.m
│ └── runCSRecon.m
│
├── Recon Functions/
│ └── Helper functions for SG, binning, coil maps, etc.
│
├── Recons/
│ └── (Output directory, created automatically)
│
└── mainRecon.m
mainRecon.m: The main script to execute the entire reconstruction pipeline.Datasets/: Folder to store input raw data files (.mat).Recon Functions/: Contains the core reconstruction algorithms and all necessary helper functions.Recons/: The default output directory where all results will be saved.
- MATLAB (tested on R2022b or later)
- Parallel Computing Toolbox™ (for GPU acceleration)
- An NVIDIA GPU with CUDA support is strongly recommended.
-
Clone the repository:
git clone https://github.com/OSU-MR/Motion-Robust-5D-MRI-EMORe.git
-
Download Sample Data: Download the sample in vivo dataset from Zenodo:
- Link: https://zenodo.org/records/15769665
- Download the
volunteer1.matfile.
-
Prepare Data: Place the downloaded
volunteer1.matfile (or your own.matfiles) into theDatasets/folder.
- Open MATLAB.
- Navigate to the repository's root directory.
- Run the main script from the MATLAB command window:
mainRecon - A dialog box will appear. Select the
volunteer1.matfile from theDatasets/folder. - If you have multiple GPUs, a prompt will appear to select one.
- The script will execute the full pipeline, displaying progress in the command window.
All key reconstruction parameters can be adjusted in the Reconstruction Parameters section of mainRecon.m.
% Comparison flag
opt.cs = 1; % 1 = run CS recon; 0 = skip CS
% ADMM tuning
opt.lam = 5e-4 .* [1 1 1 5 3]; % [λ_sx, λ_sy, λ_sz, λ_c, λ_r]
opt.gStp = 4e-2; % gradient step size (γ)
opt.mu = 5e-1; % Lagrange multiplier (μ)
% EMORe priors
opt.out_factor = 0.05; % α_o (outlier prior)
opt.sg_factor = 0.85; % α_g (self‐gating prior)
% ... and othersA unique, timestamped directory will be created inside Recons/volunteer1/, containing:
params/:.matfiles with final images and a.txtlog file.gif/: GIFs of the reconstructed image series.outliers/: Plots showing signal traces and outlier rejection.
