PPFT3D - Three-dimensional pseduo-polar Fourier transform and three-dimensional discrete Radon transform
The package contains functions for computing the
- 3D forward and inverse pseudo-polar Fourier transform
- 3D forward and inverse discrete Radon transform
The package contains implementations of three inversion algorithms for the pseudo-polar Fourier transform:
- A reference iterative implementation, described in the paper "A. Averbuch and Y. Shkolnisky. 3D Fourier based discrete Radon transform. Applied and Computational Harmonic Analysis, 15(1):33-69, 2003."
- A fast inversion, described in "Fast convolution based inversion of the pseudo-polar Fourier transform”, Y. Shkolnisky and S. Golubev, preprint.
- A GPU implementation of the code in 2.
- An implementation of a direct inversion, described in “A. Averbuch, G. Shabat and Y. Shkolnisky. Direct inversion of the 3D pseudo polar Fourier transform. SIAM Journal on Scientific Computing, 38 (2), A1100-A1120, 2016” (Highlights: running time independent of the input, no convergence criterion is required by the algorithm).
- Compile MEX files:
- From MATLAB,
cd
to the directory into which you have extracted the package - Run the script
makemex
- Note that this script should be executed only once to compile MEX files
- From MATLAB,
- Every time you want to use the package, run first the script
initpath
- refcode – Reference code for the 3D pseudo-polar Fourier transform. The functions in this directory are implemented exactly as described in the paper “A. Averbuch and Y. Shkolnisky. 3D Fourier based discrete Radon transform. Applied and Computational Harmonic Analysis, 15(1):33-69, 2003”, without any optimizations.
- fastinv – Fast convolution based inversion of the pseudo-polar Fourier transform.
- gpu - GPU implementation of the code in fastinv.
- common – Files that are common to the various routines
- tests – Various functions to test the accuracy and speed of the forward and inverse transforms.
Note that all functions are documented using MATLAB style documentation
ppft3
Forward 3D pseudo-polar Fourier transformippft3
Inverse 3D pseudo-polar Fourier transformPtP3
The gram operator of the preconditioned pseudo-polar Fourier transform, namely a consecutive application of the forward transform followed by its preconditioned adjointfippft3
Fast inverse pseudo-polar Fourier transformfippft3_gpu
GPU implementation offippft3
- A. Averbuch and Y. Shkolnisky. 3D Fourier based discrete Radon transform. Applied and Computational Harmonic Analysis, 15(1):33-69, 2003
- A. Averbuch, G. Shabat, and Y. Shkolnisky. Direct inversion of the 3D pseudo-polar Fourier transform. SIAM Journal on Scientific Computing 38(2): A1100-A1120, 2016