MRI-NUFFT

MRI-NUFFT: Doing non-Cartesian MRI has never been easier - Published in JOSS (2025)

https://github.com/mind-inria/mri-nufft

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cuda gpu mri mri-reconstruction nufft numerical-methods numpy tensorflow torch

Scientific Fields

Mathematics Computer Science - 32% confidence
Last synced: 4 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 85
  • Watchers: 4
  • Forks: 19
  • Open Issues: 49
  • Releases: 20
Topics
cuda gpu mri mri-reconstruction nufft numerical-methods numpy tensorflow torch
Created over 3 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License

README.rst

=========
MRI-NUFFT
=========

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

.. list-table::
   :widths: 25 25 25
   :header-rows: 0

   * - .. image:: https://mind-inria.github.io/mri-nufft/_static/coverage_badge.svg
     - .. image:: https://github.com/mind-inria/mri-nufft/actions/workflows/test-ci.yml/badge.svg
     - .. image:: https://github.com/mind-inria/mri-nufft/workflows/CD/badge.svg
   * - .. image:: https://img.shields.io/badge/style-black-black
     - .. image:: https://img.shields.io/badge/docs-Sphinx-blue
        :target: https://mind-inria.github.io/mri-nufft
     - .. image:: https://img.shields.io/pypi/v/mri-nufft
        :target: https://pypi.org/project/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).

.. raw:: html 
   
   
.. image:: https://github.com/mind-inria/mri-nufft/raw/master/docs/_static/mri-nufft-scheme.svg :width: 700 :align: center Modularity and Integration of MRI-nufft with the python computing libraries. .. raw:: html
Usage ===== .. TODO use a include file directive. .. code-block:: python 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 .. TODO Add image For improved image quality, embed these steps in a more complex reconstruction pipeline (for instance using `PySAP `_). Want to see more ? - Check the `Documentation `_ - Or go visit the `Examples `_ 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: - `pysap-mri `_ - `snake-fmri `_ - `deepinv `_ Add yours by opening a PR !

Owner

  • Name: mind-inria
  • Login: mind-inria
  • Kind: organization

JOSS Publication

MRI-NUFFT: Doing non-Cartesian MRI has never been easier
Published
April 15, 2025
Volume 10, Issue 108, Page 7743
Authors
Pierre-Antoine Comby ORCID
MIND, Inria, France, Université Paris-Saclay / CEA, France
Guillaume Daval-Frérot ORCID
Chipiron, France
Caini Pan
MIND, Inria, France, Université Paris-Saclay / CEA, France
Asma Tanabene
MIND, Inria, France, Université Paris-Saclay / CEA, France, Siemens Healthineers, Princeton, United States of America
Léna Oudjman
MIND, Inria, France, Université Paris-Saclay / CEA, France
Matteo Cencini
INFN, Pisa Division, Italy
Philippe Ciuciu ORCID
MIND, Inria, France, Université Paris-Saclay / CEA, France
Chaithya Gr ORCID
MIND, Inria, France, Université Paris-Saclay / CEA, France
Editor
Kevin M. Moerman ORCID
Tags
MRI NUFFT Numpy CUDA Torch

GitHub Events

Total
  • Fork event: 9
  • Create event: 26
  • Commit comment event: 22
  • Release event: 4
  • Issues event: 62
  • Watch event: 30
  • Delete event: 31
  • Member event: 1
  • Issue comment event: 186
  • Push event: 223
  • Pull request review comment event: 295
  • Pull request review event: 206
  • Pull request event: 70
Last Year
  • Fork event: 9
  • Create event: 26
  • Commit comment event: 22
  • Release event: 4
  • Issues event: 62
  • Watch event: 30
  • Delete event: 31
  • Member event: 1
  • Issue comment event: 186
  • Push event: 223
  • Pull request review comment event: 295
  • Pull request review event: 206
  • Pull request event: 70

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 78
  • Total pull requests: 131
  • Average time to close issues: 2 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 17
  • Total pull request authors: 14
  • Average comments per issue: 0.92
  • Average comments per pull request: 1.14
  • Merged pull requests: 82
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 38
  • Pull requests: 49
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 12 days
  • Issue authors: 10
  • Pull request authors: 12
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.16
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • chaithyagr (34)
  • paquiteau (19)
  • Daval-G (5)
  • bwheelz36 (3)
  • AsmaTANABEN (2)
  • alineyyy (2)
  • mcencini (2)
  • femaleprog (2)
  • mmlyj (1)
  • BenjaminisCoding (1)
  • sabbir-ahmed12 (1)
  • mcgrathcm (1)
  • dennishnf (1)
  • wenshangwang (1)
  • Mrswolf (1)
Pull Request Authors
  • chaithyagr (42)
  • paquiteau (42)
  • Daval-G (12)
  • Lenoush (8)
  • philouc (6)
  • alineyyy (5)
  • mcencini (4)
  • femaleprog (3)
  • AsmaTANABEN (3)
  • mbertrait (2)
  • yacineibri (1)
  • j-obriot (1)
  • DlWAT (1)
  • ckolbPTB (1)
Top Labels
Issue Labels
feature request (13) trajectories (10) good first issue (9) nufft-backend (8) bug (4) documentation (4) CI (3) question (2) tests (2) density (1) perf:gpu_mem (1) help wanted (1) perf (1)
Pull Request Labels
trajectories (9) documentation (3) bug (3) feature request (2) good first issue (2) off-resonance-correction (1) density (1) answer (1)

Dependencies

.github/workflows/master-cd.yml actions
  • actions/checkout v3 composite
  • actions/deploy-pages v1 composite
  • actions/setup-python v4 composite
  • actions/upload-pages-artifact v1 composite
  • codecov/codecov-action v3 composite
.github/workflows/tags-release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/test-ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • matplotlib *
  • numpy *
  • scipy *
  • tqdm *