Skip to content

Repository files navigation

MIRTorch

GitHub release (latest by date including pre-releases) Read the Docs

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

New

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

Install PyTorch for your platform, then:

pip install MIRTorch

CUDA users can install cuFINUFFT with:

pip install "MIRTorch[cufinufft]"

For local development:

pip install -e ".[dev]"

Backends and compilation

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.

Examples

The notebooks choose CUDA, Apple Metal, or CPU at runtime:

Citation and acknowledgments

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.

About

A PyTorch-powered differentiable image reconstruction/optimization toolbox

Topics

Resources

Stars

147 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages