|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| 3rdparty/ | H | 03-May-2022 | - | 6,475 | 2,632 |
| applications/ | H | 25-Aug-2020 | - | 17,879 | 13,428 |
| doc/assets/ | H | 25-Aug-2020 | - | | |
| doxygen/ | H | 03-May-2022 | - | 2,695 | 2,162 |
| examples/ | H | 25-Aug-2020 | - | 15,376 | 13,306 |
| include/ | H | 25-Aug-2020 | - | 3,246 | 2,517 |
| julia/ | H | 25-Aug-2020 | - | 2,666 | 2,081 |
| kernel/ | H | 25-Aug-2020 | - | 21,791 | 16,513 |
| m4/ | H | 25-Aug-2020 | - | 2,070 | 1,902 |
| matlab/ | H | 25-Aug-2020 | - | 18,072 | 15,273 |
| support/ | H | 03-May-2022 | - | 2,454 | 2,219 |
| tests/ | H | 25-Aug-2020 | - | 18,329 | 16,859 |
| .gitignore | H A D | 25-Aug-2020 | 3.4 KiB | 157 | 148 |
| .travis.yml | H A D | 25-Aug-2020 | 7 KiB | 156 | 154 |
| AUTHORS | H A D | 25-Aug-2020 | 1.9 KiB | 60 | 45 |
| CONVENTIONS | H A D | 25-Aug-2020 | 903 | 25 | 18 |
| COPYING | H A D | 25-Aug-2020 | 17.6 KiB | 341 | 281 |
| ChangeLog | H A D | 25-Aug-2020 | 8.2 KiB | 196 | 161 |
| Makefile.am | H A D | 25-Aug-2020 | 3.5 KiB | 129 | 101 |
| README | H A D | 25-Aug-2020 | 6 KiB | 171 | 140 |
| README.md | H A D | 25-Aug-2020 | 6 KiB | 171 | 140 |
| aminclude.am | H A D | 25-Aug-2020 | 3.3 KiB | 157 | 107 |
| bootstrap.sh | H A D | 25-Aug-2020 | 1.5 KiB | 42 | 7 |
| configure.ac | H A D | 25-Aug-2020 | 25.8 KiB | 664 | 568 |
| doxygen.dox | H A D | 25-Aug-2020 | 3.7 KiB | 92 | 90 |
| linux-build-mex.sh | H A D | 25-Aug-2020 | 10.5 KiB | 301 | 227 |
| macos-build-mex.sh | H A D | 25-Aug-2020 | 7.6 KiB | 210 | 158 |
| nfft3.pc.in | H A D | 25-Aug-2020 | 261 | 12 | 10 |
| windows-build-dll.sh | H A D | 25-Aug-2020 | 13.4 KiB | 345 | 266 |
README
1[![Build Status](https://travis-ci.org/NFFT/nfft.svg?branch=develop)](https://travis-ci.org/NFFT/nfft)
2
3NFFT - Nonequispaced FFT
4=========================
5
6Overview
7--------
8NFFT is a software library, written in C, for computing non-equispaced fast
9Fourier transforms and related variations. It implements the following
10transforms:
11
121. Non-equispaced fast Fourier transform (NFFT)
13 - forward transform *(NFFT)*, i.e. frequency to time/space domain
14 - adjoint transform *(adjoint NFFT)*, i.e. time/space to frequency domain
15
162. Generalisations
17 - to arbitrary nodes in time *and* frequency domain *(NNFFT)*
18 - to real-valued data, i.e. (co)sine transforms, *(NFCT, NFST)*
19 - to the sphere S^2 *(NFSFT)*
20 - to the rotation group *(NFSOFT)*
21 - to the hyperbolic cross *(NSFFT)*
22
233. Generalised inverse transformations based on iterative methods, e.g. CGNR/CGNE
24
25Some examples for application of these transforms are provided:
26
271. Medical imaging
28 - magnetic resonance imaging (mri)
29 - computerised tomography (radon)
30
312. Summation schemes
32 - fast summation (fastsum)
33 - fast Gauss transform (FGT)
34 - singular kernels
35 - zonal kernels
36
373. polar FFT, discrete Radon transform, ridgelet transform
38
39Detailed API documentation in HTML format can be found in
40`doc/html/index.html`, if you are working from a release tarball.
41When working from a source repository, the documentation can be
42generated with Doxygen.
43```
44make doc
45```
46
47Building
48--------
49The NFFT depends on the [FFTW](https://fftw.org) library, which is available for many Linux distros, Homebrew on macOS and MSYS2 on Windows. If you compile the FFTW yourself, it should be configured `--enable-shared`.
50
51When working from a source repository, you need to run libtoolize and autoreconf first. A bash script to do this is provided.
52```
53./bootstrap.sh
54```
55
56The rest of the build process is standard.
57```
58./configure --enable-all --enable-openmp [add options as necessary, see below]
59```
60
61Alternatively, you might run the configure script for Matlab.
62```
63./configure --enable-all --enable-openmp --with-matlab=/path/to/matlab
64```
65
66Here are some useful optional flags for `./configure`:
67* `--enable-all` specifies that all modules should be compiled,
68* `--enable-openmp` enables the multicore support and
69* `--enable-julia` specifies that the julia interface will be compiled.
70* `--with-matlab=path/to/matlab` specifies a path of Matlab, and
71* `--with-octave=path/to/octave` does the same for GNU Octave.
72* For a list of all available options, run `./configure --help`.
73
74Build the software.
75```
76make
77```
78
79Optionally, unit tests may be run.
80```
81make check
82```
83
84Optionally, install NFFT on your system.
85```
86make install
87```
88
89Citing
90------
91The most current general paper, the one that we recommend if you wish to cite NFFT, is *Keiner, J., Kunis, S., and Potts, D.
92''Using NFFT 3 - a software library for various nonequispaced fast Fourier transforms''
93ACM Trans. Math. Software,36, Article 19, 1-30, 2009*.
94
95Feedback
96--------
97Your comments are welcome! This is the third version of the library and may
98not be as robust or well documented as it should be. Please keep track of bugs
99or missing/confusing instructions and report them to
100[Daniel Potts](mailto:potts@mathematik.tu-chemnitz.de).
101The postal address is
102
103```
104 Prof. Dr. Daniel Potts
105 TU Chemnitz, Fakultaet fuer Mathematik
106 Reichenhainer Str. 39
107 09107 Chemnitz
108 GERMANY
109```
110
111Alternatively, you might contact
112[Stefan Kunis](mailto:stefan.kunis@math.uos.de)
113or
114[Jens Keiner](mailto:jens@nfft.org).
115
116If you find NFFT useful, we would be delighted to hear about what application
117you are using NFFT for!
118
119Legal Information & Credits
120---------------------------
121Copyright (c) 2002, 2017 Jens Keiner, Stefan Kunis, Daniel Potts
122
123This software was written by Jens Keiner, Stefan Kunis and Daniel Potts.
124It was developed at the Mathematical Institute, University of
125Luebeck, and at the Faculty of Mathematics, Chemnitz University of Technology.
126
127NFFT3 is free software. You can redistribute it and/or modify it under the
128terms of the GNU General Public License as published by the Free Software
129Foundation; either version 2 of the License, or (at your option) any later
130version. If not stated otherwise, this applies to all files contained in this
131package and its sub-directories.
132
133This program is distributed in the hope that it will be useful,
134but WITHOUT ANY WARRANTY; without even the implied warranty of
135MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
136GNU General Public License for more details.
137
138You should have received a copy of the GNU General Public License
139along with this program; if not, write to the Free Software
140Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
141
142Directory structure
143-------------------
144
145File/Folder | Purpose
146------------------:| ------------------------------------------------------
1473rdparty (dir) | Third-party source code
148aclocal.m4 | Macros for configure script
149applications (dir) | Application programs (see 4) above)
150AUTHORS | Information about the authors of NFFT
151bootstrap.sh | Bootstrap shell script that call Autoconf and friends
152ChangeLog | A short version history
153config (dir) | Used by configure script
154configure | Configure script (created by calling ./bootstrap.sh)
155configure.ac | Autoconf configure script template
156CONVENTIONS | Internal coding conventions
157COPYING | Information about redistributing NFFT
158doc (dir) | User and developer documentation
159examples (dir) | Simple examples for using NFFT routines
160include (dir) | Header files
161INSTALL | Installation instructions
162julia (dir) | Julia interface for nfft
163kernel (dir) | Source code for core library routines
164Makefile.am | Automake Makefile template
165Makefile.in | Makefile template generated from Makefile.am, processed by configure script
166matlab (dir) | Matlab MEX interfaces for nfft, nfsft, nfsoft, nfft
167NEWS | New and noteworthy
168README | This file.
169README.md | This file
170tests (dir) | CUnit tests
171
README.md
1[![Build Status](https://travis-ci.org/NFFT/nfft.svg?branch=develop)](https://travis-ci.org/NFFT/nfft)
2
3NFFT - Nonequispaced FFT
4=========================
5
6Overview
7--------
8NFFT is a software library, written in C, for computing non-equispaced fast
9Fourier transforms and related variations. It implements the following
10transforms:
11
121. Non-equispaced fast Fourier transform (NFFT)
13 - forward transform *(NFFT)*, i.e. frequency to time/space domain
14 - adjoint transform *(adjoint NFFT)*, i.e. time/space to frequency domain
15
162. Generalisations
17 - to arbitrary nodes in time *and* frequency domain *(NNFFT)*
18 - to real-valued data, i.e. (co)sine transforms, *(NFCT, NFST)*
19 - to the sphere S^2 *(NFSFT)*
20 - to the rotation group *(NFSOFT)*
21 - to the hyperbolic cross *(NSFFT)*
22
233. Generalised inverse transformations based on iterative methods, e.g. CGNR/CGNE
24
25Some examples for application of these transforms are provided:
26
271. Medical imaging
28 - magnetic resonance imaging (mri)
29 - computerised tomography (radon)
30
312. Summation schemes
32 - fast summation (fastsum)
33 - fast Gauss transform (FGT)
34 - singular kernels
35 - zonal kernels
36
373. polar FFT, discrete Radon transform, ridgelet transform
38
39Detailed API documentation in HTML format can be found in
40`doc/html/index.html`, if you are working from a release tarball.
41When working from a source repository, the documentation can be
42generated with Doxygen.
43```
44make doc
45```
46
47Building
48--------
49The NFFT depends on the [FFTW](https://fftw.org) library, which is available for many Linux distros, Homebrew on macOS and MSYS2 on Windows. If you compile the FFTW yourself, it should be configured `--enable-shared`.
50
51When working from a source repository, you need to run libtoolize and autoreconf first. A bash script to do this is provided.
52```
53./bootstrap.sh
54```
55
56The rest of the build process is standard.
57```
58./configure --enable-all --enable-openmp [add options as necessary, see below]
59```
60
61Alternatively, you might run the configure script for Matlab.
62```
63./configure --enable-all --enable-openmp --with-matlab=/path/to/matlab
64```
65
66Here are some useful optional flags for `./configure`:
67* `--enable-all` specifies that all modules should be compiled,
68* `--enable-openmp` enables the multicore support and
69* `--enable-julia` specifies that the julia interface will be compiled.
70* `--with-matlab=path/to/matlab` specifies a path of Matlab, and
71* `--with-octave=path/to/octave` does the same for GNU Octave.
72* For a list of all available options, run `./configure --help`.
73
74Build the software.
75```
76make
77```
78
79Optionally, unit tests may be run.
80```
81make check
82```
83
84Optionally, install NFFT on your system.
85```
86make install
87```
88
89Citing
90------
91The most current general paper, the one that we recommend if you wish to cite NFFT, is *Keiner, J., Kunis, S., and Potts, D.
92''Using NFFT 3 - a software library for various nonequispaced fast Fourier transforms''
93ACM Trans. Math. Software,36, Article 19, 1-30, 2009*.
94
95Feedback
96--------
97Your comments are welcome! This is the third version of the library and may
98not be as robust or well documented as it should be. Please keep track of bugs
99or missing/confusing instructions and report them to
100[Daniel Potts](mailto:potts@mathematik.tu-chemnitz.de).
101The postal address is
102
103```
104 Prof. Dr. Daniel Potts
105 TU Chemnitz, Fakultaet fuer Mathematik
106 Reichenhainer Str. 39
107 09107 Chemnitz
108 GERMANY
109```
110
111Alternatively, you might contact
112[Stefan Kunis](mailto:stefan.kunis@math.uos.de)
113or
114[Jens Keiner](mailto:jens@nfft.org).
115
116If you find NFFT useful, we would be delighted to hear about what application
117you are using NFFT for!
118
119Legal Information & Credits
120---------------------------
121Copyright (c) 2002, 2017 Jens Keiner, Stefan Kunis, Daniel Potts
122
123This software was written by Jens Keiner, Stefan Kunis and Daniel Potts.
124It was developed at the Mathematical Institute, University of
125Luebeck, and at the Faculty of Mathematics, Chemnitz University of Technology.
126
127NFFT3 is free software. You can redistribute it and/or modify it under the
128terms of the GNU General Public License as published by the Free Software
129Foundation; either version 2 of the License, or (at your option) any later
130version. If not stated otherwise, this applies to all files contained in this
131package and its sub-directories.
132
133This program is distributed in the hope that it will be useful,
134but WITHOUT ANY WARRANTY; without even the implied warranty of
135MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
136GNU General Public License for more details.
137
138You should have received a copy of the GNU General Public License
139along with this program; if not, write to the Free Software
140Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
141
142Directory structure
143-------------------
144
145File/Folder | Purpose
146------------------:| ------------------------------------------------------
1473rdparty (dir) | Third-party source code
148aclocal.m4 | Macros for configure script
149applications (dir) | Application programs (see 4) above)
150AUTHORS | Information about the authors of NFFT
151bootstrap.sh | Bootstrap shell script that call Autoconf and friends
152ChangeLog | A short version history
153config (dir) | Used by configure script
154configure | Configure script (created by calling ./bootstrap.sh)
155configure.ac | Autoconf configure script template
156CONVENTIONS | Internal coding conventions
157COPYING | Information about redistributing NFFT
158doc (dir) | User and developer documentation
159examples (dir) | Simple examples for using NFFT routines
160include (dir) | Header files
161INSTALL | Installation instructions
162julia (dir) | Julia interface for nfft
163kernel (dir) | Source code for core library routines
164Makefile.am | Automake Makefile template
165Makefile.in | Makefile template generated from Makefile.am, processed by configure script
166matlab (dir) | Matlab MEX interfaces for nfft, nfsft, nfsoft, nfft
167NEWS | New and noteworthy
168README | This file.
169README.md | This file
170tests (dir) | CUnit tests
171