Fast Polar Fourier Transform Michael Elad* Scientific Computing and Computational Mathematics Stanford University FoCM Conference, August 2002 Image and Signal Processing Workshop IMA - Minneapolis * Joint work with Dave Donoho (Stanford-Statistics), Amir Averbuch (TAU-CS-Israel), and Ronald Coifman (Yale-Math) -1- Collaborators Dave Donoho Amir Averbuch Ronald Coifman Statistics Department Stanford CS Department Tel-Aviv University Math. Department Yale -2- Fast Polar Fourier Transform FFT is one of top 10 algorithms of 20th century. We'll extend utility of FFT algorithms to new class of settings in image processing. Create a tool which is: Free of emotional involvement, & Freely available over the internet. Current Stage: We have the tool, and its analysis, Have not demonstrated applications yet. -3- Agenda 1. ThinkingThinking Polar – Continuum Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art Background & Motivation 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis New Approach and its Results 8. Conclusions -4- 1. Thinking Polar - Continuum For today f(x,y) function of (x,y)2 Continuous Fourier Transform f̂ u, v f x , y f x , y exp ixu iyvdxdy Polar coordinates: u=r·cos() , v=r·sin() ~ f r , f̂ r cos(), r sin() f x, y exp ixr cos() iy sin()dxdy Important Processes easy to continuum polar domain. -5- 1. Thinking Polar - Continuum v r -5 0 -4 -3 1 r -2 -1 u 2 3 0 1 4 2 5 3 4 5 6 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 1 2 3 4 5 6 7 -6- 1. Thinking Polar - Continuum Natural Operations: 1. Rotation Using the polar coordinates, rotation is simply a shift in the angular variable. Q0 – planar rotation by 0 degrees Rotation f x, y f Q x, y 0 0 In polar coordinates – shift in angular variable ~ ~ f0 r , f r , 0 -7- 1. Thinking Polar - Continuum Natural Operations: 2. Scaling Using the polar coordinates, 2D scaling is simply a 1D scaling in the radial variable. S – planar scaling by a factor Scaling f x, y f Sx, y In polar coordinates – 1D scale in radial variable ~ ~ f r , Const f r , Log-Polar – shift in the radial variable. -8- 1. Thinking Polar - Continuum Natural Operations: 3. Registration Using the polar coordinates, rotation+shift registration simply amounts to correlations. f(x,y) and g(x,y): f x, y g Q x, y x 0 , y0 0 Goal: recover x 0 , y 0 , 0 . ~ Angular cross-correlation between f r , and ~ g r , – Estimate 0. Rotation & cross-correlation on regular Fourier transform gives the shift. -9- 1. Thinking Polar - Continuum Natural Operations: 4. Tomography Using the polar coordinates, we obtain a method to obtain the Inverse Radon Transform. Radon Transform: Rf t , f ( x , y)x cos() y sin() t dxdy Goal: Given Rf(t,), recover f. ~ Projection-Slice-Theorem: 1Rf t , f r , . ~ Reconstruction: Rf f f̂ f . - 10 - 1. Thinking Polar - Continuum More Natural Operations New orthonormal bases: Ridgelets, Curvelets, Fourier Integral operations, Ridgelet packets. Analysis of textures. r Analysis of singularities. More … - 11 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 12 - 2. Thinking Polar - Discrete Certain procedures very important to digitize Rotation, Scaling, Registration, Tomography, and … These look so easy in continuous theory – Can’t we use it in the discrete domain? Why not Polar-FFT? - 13 - 2. Thinking Polar - Discrete The FFT Miracles 1D Discrete Fourier Transform Uniformly sampled in time and frequency – FFT. Complexity – O(5Nlog2N) instead of O(N2). 2D Discrete Fourier Transform Cartesian grid in space and frequency – Separability Only 1D-FFT operations. Smart memory management. - 14 - 2. Thinking Polar - Discrete 2D DFT – Cartesian Grid N 1 x 2n1 N 2 y 2 N 2 n N 2 n ,n N y 1 2 2 - 2 N x - - 15 - 2D FFT Complexity Complexity: O(10N2log2N) instead of O(N4). Important Feature: All operations are 1D – leading to efficient cache usage Cartesian N-by-N Data 5N2logN 1D FFT to columns 5N2logN 1D FFT to rows Cartesian 2D-FFT 10N2logN - 16 - 2. Thinking Polar - Discrete Discrete Polar Coordinates? y Choice of grid? NS 1 n1 r r NS r n1 0 NSr NS 1 2n2 , NS n2 0 Resulting with NS rays with NSr elements - x on each: For S=Sr=1, we have N2 grid points. 2 NS - - 17 - 2. Thinking Polar - Discrete Grid Problematics y Grid spacing? Fate of corners? - x No X-Y separability !! - - 18 - 2. Thinking Polar - Discrete Polar FFT - Current Status Current widespread belief - There cannot be a fast method for DFT on the polar grid. See e.g. The DFT: an owner’s manual, Briggs and Henson, SIAM, 1995, p. 284. Consequence of Non-existence: Continuous Fourier – vague inspiration only. Fourier in implementations widely deprecated. Fragmentation: each field special algorithm. - 19 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 20 - 3. Current State-Of-The-Art Assessing T: Unequally-spaced FFT (USFFT) Data in Cartesian set. Approximate transform in non-Cartesian set. Oriented to 1D – not 2D and definitely not Polar. Assessing T †: For Tomography Data in Polar coordinates in frequency. Approximate inverse transform to Cartesian grid. Inspired by the projection-slice-theorem. - 21 - 3. Current State-of-the-Art USFFT - Rational y 3 + Destination Polar grid O Critically sampled Cartesian grid 2 1 0 o Over-sampled Cartesian grid -1 -2 -3 -3 -2 -1 0 1 2 3 x - 22 - 3. Current State-of-the-Art USFFT - Detailed Over-sample Cartesian grid. Rapidly evaluate FT: Values F. Possibly - partial derivatives. Associate Cartesian neighbors to each polar grid point. Approximate interpolation. - 23 - 3. Current State-of-the-Art Our Reading of Literature Boyd (1992) – Over-sampling and interpolation by Euler sum or Langrangian interpolation. Dutt-Rokhlin (1993,1995) - Over-sampling and interpolation by the Fast-Multipole method. Anderson-Dahleh (1996) – Over-sampling and obtaining the partial derivatives, and then interpolating by Taylor series. Ware (1998) – Survey on USFFT methods. - 24 - 3. Current State-of-the-Art USFFT Problematics Several involved parameters: Over-sampling factor, Method of interpolation, and Order of interpolation. Good accuracy calls for extensive over-sampling. Correspondence overhead: spoils vectorizability of algorithm - causes high cache misses. Emotionally involved. - 25 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 26 - 4. Our Approach - General We propose a Fast Polar Fourier Transform with the following features: Low complexity – O(Const·N2log2N) Vectorizability – 1D operations only Non-Expansiveness – Factor 2 (or 4) only Stability – via Regularization Accuracy – 2 orders of magnitude over USFFT methods - 27 - Our Strategy Fast and Exact Fourier Trans. on a polar-like grid 1D interpolations to the polar grid Pseudo Polar Grid - 28 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 29 - 5. The Pseudo-Polar FFT Developed by Averbuch, Coifman, Donoho, Israeli, and Waldén (1998). Basic idea: A “Polar-Like” grid that enables EXACT Fourier transform, FAST computation, 1D operations only. Applications: Tomography, image processing, Ridgelets, and more. - 30 - 5. The Pseudo-Polar FFT The Pseudo-Polar Skeleton NSr equi-spaced concentric squares, NSt ‘equi-spaced’ (not in angle) We separate our treatment to basically vertical and basically horizontal lines. y 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 31 - 5. The Pseudo-Polar FFT Fast Fourier Transform The destination samples are uniformly sampled vertically, Per each row, destination samples are uniformly sampled horizontally, Fractional Fourier Transform is the answer (Chirp-Z), with complexity: O(20Nlog2N). [Why?] y 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 32 - 5. The Pseudo-Polar FFT PP-FFT versus 2D-FFT Cartesian N-by-N Data PP-FFT 5N2logN 1D FFT to columns 20N2logN 1D FRFFT to rows PP-FFT 25N2logN vertical 2D-FFT 5N2logN 1D FFT to columns 5N2logN 1D FFT to rows Cartesian 2D-FFT 10N2logN - 33 - 5. The Pseudo-Polar FFT The PP-FFT - Properties Exact in exact arithmetic. No parameters involved !! Complexity - O(50·N2log2N) versus O(N4). 1D operations only. For the chosen grid (Sr=St=2) - 5. - 34 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 35 - 6. From Pseudo-Polar to Polar Fast and Exact Fourier Trans. on a polar-like grid 2 stages of 1D interpolations to get to the polar grid - 36 - 6. From Pseudo-Polar to Polar The Interpolation Stages y 3 The original PseudoPolar Grid Warping to equi-spaced angles Warping each ray to have the same step 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 37 - 6. From Pseudo-Polar to Polar First Interpolation Stage y Rotation of the rays to have equi-spaced angles (S-Pseudo-Polar grid): Every row is a trigonometric polynomial of order N, FRFT on over-sampled array and 1D interpolation, Very accurate. 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 38 - 6. From Pseudo-Polar to Polar The Required Warping New x Basically vertical lines: 3 NS t 2 1 2 2m , y x y NSr NSt ,m NS t 2 y 2 1 0 NS t -1 1 m 2 x y tan 2NSt m NS t -2 2 [Why?] -3 -3 -2 -1 0 1 2 3 Original x - 39 - 6. From Pseudo-Polar to Polar The Actual Interpolation Cartesian Data N-by-N PP-FFT 5N2logN S-PP-FFT 5N2logN 1D FFT to columns 20N2logN 1D FRFFT to rows 1D FFT to columns 20N2S·log(NS) 1D Over-sampled (S) FRFFT to rows O{N2} 25N2logN 1D Interpolation PP-FFT Vertical (20S+5)N2logN S-PP-FFT Vertical - 40 - 6. From Pseudo-Polar to Polar Second Interpolation Stage y As opposed to the previous step, the rays are not trigonometric polynomials of order N, We proved that the rays are band-limited (smooth) functions, Over-sampling and interpolation is expected to perform well. 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 41 - 6. From Pseudo-Polar to Polar Over-Sampling Along Rays Over-sampling along rays cannot be done by taking the 1D ray and over-sampling it. Sr>1: More concentric squares. Sr longer 1D-FFT’s at the beginning of the algorithm. Sr times FRFFT operations. y 3 2 1 0 -1 -2 -3 -3 -2 -1 0 1 2 3 x - 42 - 6. From Pseudo-Polar to Polar The Actual Interpolation Cartesian Data N-by-N N·5(NSr)·log(NSr) Full Polar FFT O{40SrStN2logN} 1DFFT to over-sampled columns NSr·20(NSt)·log(NSt) 1D Over-sampled (S) FRFFT to rows O{(NSr)·N} Polar-FFT Vertical O{N·N} 1D Interpolation 1D Interpolation S-PP-FFT Vertical - 43 - 6. From Pseudo-Polar to Polar To Summarize We propose a Fast Polar Fourier Transform with the following features: Low complexity – O(Const·N2log2N) Vectorizability – 1D operations only Non-Expansiveness – Factor 2 (or 4) only Stability – via Regularization Accuracy – 2 orders of magnitude over USFFT methods - 44 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 45 - 7. Algorithm Analysis We have a code performing the Polar-FFT in Matlab: Y=Polar_FFT(X); OR Y=Polar_FFT(X,St,Sr); Where: X – Input array of N-by-N samples St,Sr – Over-sampling factors in the approximations Y – Polar-FFT result as an 2N-by-2N array with rows being the rays and columns being the concentric circles. - 46 - 7. Algorithm Analysis The Implementation The current Polar-FFT code implements Taylor method for the first interpolation stage and spline ONLY (no-derivatives) for the second stage. For comparison, we demonstrate the performance of the USFFT method with over-sampling S and interpolation based on the Taylor interpolation (found to be the best). - 47 - 7. Algorithm Analysis Error for Specific Signal ||Approximation error||1 2 10 • Input is random 32-by-32 array, • USFFT method uses one parameter whereas there are two for the up-sampling in the Polar-FFT. • Thumb rule: Sr·St= S2. Thumb rule: Sr=4St 1 10 0 10 St=1 -1 Taylor USFFT 10 -2 St=2 10 -3 10 St=4 St=3 10 20 30 40 St·Sr or S2 50 60 70 80 90 100 - 48 - 7. Algorithm Analysis Error For Specific Signals Similar curves obtained of ||*|| and ||*||2 norms. Similar behavior is found for other signals. Conclusion: For the proper choice of St and Sr, we get 2-orders-of-magnitude improvement in the accuracy comparing to the best USFFT method. Further improvement should be achieved for Taylor interpolation in the second stage. US-FFT takes longer due the 2D operations. - 49 - 7. Algorithm Analysis The Transform as a Matrix Approximate All the involved transformations (accurate and approximate) are linear - they can be represented as a matrix of size 4N2-by-N2. Ya=Ax Or Yt=Tx True - 50 - 7. Algorithm Analysis Regularization of T/A An input signal of N-by-N is transformed to an array or 2N-by-2N. For N=16, T size is 1024-by-256, and 60,000 (bad for inversion). Adding the assumption that the Frequency corners should be zeroed, we obtain y TPolar x TPolar y T x 0 Corner and the condition number becomes 5 !!! - 51 - 7. Algorithm Analysis Discarding the Corners? If the given signal was sampled at 1.4142 the Nyquist Rate, the corners can be removed. If it is not, oversampling it can be done by FFT. 2 2 - 2 2 - - 52 - 7. Algorithm Analysis Error Analysis – Worst Signal Approximation error is : Worst error :x worst , e 2 worst A Polar FFT Arg / Max A T x ePolar FFT Polar FFT TPolar x 2 2 2 x2 x 2 Worst relative error : x rworst , erworst Arg / Max x A 2 Polar FFT TPolar x 2 2 TPolar x 2 - 53 - 7. Algorithm Analysis Worst Signal - Results N=16 TC 1024256, S=Sr=St=4 USFFT worst signal (abs. Value) =3.469 Polar-FFT worst signal (abs. Value) =0.0319 The worst case signal in the freq. Domain (abs. and shifted) The worst case signal in the freq. Domain (abs. and shifted) - 54 - 7. Algorithm Analysis Relative Worst Signal - Results Same parameters: N=16 TC 1024256, S=Sr=St=4 USFFT worst signal (abs. Value) =0.0613 Polar-FFT worst signal (abs. Value) =0.0023 The worst case signal in the freq. Domain (abs. and shifted) The worst case signal in the freq. Domain (abs. and shifted) - 55 - 7. Algorithm Analysis Comparing Approximations Solve for the eigenvalue/vectors of the matrix A Polar FFT TPolar H APolar FFT TPolar and obtained k , xk k 1 ( k in ascending order). N2 Compare to A USFFT by computing 2 k A USFFT TPolar xk 2 using the above eigenvectors and compare to k. - 56 - 7. Algorithm Analysis Comparing Approximations - Results 2 Mean Squared Error 10 [N=32] 0 10 USFFT -2 10 -4 10 -6 10 Polar-FFT -8 Eigen-space of the PolarFFT 10 -10 10 0 200 400 600 800 1000 1200 - 57 - Agenda 1. Thinking Polar – Continuum 2. Thinking Polar – Discrete 3. Current State-Of-The-Art 4. Our Approach - General 5. The Pseudo-Polar Fast Transform 6. From Pseudo-Polar to Polar 7. Algorithm Analysis 8. Conclusions - 58 - 8. Conclusions We have proposed a fast, accurate, stable, and reliable Polar Discrete-Fourier-Transform. By this we extend utility of FFT algorithms to new class of settings in image processing. Future plans: Extend the analysis and improve further, Demonstrate applications, Publish the code for the procedure and some applications over the internet. - 59 - Beyond this slides are the appendix or redundant slides - 60 - 3. Current State-of-the-Art USFFT for T† Over-sample Polar grid (and possibly partial derivatives). Associate polar neighbors to each Cartesian grid point. Approximate interpolation to get the Cartesian grid values. Perform the Cartesian 2D Inverse-FFT. - 61 - 3. Current State-of-the-Art Our Reading of Literature Direct Fourier method with over-sampling and interpolation (also called gridding) – see Natterer (1985). Jackson, Meyer, Nishimura and Macovski (1991). Schomberg and Timmer (1995). Choi and Munson (1998). - 62 - A. The Fractional Fourier Transform The Pseudo-Polar Sampling Basically vertical lines: NS r 1 2 2 y NS r NS r 2 NS t 2 1 y 3 2 1 0 2m y x NSt m NS t 2 -1 For St=Sr=1, we have N2 grid points -3 -2 -3 -2 -1 0 1 2 3 x - 63 - A. The Fractional Fourier Transform The Pseudo-Polar FT – Stage 1 F x , y N1 N1 k1 0 k 2 0 f k1 ,k 2 exp ik1x ik 2 y N1 N1 k1 0 k 2 0 2m f k1 ,k 2 exp ik1 y ik 2y NS t N1 k1 0 2m exp ik1 y NS t N1 k 2 0 f k1 ,k 2 exp ik 2 y f̂ k1 , This part is obtained by 1D-FFT along the rows !! - 64 - A. The Fractional Fourier Transform The Pseudo-Polar FT – Stage 2 N1 2y F x , y F[m, ] f̂ k1 , exp ik1m NSt k1 0 This summation takes columns of f̂ k1 , (being equispaced 1D signals) and computes Fourier transform of it. The destination grid points are also 1D equi-spaced in the frequency domain, BUT THEY ARE NOT IN THE RANGE [-,], but rather [-y,y]. This task is called Fractional Fourier/Chirp-Z Transform. - 65 - A. The Fractional Fourier Transform Fractional Fourier Transform N1 2km F[m] f k exp i N k 0 For =1 we get the ordinary 1D-FFT, For =-1 we get the ordinary 1D-IFFT, There exists a Fast Fractional Fourier Transform with the complexity of O(20·Nlog2N), based on 1D-FFT operations. See: Fast fractional Fourier transforms and applications, by D. H. Bailey and P. N. Swarztrauber, SIAM Review, 1991, and also Bluestein, Rabiner, and Rader (1960’s). - 66 - A. The Fractional Fourier Transform FR-FFT Detailed N1 2km F[m] f k exp i N k 0 N 1 m2 i N1 e N f k 2 i e N k m2 k 2 m2 f k exp i N k 0 k k 0 Post Multiplication k m2 exp i N Pre-Multiplication Convolution [Back] - 67 - B. From Pseudo-Polar to Polar Interpolation As 1D Operation F x , y N1 N1 k1 0 k 2 0 N1 k1 0 N1 k1 0 f k1 ,k 2 exp ik1x ik 2y m exp ik1 tan y 2NS t N1 k 2 0 f k1 ,k 2 exp ik 2y m ˆ exp ik1 tan y f k1 , 2NS t It is a 1D operation – But it is not the Fractional-FFT. Can be computed by over-sampled FRFFT and interpolation. - 68 -