A differentiable PyTorch toolbox for medical imaging reconstruction, developed at the University of Michigan. MIRTorch provides composable linear maps, proximal operators, iterative solvers, and MRI and SPECT system models.
Documentation · Examples · API
FINUFFT/cuFINUFFT now accelerate non-Cartesian and B0-informed MRI; warm NVIDIA A10 benchmarks measured up to 5.2× faster NUFFT, 9.4× faster Toeplitz, and 12.3× faster iterative solvers (workload-dependent). Both NUFFT backends also support efficient first-order trajectory gradients, enabling SNOPY-style sampling-pattern optimization directly in MIRTorch (Wang and Fessler, 2023).
Install PyTorch for your platform, then:
pip install MIRTorchCUDA users can install cuFINUFFT with:
pip install "MIRTorch[cufinufft]"For local development:
pip install -e ".[dev]"NuSense, NuSenseGram, Gmri, and GmriGram use an installed FINUFFT or
cuFINUFFT library when the device supports it, then fall back to torchkbnufft.
Base macOS, Apple Metal, and Linux ARM installs therefore work without a
native library. Set backend="torchkbnufft" or backend="finufft" to
override the automatic choice.
Real-valued CUDA runs of Diff2dgram, FISTA, and POGM use torch.compile
automatically when PyTorch provides it. Other inputs stay eager; pass
compile=False to disable compilation explicitly.
The notebooks choose CUDA, Apple Metal, or CPU at runtime:
demo_mri.ipynb: CG-SENSE and B0-informed PWLSdemo_3d.ipynb: 3D non-Cartesian MRI and Toeplitz embeddingdemo_trajectory_optimization.ipynb: SNOPY-style radial trajectory optimizationdemo_cs.ipynb: compressed-sensing MRIdemo_mlem.ipynb: SPECT reconstructiondemo_mnist.ipynb: CG, FISTA, and POGMdemo_dl.ipynb: dictionary learning
MIRTorch is inspired by MIRT, MIRT.jl, SigPy, and PyLops.
If MIRTorch is useful in your work, please cite:
@inproceedings{wang:22:mirtorch,
title={{MIRTorch}: A {PyTorch}-powered Differentiable Toolbox for Fast Image
Reconstruction and Scan Protocol Optimization},
author={Wang, Guanhua and Shah, Neel and Zhu, Keyue and Noll, Douglas C. and
Fessler, Jeffrey A.},
booktitle={Proceedings of the International Society for Magnetic Resonance
in Medicine (ISMRM)},
pages={4982},
year={2022}
}See the documentation for the BJORK and SPECT citations.
MIRTorch is distributed under the BSD 3-Clause License.