Unequally spaced FFT and fast Radon transform

30
Unequally spaced FFT and fast Radon transform Gregory Beylkin University of Colorado at Boulder IPAM September 14, 2004

Transcript of Unequally spaced FFT and fast Radon transform

Page 1: Unequally spaced FFT and fast Radon transform

Unequally spaced FFT and fast Radon transform

Gregory Beylkin

University of Colorado at Boulder

IPAMSeptember 14, 2004

Page 2: Unequally spaced FFT and fast Radon transform

Plan

1. The Radon Transform

2. Algorithms for the USFFT

3. Stolt migration

4. Directional filtering of seismograms using Slant Stack (Radon) transform.

5. Various extensions (as time permits).

1

Page 3: Unequally spaced FFT and fast Radon transform

The Radon Transform

Let us consider the classical Radon transform

(Ru)(s, ν) =

Rdu(x) δ(s − ν · x) dx,

where s ∈ R and ||ν|| = 1 and its dual

(R∗v)(y) =

||ν||=1

v(s, ν)|s=ν·y dν.

Inversion of the Radon transform using the projection slice theorem: we have

∫ ∞

−∞

(Ru)(s, ν) eispds =

Rdu(x) eipν·x dx = u(pν),

where p ∈ R and use the Fourier transform (easy on paper!).

2

Page 4: Unequally spaced FFT and fast Radon transform

Radon’s inversion formula

We have (J. Radon, 1917)R∗KR = I,

where K is a convolution with the kernel

K(s) =1

2(2π)d

∫ +∞

−∞

|r|d−1eirs dr.

This inversion formula was derived in applications (on more than one occasion) withoutknowing Radon’s result.

It is the so-called back-projection algorithm

3

Page 5: Unequally spaced FFT and fast Radon transform

The generalized Radon Transform

Define

(Ru)(s, ν) =

Rdu(x) a(x, ν) δ(s − φ(x, ν)) dx,

and its dual

(R∗v)(y) =

||ν||=1

b(y, ν) v(s, ν)|s=φ(y,ν) dν.

With an appropriate selection of b, we have

R∗KR = I + T,

where T is a smoothing pseudo-differential operator.

4

Page 6: Unequally spaced FFT and fast Radon transform

Discretization of integrals

Consider the Fourier integral

g(ξ) =

∫ ∞

−∞

f(x)eixξdx,

or the coefficients of the Fourier series

ck =

∫ π

−π

f(x)eixkdx,

where, for some reason (e.g., discontinuities of f ), equal spacing of nodes results in a loworder approximation.

5

Page 7: Unequally spaced FFT and fast Radon transform

Trigonometric sums

Using FFT requires sampling on an equally spaced grid: a significant limitation in manyapplications.

The direct evaluation of trigonometric sums

gn =

Np∑

l=1

gl e−2πiNxlξn,

n = 1, . . . , Nf , where gl ∈ C, |ξn|, |xl| ≤ 12 requires O(Nf · Np) operations.

Typically Nf ≈ Np ≈ N and Nf · Np = O(N2). The cost in 2D is O(N4) and in 3DO(N6) .

6

Page 8: Unequally spaced FFT and fast Radon transform

USFFT

Computation of the sum may be viewed as an application of the matrix

F 0ln = e

±2πiNxlξn,

l = 1, . . . , Np, n = 1, . . . , Nf to a vector.

A special case is the matrix

Fln = e±2πilξn,

l = −N/2, . . . , N/2 − 1, n = 1, . . . , Nf and its adjoint.

Algorithms for the fast application of these matrices and their adjoints to vectors (aswell as their multidimensional generalizations) constitute Unequally Spaced Fast FourierTransform (USFFT) algorithms.

7

Page 9: Unequally spaced FFT and fast Radon transform

References

O(N log N) algorithms with a (relatively) large constant

• Low accuracy interpolation for SAR

• Press and Rybicki: ”Fast algorithm for spectral analysis of unevenly sampled data”, TheAstrophysical Journal, 338, 1989 (interpolation)

• Sullivan: ”A Technique for Convolving Unequally Spaced Samples Using Fast FourierTransforms”, Sandia Report, Jan.1990 (Taylor expansion)

• Brandt: ”Multilevel computations of integral transforms and particle interactions withoscillatory kernels”, Comp. Phys. Commun. 1991 (interpolation)

8

Page 10: Unequally spaced FFT and fast Radon transform

References

O(N log N) algorithms with a small constant (2 FFTs + C0N )

• Dutt and Rokhlin: ”Fast Fourier transform for nonequispaced data”, SIAM J. Sci.Comput., 1993 (Gaussian bells)

• Beylkin: ”On the fast Fourier transform of functions singularities”, 1995, (splines, tightestimates)

O(N log N) algorithms with a small constant (1 FFT +C1N ), C1 > C0

• Dutt, Gu, Rokhlin: Fast algorithms for polynomial interpolation, integration, anddifferentiation, SIAM J. Numer. Anal., 1996 (an approximation of the Dirichlet kernel)

• Beylkin, Monzon: On approximation of functions by exponential sums, to appear 2004,(an alternative approximation of the Dirichlet kernel)

9

Page 11: Unequally spaced FFT and fast Radon transform

Orthogonalization of B-splines

Let βm be the m-th order central B-spline and βm its Fourier transform,

βm(ξ) =

(

sin πξ

πξ

)m+1

.

Consider the periodic function a(m),

a(m)(ξ) =l=∞∑

l=−∞

|βm(ξ + l)|2 =l=m∑

l=−m

β2m+1(l) e2πilξ,

and the Fourier transform of the Battle-Lemarie scaling function,

ϕ(m)(ξ) =βm(ξ)

a(m)(ξ).

10

Page 12: Unequally spaced FFT and fast Radon transform

An approximation of the ideal filter

For large m the Battle-Lemarie scaling function is a good approximation to the ideal filter,

ϕ(m)(ξ) = 1 + O(ξ2m+2),

where for the B-spline we have

βm(ξ) = 1 − (1 + m)π2

6ξ2 + O(ξ4).

11

Page 13: Unequally spaced FFT and fast Radon transform

Example

-2.00 -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25 0 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.000

0.25

0.50

0.75

1.00

The Fourier transform of the Battle-Lemarie scaling function of order m = 23.Shown are functions ϕ(m)(ξ), ϕ(m)(ξ + 1) and ϕ(m)(ξ − 1).

12

Page 14: Unequally spaced FFT and fast Radon transform

The main points

• We compute a bandlimited version of the function that preserves frequencies within theband, i.e., we multiply the Fourier Transform of the function by an approximate idealfilter

• In the original domain the filter has a large support

• Key point: the filter is applied partially in the original domain and partially in theFourier domain

• The convolution with B-splines in the original domain is the projection on B-splines; itaccounts for the numerator of the approximate ideal filter

• The denominator is applied in the Fourier domain and amounts to orthogonalizationof the expansion (the basis changes from the B-splines to the Battle-Lemarie scalingfunctions)

13

Page 15: Unequally spaced FFT and fast Radon transform

Theorem

Let E∞ be the error in approximating the Fourier transform of the generalized function f

by a periodic function 2j/2 F (ξ)√a(m)(ξ)

, for some j < 0,

E∞ = sup|ξ|≤α

|2j/2 F (ξ)√

a(m)(ξ)− f(2−jξ)| / sup

|ξ|≤α

|f(2−jξ)|,

where F is the Fourier series,

F (ξ) =∑

k∈Z

fke−2πikξ,

with coefficients fk =∫ ∞

−∞f(x) βm

kj(x) dx.

If |f(ξ)| ≤ C(1 + |ξ|)σ, σ < m, then for any ε > 0 we can choose m, the order ofthe central B-spline, and the parameter α > 0 so that for |ξ| ≤ α

E∞ ≤ ε

14

Page 16: Unequally spaced FFT and fast Radon transform

Algorithm that uses only one FFT (no oversampling)

Let us find gl, l = −n, · · · , n, such that

gk =n

j=−n

fje2πikxj =

n∑

l=−n

gle2πikl/(2n+1).

We have (N = 2n + 1))

gl =1

N

n∑

k=−n

e−2πikl/Nn

j=−n

fje2πikxj =

n∑

j=−n

fj1

N

n∑

k=−n

e2πik(xj−lN ),

or

gl =n

j=−n

Dn(xj −l

N) fj.

15

Page 17: Unequally spaced FFT and fast Radon transform

The Dirichlet kernel

The periodic Dirichlet kernel,

Dn(x) =1

N

n∑

k=−n

e2πikx =sinNπx

N sinπx,

where N = 2n + 1, can be written as

Dn(x) = Gn(x) + Gn(1 − x) ,

where

Gn(x) =sin(Nπx)

k≥0

(−1)k

x + k=

k≥0

sin(Nπ(x + k))

Nπ(x + k).

16

Page 18: Unequally spaced FFT and fast Radon transform

Approximation via exponentials

We approximate Gn in [0, 1],

|Gn(x) −M∑

m=1

ρmetmx| ≤ ε ,

where weights and nodes are complex and |etm| < 1. The number of terms growslogarithmically with the accuracy and with n, M = O(log n) + O(log ε).

As a result we obtain the approximation for the Dirichlet kernel,

|Dn(x) −M∑

m=1

ρmetmx −M∑

m=1

ρmetm(1−x)| ≤ 2ε .

17

Page 19: Unequally spaced FFT and fast Radon transform

Approximation via exponentials: example

0.2 0.4 0.6 0.8 1

-0.2

0.2

0.4

0.6

0.8

1

Dirichlet kernel D50

18

Page 20: Unequally spaced FFT and fast Radon transform

Approximation via exponentials: example

0 0.2 0.4 0.6 0.8 1

-12

-11

-10

-9

-8

The error (log10) of 44-term approximation of D50.

19

Page 21: Unequally spaced FFT and fast Radon transform

A fast algorithm

We need to compute the sum

g(xn) =L

l=1

K(xn − yl)f(yl).

Using M -term exponential approximation of the kernel, an elegant algorithm of Rokhlincomputes the sum with accuracy ε in O(2M · (L + N)) operations, where M is thenumber of terms in

|K(s) −M∑

m=1

ρmetms| ≤ ε for s ∈ [0, 1].

(Assuming that the kernel K is an even function, K(−s) = K(s). If not, thenapproximate on [−1, 0] separately).

20

Page 22: Unequally spaced FFT and fast Radon transform

Recursion

Split the sum as

g(xn) =∑

0≤yl≤xn

K(xn − yl)f(yl) +∑

xn≤yl≤1

K(xn − yl)f(yl),

approximate the first term as∑M

m=1 wmqn,m, where qn,m =∑

0≤yl≤xnetm(xn−yl)f(yl).

and, similarly, the second term. We observe that

qn+1,m = etm(xn+1−xn)∑

0≤yl≤xn

etm(xn−yl)f(yl) +∑

xn<yl≤xn+1

etm(xn+1−yl)f(yl),

and, thus, qn,m is computed via the recursion

qn+1,m = etm(xn+1−xn)qn,m +∑

xn<yl≤xn+1

etm(xn+1−yl)f(yl).

21

Page 23: Unequally spaced FFT and fast Radon transform

Stolt migration for seismics (and SAR)

Stolt migration (solution of the linearized inverse scattering problem within the singlescattering assumption)

U(z, x, 0) =

∫ ∞

−∞

∫ ωc

−ωc

eiz

r

4ω2

c2−k2

x+ixkxU(0, kx, ω) dkxdω,

where U(0, kx, ω) is obtained by taking the Fourier transform of measured data U(0, x, t),

U(0, kx, ω) =1

∫ ∞

−∞

∫ ∞

−∞

U(0, x, t) e−iωt e−ikxx dx dt.

Stolt migration is based on the change of variables ω → kz,

kz =

4ω2

c2− k2

x.

To discretize kz using equal spacing we need U(0, kx, ω) at non-equally spaced nodes.

22

Page 24: Unequally spaced FFT and fast Radon transform

Slant Stack

Consider functions with the support elongated in one direction (e.g. time)

Algorithm for inversion in the Fourier domain involves

1. USFFT

2. Solving linear systems with positive definite (badly conditioned) self-adjoint Toeplitzmatrices.

Since the inverse of a Toepitz matrix can be applied in O(N log N) operations (actually,6 FFTs for the self-adjoint Toeplitz ), we obtain Fast Radon Transform

A similar algorithm for the electron microscope tomography (Sandberg, Mastronarde,Beylkin 2003)

23

Page 25: Unequally spaced FFT and fast Radon transform

Filter design

Frequency

dBSpline (m=7) vs. weighted Sinc

-0.70 -0.35 0 0.35 0.70-60

-45

-30

-15

0

Hanning-Sinc (9 taps)Order m=7 spline (6 taps)

Comparison of Sinc filter with spline (USFFT) design (9 vs. 6 taps).

24

Page 26: Unequally spaced FFT and fast Radon transform

Filter design

Frequency

dBSpline (m=13) vs. Parks-McClellan

-0.78 -0.39 0 0.39 0.78

-55

-44

-33

-22

-11

0

Parks-McClellan filter (10 taps)Order m=13 spline (8 taps)

Comparison Parks-McClellan filters with spline (USFFT) design (10 vs. 8 taps).

25

Page 27: Unequally spaced FFT and fast Radon transform

Inverse USFFT

Solve the linear system

g(xk) =

N/2∑

l=−N/2

fl e±2πilxk,

or

g(xk, yk) =

Nx/2∑

l=−Nx/2

Ny/2∑

l′=−Ny/2

fll′ e±2πilxk e±2πil′yk,

for fl or fll′ ∈ C, where k = 1, 2, . . . , Np.

Points xk, yk ∈ [−1/2, 1/2] and values g(xk), g(xk, yk) are given.

26

Page 28: Unequally spaced FFT and fast Radon transform

Inverse USFFT

In order to solve

gl =

k=N/2∑

k=−N/2

fk e2πikxl

where points xl, |xl| < 1/2, l = 1, . . . , L, N < L, are not necessarily equally spaced,consider

g(x) =

k=N/2∑

k=−N/2

fk e2πikx.

We have

fk =1

∫ 2π

0

g(x)e−2πikx,

and view gl as values of g(x) at points xl.

Let us find quadrature coefficients cl at nodes xl.

27

Page 29: Unequally spaced FFT and fast Radon transform

Inverse USFFT

We compute

wm =L

l=1

glcle−2πimxl,

where

wm =N−1∑

k=0

fk Tk−m and Tm =L

l=1

cle2πimxl.

From the point of view of linear algebra,

g = A f,

where Akl = e2πikxl.

We apply the diagonal matrix D = diag{cl} and then the adjoint matrix A∗,

w = A∗ Dg = A∗ D A f,

and then solve for f using Toeplitz structure of the matrix T = A∗ D A.

28

Page 30: Unequally spaced FFT and fast Radon transform

Trigonometric interpolation of measured data

Consider function

g(x, y, z) =∑

l,l′

fll′ eilx eil′y eiz

√p2−l2−l′2

that solves the Helmholtz equation,

(∇2 + p2) g = 0,

or

g(x, y, z) =∑

l,l′

fll′ eilx eil′y e−z

√l2+l′2

that solves the Laplace equation,∇2 g = 0.

If we measure quantities which satisfy these equations, and measurements are on someunequally spaced grid, we have a setup for trigonometric (or harmonic) interpolation.

B.K. Alpert, M.H. Francis, and R.C. Wittmann, IEEE Trans., May 1998.

29