|
|
| File Information |
| Description |
The Matlab code in this folder implements 1D-3D NUFFTs via fast Gaussian gridding. The convolution loops are written as C programs to be compiled as mex files from the Matlab command prompt. Further mathematical details about the code can be found in L. Greengard and J. Lee, "Accelerating the Nonuniform Fast Fourier Transform," SIAM Review, Vol. 46, No. 3, pp. 443-454.
I have included three example scripts (fgg_1D_experiment.m, etc)that create a simple 1D/2D/3D image and compare the DFT with the Type-I NUFFT (DFT from nonuniform data to uniform image grid). The image data are transformed back to the data domain via the adjoint operator (a Type-II NUFFT--uniform grid DFTed to nonuniform data locations--implemented with IFFTs instead of FFTs) and back again to the image domain to demonstrate the numerical accuracy. This code does not include Type-III transforms (nonuniform-->nonuniform), but one could easily be developed by combining the Type-I and Type-II functions provided here.
Before running any of the test scripts, remember to compile the mex files in the Matlab terminal by executing these commands:
mex FGG_Convolution1D.c
mex FGG_Convolution1D_type2.c
mex FGG_Convolution2D.c
mex FGG_Convolution2D_type2.c
mex FGG_Convolution3D.c
mex FGG_Convolution3D_type2.c
If you publish anything that uses this code, we ask that you please reference the source, as this will encourage future funding for more free Air Force Research Laboratory (AFRL) products. This code was developed through the Air Force Office of Scientific Research (AFOSR) Lab Task "Moving-Target Radar Feature Extraction."
Project Manager: Arje Nachman
Principal Investigator: Matthew Ferrara |
| MATLAB release |
MATLAB 7.6 (R2008a)
|
| Other requirements |
c compiler |
| Zip File Content |
|
| Other Files |
license.txt, NUFFT_code/license.txt, NUFFT_code/NUFFT_code/fgg_1D_experiment.m, NUFFT_code/NUFFT_code/FGG_1d_type1.m, NUFFT_code/NUFFT_code/fgg_2D_experiment.m, NUFFT_code/NUFFT_code/FGG_2d_type1.m, NUFFT_code/NUFFT_code/fgg_3D_experiment.m, NUFFT_code/NUFFT_code/FGG_3d_type1.m, NUFFT_code/NUFFT_code/FGG_Convolution1D.c, NUFFT_code/NUFFT_code/FGG_Convolution1D_type2.c, NUFFT_code/NUFFT_code/FGG_Convolution2D.c, NUFFT_code/NUFFT_code/FGG_Convolution2D_type2.c, NUFFT_code/NUFFT_code/FGG_Convolution3D.c, NUFFT_code/NUFFT_code/FGG_Convolution3D_type2.c, NUFFT_code/NUFFT_code/iFGG_1d_type2.m, NUFFT_code/NUFFT_code/iFGG_2d_type2.m, NUFFT_code/NUFFT_code/iFGG_3d_type2.m
|
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Updates |
| 13 Oct 2009 |
Bug was fixed in 2D code. Grammatical error fixed in notes (thanks, Cris). |
|
MATLAB Central Terms of Use
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for
all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content.
Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available
via MATLAB Central.
Read the complete Terms prior to use.
Contact us at files@mathworks.com