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 237734fb34632e99c5fbdcab64f7124a2365762f authored by Your Name on 17 December 2016, 09:10:21 UTC, committed by Your Name on 17 December 2016, 09:10:21 UTC
Change README
1 parent f180503
  • Files
  • Changes
  • 26c81f8
  • /
  • 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:237734fb34632e99c5fbdcab64f7124a2365762f
directory badge Iframe embedding
swh:1:dir:26c81f83e7cdd7bafe23d3fda4686442d5ef483a
content badge Iframe embedding
swh:1:cnt:c0f4abcfcc33e82dfbad042b838ce45f353325d6
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 that estimates the frequency components on equispaced grids.

NUFFT can calculate the frequency components outside grids.


### Installation:

From pypi:

$ pip install pynufft

From github:

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

$ python setup.py install

### 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. Numpy, Scipy, Matplotlib are prerequisites.

### Summary

Please find the example in test_2D().

The forward transform (the forward() method) involves the following steps:

1. Scaling (the x2xx() method)

2. FFT (the xx2k() method)

3. Convert spectrum from array to vector: (the k2vec() method)

4. Interpolation (the vec2y() method)


The adjoint transform (the backward() 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, pynufft can enjoy the full speed of MKL FFT inside the Anaconda Python environment.

### Other nufft implementations in Python:

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

pynfft: Python bindings around the NFFT C-library, which uses the speed of FFTW, (https://github.com/ghisvail/pyNFFT), GPL v3

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

### Acknowledgements

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)

And Fessler's 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