MRI acquisition & image reconstruction tutorial#
This repository contains code and slides that were initially presented at ISBI’19 in Venice during the tutorial entitled: “Recent advances in acquisition and reconstruction for Compressed Sensing MRI”. The code focuses on basics and recent advances in MR acquisition or design of k-space sampling schemes. Then the code has been progressively extended for the 2022 IEEE Biomedical Imaging summer school that held in St Jacut de la Mer in June 2022. Even more recently, in 2024, I started to use MRI-NUFFT to illustrate multiple 2D and 3D non-Cartesian trajectories with density compensated adjoint Non-Unform Fast Fourier transform (NUFFT) reconstruction.
The aspects related to MRI reconstruction in the ISBI’19 tutorial were taught by Prof. Jeff Fessler with code and examples in Julia language.
You can find some ipython Notebooks in the Python folder. Note that we illustrate both Cartesian and non-Cartesian sampling, regular~(i.e. periodic or contiguous) and irregular undersampling. Irregular undersampling can be produced using either pseudo-random generation or incoherent optimization-driven sampling like SPARKLING. The code of the latter approach, originally designed by Carole Lazarus, Nicolas Chauffert and Pierre Weiss, is actually not disclosed. It can be requested by emailing us.
Importantly, we also develop our own image reconstruction python package for multiple Fourier imaging modalities, namely PySAP. These developments are done in collaboration with the CosmoStat team (J. L. Starck in the context of the COSMIC project. The two core developers of PySAP are A. Grigis (antoine.grigis@cea.fr) and S. Farrens. The new organization of PySAP relies on on separate plugin for each imaging modality, for instance for MRI: pysap-mri. The main contributors to this plugin habe been Chaithya G R, Loubna El Gueddari, Zaccharie Ramzi, Guillaume Daval-Frérot and Pierre-Antoine Comby all former or current PhD candidates under my supervision at CEA/NeuroSpin.
- 1. Basic deterministic under-sampling
- 2. iid Variable Density Sampling
- 2b. IID sampling according to various densities & trajectories
- Sampling
- Density-based trajectories
- 3. 1D Cartesian structured VDS along parallel lines
- 4. Cartesian perodic under-sampling along parallel lines
- 5. Non-Cartesian radial under-sampling
- 6. Non-Cartesian spiral under-sampling
- Non-Cartesian sampling: SPARKLING imaging
- 8. Non-Cartesian 3D under-sampling
- 9. Iterative CS-based MR image reconstruction from Cartesian data
- 10. Non-Cartesian MR image reconstruction
- 11. Self-calibrated CS-pMR image reconstruction from undersampled Cartesian data
- 12. Self-calibrated CS-pMR image reconstruction from undersampled non-Cartesian data
- 13. Calibrationless CS-pMR image reconstruction from undersampled Cartesian data
- 14. Deep learning MRI reconstructoion: Simple UNet model.
- %%
- .. colab-link::
- :needs_gpu: 1
- !pip install mri-nufft[gpunufft] scikit-image fastmri