sparse image representation via combined transforms - Convex ...

sparse image representation via combined transforms - Convex ... sparse image representation via combined transforms - Convex ...

convexoptimization.com
from convexoptimization.com More from this publisher
10.03.2015 Views

154 APPENDIX B. FAST EDGELET-LIKE TRANSFORM where ρ is the interpolating kernel function. We assume ρ is equal to one at the origin and zero at all the other integers: ρ(0) = 1, and ρ(i) =0, for i =1, 2,... ,N, notation ⋆ stands for the convolution, and function δ(·) is the Dirac function at point 0. The 2-D Fourier transform of f(x, y) is ⎛ ⎜ ˆf(ξ,η) = ⎝ ∑ i=1,2,... ,N; j=1,2,... ,N. ⎞ I(i, j)e −√−1·2πξi e −√ −1·2πηj⎟ ⎠ ˆρ(ξ)ˆρ(η), (B.3) where ˆρ(·) is the Fourier transform of function ρ(·). Note there are two parts in ˆf(ξ,η), the first part denoted by F (ξ,η), F (ξ,η) = ∑ i=1,2,... ,N; j=1,2,... ,N. I(i, j)e −√ −1·2πξi e −√ −1·2πηj , is actually the 2-D Fourier transform of I. Note F (ξ,η) is a periodic function with period one for both ξ and η: F (ξ +1,η)=F (ξ,η) andF (ξ,η +1)=F (ξ,η). If we sample ξ and η at points 1 N , 2 N ,... ,1, then we have the discrete Fourier transform (DFT). We know there is an O(N log N) algorithm to implement. Function ˆρ(·) typically has finite support. In this paper, we choose the support to have length equal to one, so that the support of ˆρ(ξ)ˆρ(η) forms a unit square. We did not choose a support wider than one for some reason we will mention later. From equation (B.3), ˆf(ξ,η) is the periodic function F (ξ,η) truncated by ˆρ(ξ)ˆρ(η). The shape of ˆρ(ξ) andˆρ(η) determines the property of function ˆf(ξ,η). Section B.6.1 gives three examples of interpolation functions and some related discussion. In this paper, we will choose the raised cosine function as our windowing function. B.2.3 X-interpolation: from Cartesian to Polar Coordinate In this section, we describe how to transfer from Cartesian coordinates to polar coordinates. As in the synopsis, we do the coordinate switch in the Fourier domain. From equation (B.3), function ˆf(ξ,η) is just a multiplication of function F (ξ,η) witha windowing function. If we know the function F (ξ,η), the function ˆf(ξ,η) is almost a direct

B.2. DISCRETE ALGORITHM 155 extension. In the following, we treat ˆf(ξ,η) as a box function (e.g., the indicator function of the unit square). Without loss of generality, we redefine F (ξ,η) as F (ξ,η) = ∑ i=0,1,... ,N−1; j=0,1,... ,N−1. I(i +1,j+1)e −2π√ −1ξi e −2π√ −1ηj . Note the range of the index of I is changed. This is to follow the convention in DFT. By applying the FFT, we can get the following matrix by an O(N 2 log 2 N) algorithm: because for 0 ≤ k, l ≤ N − 1, F ( k N , l N )= ∑ i=0,1,... ,N−1 j=0,1,... ,N−1 This is the 2-D discrete Fourier transform. ( F ( k N , l N )) k=0,1,... ,N−1 , l=0,1,... ,N−1 I(i +1,j+1)e −2π√ −1 k N i e −2π√ −1 l N j . For Radon transform, instead of sampling at Cartesian grid point (k/N, l/N), we need to sample at polar grid points. We develop an X-interpolation approach, which is taking samples at grid points in polar coordinate. So after X-interpolation, we get the following N × 2N matrix: where [ (F ( k N − 1 2 ,s(k)+l · ∆(k) − 1 2 )) k=0,1,... ,N−1 l=0,1,... ,N−1 ,... ( F (s(k)+l · ∆(k) − 1 2 , N−k N − 1 2 )) k=0,1,... ,N−1 l=0,1,... ,N−1 ] , (B.4) s(k) = k N , ∆(k) = 1 2k N (1 − N ). (B.5) Figure B.1 illustrates the idea of X-interpolation. There is a fast way to compute the matrix in (B.4), using an idea from [6].

B.2. DISCRETE ALGORITHM 155<br />

extension. In the following, we treat ˆf(ξ,η) as a box function (e.g., the indicator function<br />

of the unit square).<br />

Without loss of generality, we redefine F (ξ,η) as<br />

F (ξ,η) =<br />

∑<br />

i=0,1,... ,N−1;<br />

j=0,1,... ,N−1.<br />

I(i +1,j+1)e −2π√ −1ξi e −2π√ −1ηj .<br />

Note the range of the index of I is changed. This is to follow the convention in DFT. By<br />

applying the FFT, we can get the following matrix by an O(N 2 log 2 N) algorithm:<br />

because for 0 ≤ k, l ≤ N − 1,<br />

F ( k N , l N )=<br />

∑<br />

i=0,1,... ,N−1<br />

j=0,1,... ,N−1<br />

This is the 2-D discrete Fourier transform.<br />

(<br />

F (<br />

k<br />

N , l N )) k=0,1,... ,N−1 ,<br />

l=0,1,... ,N−1<br />

I(i +1,j+1)e −2π√ −1 k N i e −2π√ −1 l N j .<br />

For Radon transform, instead of sampling at Cartesian grid point (k/N, l/N), we need<br />

to sample at polar grid points. We develop an X-interpolation approach, which is taking<br />

samples at grid points in polar coordinate. So after X-interpolation, we get the following<br />

N × 2N matrix:<br />

where<br />

[ (F<br />

(<br />

k<br />

N − 1 2 ,s(k)+l · ∆(k) − 1 2 )) k=0,1,... ,N−1<br />

l=0,1,... ,N−1<br />

,...<br />

(<br />

F (s(k)+l · ∆(k) −<br />

1<br />

2 , N−k<br />

N<br />

− 1 2 )) k=0,1,... ,N−1<br />

l=0,1,... ,N−1<br />

]<br />

, (B.4)<br />

s(k) = k N ,<br />

∆(k) = 1 2k<br />

N<br />

(1 −<br />

N ).<br />

(B.5)<br />

Figure B.1 illustrates the idea of X-interpolation.<br />

There is a fast way to compute the matrix in (B.4), using an idea from [6].

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!