Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision 2ad4af2993691473570433f3994b55580ce41764 authored by Your Name on 16 December 2016, 16:37:05 UTC, committed by Your Name on 16 December 2016, 16:37:05 UTC
update setup.py
change the version to 0.3
1 parent 21ce5cf
  • Files
  • Changes
  • 89485d0
  • /
  • README.md
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:2ad4af2993691473570433f3994b55580ce41764
directory badge Iframe embedding
swh:1:dir:89485d0d716e1c4c521ddac5bbb486357a34d2bc
content badge Iframe embedding
swh:1:cnt:9b27767f9bdcb0054f20e803d3b260c28cf37279
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
README.md
### pynufft 0.3: A Pythonic non-uniform fast Fourier transform

## Pythonic Non-uniform fast Fourier transform (NUFFT)

FFT is the standard method for calculating the frequency components of a signal. However, FFT only applies to equispaced grids. 

NUFFT can calculate the frequency components at non-equispaced locations.


## Installation:

for pypi:

pip install pynufft

from github:

git clone https://github.com/jyhmiinlin/pynufft

## Example:

Inside the Python environment, type:

>>>import pynufft.pynufft

>>>pynufft.pynufft.test_2D() # test the 2D case


## Features

pynufft is written in Python, using the standard Numpy/Scipy packages. Therefore, the external dependency has been avoided. 

Numpy, Scipy, Matplotlib are prerequisites.

## Summary

Please find the example in test_2D().

The forward transform (the foward() method) involves the following steps:
1. Scaling (the x2xx() method)
2. FFT (the xx2k() method)
3. Convert kspectrum from array to vector: (the k2vec() method)
4. Interpolation (the vec2y() method)

The adjoint transform (the bacward() method) involves the following steps:
1. Adjoint interpolation (the y2vec() method)
2. Convert kspectrum from vector to array: (the vec2k() method)
3. IFFT (the k2xx() method)
4. Rescaling (the x22x() method)

If y is the data from the forward transform:
y=pynufft.forward(image)

The inverse transform (the inverse_DC() method) implemented the density compensation method of J. Pipe, Magnetic Resonance in Medicine, 1999
image=pynufft.inverse_DC(y)

k-space spectrum can be obtained from the data (y):
kspectrum = pynufft.y2k_DC(y)

## Limitations

The speed of pynufft is suboptimal, because FFTW is currently unsupported in Numpy/Scipy. 

However, you can download commercial Python packages to accelerate pynufft. These commercial packages such as Anaconda or Intel Python are free for 

## Other nufft implementations in Python:

Python-nufft: Python bindings to Fortran nufft. (https://github.com/dfm/Python-nufft/), MIT license

pynfft: Python bindings of the C-library NFFT which is built on top of FFTW (https://github.com/ghisvail/pyNFFT), GPL v3

nufftpy: Pure Python NUFFT of Python-nufft (https://github.com/jakevdp/nufftpy). 

## Acknowlegements

Pynufft received financial supports from the Ministry of Science and Technology under grant MOST 105-2221-E-002-142-MY3.

If you find pynufft useful, please cite:

Lin J-M, Patterson AJ, Chang H-C, Gillard JH, Graves MJ. An iterative reduced field-of-view reconstruction for periodically rotated overlapping parallel lines with enhanced reconstruction ($
(http://www.ncbi.nlm.nih.gov/pubmed/26429249)

pynufft was based on the min-max MATLAB NUFFT program, described in the following paper:
Fessler JA, Sutton BP. Nonuniform fast Fourier transforms using min-max interpolation. IEEE Trans Signal Process 2003;51(2):560-574.

The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API