Skip to content

mind-inria/mri-nufft

Repository files navigation

MRI-NUFFT

Doing non-Cartesian MR Imaging has never been so easy.

https://img.shields.io/badge/style-black-black https://img.shields.io/badge/docs-Sphinx-blue https://img.shields.io/pypi/v/mri-nufft

This python package extends various NUFFT (Non-Uniform Fast Fourier Transform) python bindings used for MRI reconstruction.

In particular, it provides a unified interface for all the methods, with extra features such as coil sensitivity, density compensated adjoint and off-resonance corrections (for static B0 inhomogeneities).

Modularity and Integration of MRI-nufft with the python computing libraries.

Usage

from scipy.datasets import face # For demo
import numpy as np
import mrinufft
from mrinufft.trajectories import display
from mrinufft.density import voronoi

# Create 2D Radial trajectories for demo
samples_loc = mrinufft.initialize_2D_radial(Nc=100, Ns=500)
# Get a 2D image for the demo (512x512)
image = np.complex64(face(gray=True)[256:768, 256:768])

## The real deal starts here ##
# Choose your NUFFT backend (installed independently from the package)
# pip install mri-nufft[finufft] will be just fine here
NufftOperator = mrinufft.get_operator("finufft")

# For improved image reconstruction, use density compensation
density = voronoi(samples_loc.reshape(-1, 2))

# And create the associated operator.
nufft = NufftOperator(
    samples_loc.reshape(-1, 2), shape=image.shape, density=density, n_coils=1
)

kspace_data = nufft.op(image)  # Image -> Kspace
image2 = nufft.adj_op(kspace_data)  # Kspace -> Image

For improved image quality, embed these steps in a more complex reconstruction pipeline (for instance using PySAP).

Want to see more ?

Installation

MRI-nufft is available on Pypi and can be installed with:

pip install mri-nufft

Additionally, you will have to install at least one NUFFT computation backend. See the Documentation for more guidance. Typically we recommend:

pip install mri-nufft[finufft]
pip install mri-nufft[cufinufft] # if you have a NVIDIA GPU and CUDA>=12

Benchmark

A benchmark of NUFFT backend for MRI applications is available in https://github.com/mind-inria/mri-nufft-benchmark

Who is using MRI-NUFFT?

Here are several project that rely on MRI-NUFFT:

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy