MRI-NUFFT
MRI-NUFFT: Doing non-Cartesian MRI has never been easier - Published in JOSS (2025)
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
- Host: GitHub
- Owner: mind-inria
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Homepage: https://mind-inria.github.io/mri-nufft/
- Size: 1.55 GB
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
- Repositories: 1
- Profile: https://github.com/mind-inria
JOSS Publication
MRI-NUFFT: Doing non-Cartesian MRI has never been easier
Published
April 15, 2025
Volume 10, Issue 108, Page 7743
Authors
Caini Pan
MIND, Inria, France, Université Paris-Saclay / CEA, France
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
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
MIND, Inria, France, Université Paris-Saclay / CEA, France
Matteo Cencini
INFN, Pisa Division, Italy
INFN, Pisa Division, Italy
Tags
MRI NUFFT Numpy CUDA TorchGitHub 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 *
