This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Reconstruction Algorithm for Photoacoustic Imaging based on the Nonuniform FFT

Markus Haltmeier, Otmar Scherzer, and Gerhard Zangerl M. Haltmeier, O. Scherzer, and G. Zangerl are with the Department of Mathematics, University Innsbruck, Technikerstr. 21a, 6020 Innsbruck, Austria,  e-mail: {markus.haltmeier, otmar.scherzer, gerhard.zangerl}@uibk.ac.at.O. Scherzer is also with the Radon Institute of Computational and Applied Mathematics, Altenberger Str. 69, 4040 Linz, Austria
Abstract

Fourier reconstruction algorithms significantly outperform conventional back-projection algorithms in terms of computation time. In photoacoustic imaging, these methods require interpolation in the Fourier space domain, which creates artifacts in reconstructed images. We propose a novel reconstruction algorithm that applies the one-dimensional nonuniform fast Fourier transform to photoacoustic imaging. It is shown theoretically and numerically that our algorithm avoids artifacts while preserving the computational effectiveness of Fourier reconstruction.

Key–words. Image reconstruction, photoacoustic imaging, planar measurement geometry, fast algorithm, nonuniform FFT.

1 Introduction

Photoacoustic imaging (PAI) is a novel promising tool for visualizing light absorbing structures in an optically scattering medium, which carry valuable information for medical diagnostics. It is based on the generation of acoustic waves by illuminating an object with pulses of non-ionizing electromagnetic radiation, and combines the high contrast of pure optical and the high resolution of ultrasonic imaging. The method has demonstrated great promise for a variety of biomedical applications, such as imaging of animals [1, 2], early cancer diagnostics [3, 4], and imaging of vasculature [5, 6].

When an object is illuminated with short pulses of non-ionizing electromagnetic radiation, it absorbs a fraction of energy and heats up. This in turn induces acoustic (pressure) waves, that are recorded with acoustic detectors outside of the object. Other than in conventional ultrasound imaging, where the source of acoustic waves is an external transducer, in PAI the source is the imaged object itself. The frequency bandwidth of the recorded signals is therefore generally broad and depends on the size and the shape of illuminated structures.

1.1 Planar recording geometry

Throughout this paper we assume a planar recording geometry, where the acoustic signals are recorded with omnidirectional detectors arranged on planes (or lines), see Figure 1. The planar geometry is of particular interest since it can be realized most easily in practical applications. The recorded acoustic signals are then used to reconstruct the initially generated acoustic pressure which represents optically absorbing structures of the investigated object.

\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\includegraphics[width=216.81pt]{pictures/setup0.eps}
Figure 1: Photoacoustic imaging for planar recording geometry. The object is illuminated by a pulse of electromagnetic radiation, and reacts with an expansion. Induced acoustic waves are measured with an array of acoustic detectors arranged on a plane (or a line) and used to from an image of the object.

For the planar recording geometry, two types of theoretically exact reconstruction formulas have been reported: Temporal back-projection [7, 8, 9, 10] and Fourier domain formulas [11, 7, 9, 12, 13, 14, 15]. Numerical implementations of those formulas often lead to fast and accurate image reconstruction algorithms.

In temporal back-projection formulas the signals measured at time tt are back projected over spheres of radius vstv_{s}t with the detector position in the centre (vsv_{s} denotes the speed of sound). In Fourier domain formulas this back-projection is performed by interpolation in the frequency domain. Reconstruction methods based on Fourier domain formulas are attractive since they reconstruct an N×N×NN\times N\times N image in 𝒪(N3logN)\mathcal{O}(N^{3}\log N) floating point operations by using of the Fast Fourier Transform (FFT). Straightforward implementations of back-projection type formulas, on the other hand, require 𝒪(N5)\mathcal{O}(N^{5}) operation counts, see [16, 17].

The standard FFT algorithm assumes sampling on an equally spaced grid and therefore, in order to implement the Fourier domain formulas, interpolation in the Fourier space is required. Interpolation in the Fourier domain is a critical issue, and creates artifacts in reconstructed images, see the examples in Section 5. One obtains significantly better results by increasing the sampling density in the Fourier space. This is achieved by either zero-padding [13] or by symmetrizing the recorded signals around t=0t=0 (which is equivalent to using the fast cosine transform instead of the FFT). In this paper, we propose an efficient reconstruction algorithm that uses the nonuniform (or unevenly spaced) FFT [18, 19, 20, 21, 22, 23] and further increases the quality of reconstruction.

1.2 Prior work and innovations

The nonuniform FFT has been applied to a variety of medical imaging problems, such as standard X-ray CT, magnetic resonance imaging, and diffraction tomography [24, 25, 26], and has also been used implicitly in gridding algorithms [27, 28]. All those algorithms deal with the problem of recovering a two (or higher) dimensional object function from samples of its multidimensional Fourier transform on a non-cartesian grid.

Our approach is conceptually quite different to the above mentioned references: The special structure of our problem allows to perform several one-dimensional nonuniform FFTs instead of a single higher dimensional one. This leads to a reduced numerical cost, compared to the above algorithms. The proposed algorithm is more closely related to a reconstruction algorithm for X-ray CT suggested in [29, Section 5.2], which also evaluates the Fourier transform on irregular samples by means of the one-dimensional FFT.

1.3 Outline

This article is organized as follows: In Section 2 we present the mathematical basics of Fourier reconstruction in PAI. In Section 3 we review the nonuniform FFT which is then used to derive the nonuniform FFT based reconstruction algorithm in Section 4. In Section 5 we present numerical results of the proposed algorithm and compare it with existing Fourier and back projection algorithms. The paper concludes with a discussion of some issues related to sampling and resolution in the Appendix.

2 Photoacoustic Imaging

Let C0()C_{0}^{\infty}(\mathbb{H}) denote the space of smooth functions with bounded support in the half space :=d1×(0,)\mathbb{H}:=\mathbb{R}^{d-1}\times(0,\infty), d2d\geq 2. Consider the initial value problem

(t2Δ)p(𝐱,t)\displaystyle\left(\partial_{t}^{2}-\Delta\right)p(\mathbf{x},t) =0,\displaystyle=0\,, (𝐱,t)d×(0,),\displaystyle(\mathbf{x},t)\in\mathbb{R}^{d}\times(0,\infty)\,,
p(𝐱,0)\displaystyle p(\mathbf{x},0) =f(𝐱),\displaystyle=f(\mathbf{x})\,, 𝐱d,\displaystyle\mathbf{x}\in\mathbb{R}^{d}\,,
tp(𝐱,0)\displaystyle\partial_{t}p(\mathbf{x},0) =0,\displaystyle=0\,, 𝐱d,\displaystyle\mathbf{x}\in\mathbb{R}^{d}\,,

with fC0()f\in C_{0}^{\infty}(\mathbb{H}). Here Δ\Delta denotes the Laplacian in d\mathbb{R}^{d} and t\partial_{t} is the derivative with respect to tt. We write 𝐱=(x,y)\mathbf{x}=(x,y), xd1x\in\mathbb{R}^{d-1}, yy\in\mathbb{R}, and define the operator 𝐐:C0()C(d)\operatorname{\mathbf{Q}}:C_{0}^{\infty}(\mathbb{H})\to C^{\infty}(\mathbb{R}^{d}) by

(𝐐f)(x,t):={p(x,y=0,t), if t>0,0, otherwise.(\operatorname{\mathbf{Q}}f)(x,t):=\left\{\begin{array}[]{ll}p(x,y=0,t)\,,&\hbox{ if }t>0\,,\\ 0\,,&\hbox{ otherwise}\,.\end{array}\right.

Photoacoustic imaging for planar recording geometry is concerned with reconstructing fC0()f\in C_{0}^{\infty}(\mathbb{H}) from incomplete and possibly erroneous knowledge of 𝐐f\operatorname{\mathbf{Q}}f. Of practical interest are the cases d=2d=2 and d=3d=3, see [30, 31, 32, 33].

2.1 Exact inversion formula

The operator 𝐐\operatorname{\mathbf{Q}} can be inverted analytically by means of the exact inversion formula

(𝐅f)(Kx,Ky)=2Ky(𝐅𝐐f)(Kx,sign(Ky)|Kx|2+Ky2)sign(Ky)|Kx|2+Ky2(\operatorname{\mathbf{F}}f)(K_{x},K_{y})=\frac{2K_{y}\bigl{(}\operatorname{\mathbf{F}}\operatorname{\mathbf{Q}}f\bigr{)}\left(K_{x},\operatorname{sign}(K_{y})\sqrt{|K_{x}|^{2}+K_{y}^{2}}\right)}{\operatorname{sign}(K_{y})\sqrt{|K_{x}|^{2}+K_{y}^{2}}} (1)

where (Kx,Ky)d1×(K_{x},K_{y})\in\mathbb{R}^{d-1}\times\mathbb{R}, and 𝐅\operatorname{\mathbf{F}} denotes the dd-dimensional Fourier transform,

(𝐅φ)(𝐊):=dei𝐊𝐱φ(𝐱)𝑑𝐱,𝐊=(Kx,Ky)d.(\operatorname{\mathbf{F}}\varphi)(\mathbf{K}):=\int_{\mathbb{R}^{d}}e^{-i\mathbf{K}\mathbf{x}}\varphi(\mathbf{x})\ d\mathbf{x}\,,\qquad\mathbf{K}=(K_{x},K_{y})\in\mathbb{R}^{d}\,.

Equation (1) has been derived in [12, 13] for three spatial dimensions. It can be proven in any dimension by using the inversion formula for the spherical mean Radon transform of [7, 9]. A related formula using the Fourier cosine transform instead of the Fourier transform has been obtained in [34, 15] for d=2,3d=2,3.

2.2 Partial Fourier reconstruction

The inversion formula (1) yields an exact reconstruction of ff, provided that (𝐐f)(x,t)(\operatorname{\mathbf{Q}}f)(x,t) is given for all (x,t)d(x,t)\in\mathbb{R}^{d}. In practical applications only a partial (or limited view) data set is available [35, 36, 37]. In this paper we assume that data (𝐐f)(x,t)(\operatorname{\mathbf{Q}}f)(x,t) are given only for (x,t)(0,X)d(x,t)\in(0,X)^{d}, see Figure 1, which are modeled by

g(x,t):=wcut(x,t)(𝐐f)(x,t),g(x,t):=w_{\rm cut}(x,t)(\operatorname{\mathbf{Q}}f)(x,t)\,, (2)

where wcutw_{\rm cut} is a smooth nonnegative cutoff function that vanishes outside (0,X)d(0,X)^{d}. Using data (2), the function ff cannot be exactly reconstructed in a stable way (see [38, 37]). It is therefore common to apply the exact inverse of 𝐐\operatorname{\mathbf{Q}} to the partial data gg and to consider the result as an approximation of the object to be reconstructed. More precisely, the function ff^{\dagger} defined by

(𝐅f)(Kx,Ky):=2Ky(𝐅g)(Kx,sign(Ky)|Kx|2+Ky2)sign(Ky)|Kx|2+Ky2,(\operatorname{\mathbf{F}}f^{\dagger})(K_{x},K_{y}):=\frac{2K_{y}(\operatorname{\mathbf{F}}g)\left(K_{x},\operatorname{sign}(K_{y})\sqrt{|K_{x}|^{2}+K_{y}^{2}}\right)}{\operatorname{sign}(K_{y})\sqrt{|K_{x}|^{2}+K_{y}^{2}}}\,, (3)

is considered an approximation of ff. The function ff^{\dagger} is called partial Fourier reconstruction.

Fourier reconstruction algorithms in PAI name numerical implementations of (3). In this paper we apply the one-dimensional nonuniform FFT to derive a fast and accurate algorithm for implementing (3).

3 The Nonuniform Fast Fourier Transform

The discrete Fourier transform of a vector 𝐠=(gn)n=0N1N\mathbf{g}=(g_{n})_{n=0}^{N-1}\in\mathbb{C}^{N} with respect to the nodes 𝝎=(ωk)k=N/2N/21\boldsymbol{\omega}=(\omega_{k})_{k=-N/2}^{N/2-1} (with NN even) is defined by

T[𝐠](ωk):=n=0N1eiωkn2π/Ngn,k=N/2,,N/21.T[\mathbf{g}](\omega_{k}):=\sum_{n=0}^{N-1}e^{-i\omega_{k}n2\pi/N}g_{n}\,,\quad k=-N/2,\dots,N/2-1\,. (4)

Direct evaluation of the NN sums in (4) requires 𝒪(N2)\mathcal{O}(N^{2}) operations. Using the classical fast Fourier transform (FFT) this effort can be reduced to 𝒪(NlogN)\mathcal{O}(N\log N) operations. However, application of the classical FFT is restricted to the case of evenly spaced nodes ωk=k\omega_{k}=k, k=N/2,,N/21k=-N/2,\dots,N/2-1.

The one-dimensional nonuniform FFT (see [18, 19, 20, 29, 21, 22, 23]) is an approximate but highly accurate method for evaluating (4) at arbitrary nodes ωk\omega_{k}, k=N/2,,N/21k=-N/2,\dots,N/2-1, in 𝒪(NlogN)\mathcal{O}(N\log N) operations.

3.1 Derivation of the nonuniform FFT

To derive the nonuniform FFT we closely follow the presentation of [29], which is based on the following lemma:

Lemma 1 ([29, Proposition 1]).

Let c>1c>1 and α<π(2c1)\alpha<\pi(2c-1). Assume that Ψ:\Psi:\mathbb{R}\to\mathbb{R} is continuous in [α,α][-\alpha,\alpha], vanishing outside [α,α][-\alpha,\alpha], and positive in [π,π][-\pi,\pi]. Then

eiωθ=c2πΨ(θ)jΨ^(ωj/c)eijθ/c,ω,|θ|π.e^{-i\omega\theta}=\frac{c}{2\pi\Psi(\theta)}\sum_{j\in\mathbb{Z}}\hat{\Psi}(\omega-j/c)e^{-ij\theta/c}\,,\quad\omega\in\mathbb{R}\,,|\theta|\leq\pi\,. (5)

Here Ψ^(ω):=eiωθΨ(θ)𝑑θ\hat{\Psi}(\omega):=\int_{\mathbb{R}}e^{-i\omega\theta}\Psi(\theta)d\theta denotes the one-dimensional Fourier transform of Ψ\Psi.

Proposition 2.

Let cc, α\alpha, Ψ\Psi, and Ψ^\hat{\Psi} be as in Lemma 1. Then, for every 𝐠=(gn)n=0N1N\mathbf{g}=(g_{n})_{n=0}^{N-1}\in\mathbb{C}^{N} and ω\omega\in\mathbb{R} we have

n=0N1eiωn2π/Ngn=jeiπ(ωj/c)Ψ^(ωj/c)G^j,\sum_{n=0}^{N-1}e^{-i\omega n2\pi/N}g_{n}=\sum_{j\in\mathbb{Z}}e^{-i\pi(\omega-j/c)}\hat{\Psi}(\omega-j/c)\hat{G}_{j}\,, (6)

with

G^j:=c2π(n=0N1gneijn2π/(Nc)Ψ(n2π/Nπ)),j.\hat{G}_{j}:=\frac{c}{2\pi}\left(\sum_{n=0}^{N-1}\frac{g_{n}e^{-ijn2\pi/(Nc)}}{\Psi(n2\pi/N-\pi)}\right)\,,\qquad j\in\mathbb{Z}\,. (7)
Proof.

Taking θ=n2π/Nπ[π,π]\theta=n2\pi/N-\pi\in[-\pi,\pi] in (5), gives

eiωn2π/N=c2πΨ(n2π/Nπ)jΨ^(ωj/c)eijn2π/(cN)eiπ(ωj/c),e^{-i\omega n2\pi/N}=\frac{c}{2\pi\Psi(n2\pi/N-\pi)}\sum_{j\in\mathbb{Z}}\hat{\Psi}(\omega-j/c)e^{-ijn2\pi/(cN)}e^{-i\pi(\omega-j/c)}\,,

and therefore

n=0N1eiωn2π/Ngn=c2πn=0N1jeiπ(ωj/c)Ψ^(ωj/c)gneijn2π/(cN)Ψ(n2π/Nπ).\sum_{n=0}^{N-1}e^{-i\omega n2\pi/N}g_{n}=\frac{c}{2\pi}\sum_{n=0}^{N-1}\sum_{j\in\mathbb{Z}}e^{-i\pi(\omega-j/c)}\hat{\Psi}(\omega-j/c)\frac{g_{n}e^{-ijn2\pi/(cN)}}{\Psi(n2\pi/N-\pi)}\,.

Interchanging the order of summation in the right hand side of the above equation shows (6), (7) and concludes the proof. ∎

In the following we assume that cNcN is an even number. Then

G^j=c2π(n=0cN1gnΨ(n2π/Nπ)eijn2π/(Nc)),j,\hat{G}_{j}=\frac{c}{2\pi}\left(\sum_{n=0}^{cN-1}\frac{g_{n}}{\Psi(n2\pi/N-\pi)}e^{-ijn2\pi/(Nc)}\right)\,,\quad j\in\mathbb{Z}\,, (8)

where gn:=0g_{n}:=0 for nNn\geq N, is an oversampled discrete Fourier transform with the oversampling factor cc. Moreover we assume that Ψ^\hat{\Psi} is concentrated around zero and decays rapidly away from zero. The nonuniform FFT uses the formulas (6), (8) to evaluate T[𝐠]T[\mathbf{g}] at the nodes ωk\omega_{k}. The basic steps of the algorithm are as follows:

  1. (i)

    Append (c1)N(c-1)N zeros to the vector 𝐠=(gn)n=0N1\mathbf{g}=(g_{n})_{n=0}^{N-1} and evaluate G^j\hat{G}_{j}, j=Nc/2,,Nc/21j=-Nc/2,\dots,Nc/2-1, in (8) with the FFT algorithm.

  2. (ii)

    Evaluate the sums in (6) approximately by using only the terms with |ωkj/c|K|\omega_{k}-j/c|\leq K, where the interpolation length KK is a small positive parameter.

Since Ψ^\hat{\Psi} is assumed to decay rapidly, the truncation error in Step (ii) is small.

Algorithm 1 Nonuniform FFT with respect to the nodes 𝝎=(ωk)k=N/2N/21\boldsymbol{\omega}=(\omega_{k})_{k=-N/2}^{N/2-1}, using input vector 𝐠=(gn)n=0N1\mathbf{g}=(g_{n})_{n=0}^{N-1}, oversampling c>1c>1, interpolation length KK, and window function Ψ\Psi.
1:𝚿(Ψ(2πn/Nπ))n\boldsymbol{\Psi}\leftarrow\bigl{(}\Psi(2\pi n/N-\pi)\bigr{)}_{n} \triangleright precomputations
2:𝚿^(ei(ωkj/c)π/cΨ^(ωkj/c))k,j\hat{\boldsymbol{\Psi}}\leftarrow\bigl{(}e^{-i(\omega_{k}-j/c)\pi/c}\hat{\Psi}(\omega_{k}-j/c)\bigr{)}_{k,j}
3:
4:function nufft(𝐠,𝝎,c,K,𝚿,𝚿^\mathbf{g},\boldsymbol{\omega},c,K,\boldsymbol{\Psi},\hat{\boldsymbol{\Psi}})
5:  𝐠𝐠/𝚿c/(2π)\mathbf{g}\leftarrow\mathbf{g}/\boldsymbol{\Psi}\cdot c/(2\pi)
6:  𝐠(𝐠,𝚣𝚎𝚛𝚘𝚜(1,(c1)N)\mathbf{g}\leftarrow\bigl{(}\mathbf{g},{\tt zeros}(1,(c-1)N\bigr{)} \triangleright zero-padding
7:  𝐠𝚏𝚏𝚝(𝐠)\mathbf{g}\leftarrow{\tt fft}(\mathbf{g}) \triangleright one-dimensional FFT
8:  for k=N/2,,N/21k=-N/2,\dots,N/2-1 do
9:   g^k|jcωk|cKΨ^k,jgj\hat{g}_{k}\leftarrow\sum_{|j-c\omega_{k}|\leq cK}\hat{\Psi}_{k,j}g_{j} \triangleright interpolation
10:  end for
11:  return (g^k)k(\hat{g}_{k})_{k}
12:end function

The nonuniform Fourier transform is summarized in Algorithm 1. All evaluations of Ψ\Psi and Ψ^\hat{\Psi} are precomputed and stored. Moreover, the classical FFT is applied to a vector of length cNcN. Therefore the numerical complexity of Algorithm 1 is 𝒪(cNlogN)\mathcal{O}(cN\log N). Typically c=2c=2, in which case the numerical effort of the nonuniform FFT is essentially twice the effort of the one-dimensional classical FFT applied to an input vector of the same length. See [29, Section 3] for an exact operation count, and a comparison between actual computation times of the classical and the nonuniform FFT.

3.2 Kaiser Bessel window

In our implementation we choose for Ψ\Psi the Kaiser Bessel window,

ΨKBα,K(θ):=1I0(αK){I0(Kα2θ2), if |θ|α,0, if |θ|>α.\Psi^{\alpha,K}_{\rm KB}(\theta):=\frac{1}{I_{0}(\alpha K)}\left\{\begin{array}[]{ll}I_{0}(K\sqrt{\alpha^{2}-\theta^{2}})\,,&\text{ if }|\theta|\leq\alpha\,,\\ 0\,,&\text{ if }|\theta|>\alpha\,.\end{array}\right.

Here I0I_{0} is the modified Bessel function of order zero. The one-dimensional Fourier transform of ΨKBα,K\Psi^{\alpha,K}_{\rm KB} is

Ψ^KBα,K(ω)=2sinh(αK2ω2)/(I0(αK)K2ω2),\hat{\Psi}^{\alpha,K}_{\rm KB}(\omega)=2\sinh(\alpha\sqrt{K^{2}-\omega^{2}})/\bigl{(}I_{0}(\alpha K)\sqrt{K^{2}-\omega^{2}}\bigr{)}\,,

if ω{K,K}\omega\in\mathbb{R}\setminus\{-K,K\} and 2α/(I0(αK))2\alpha/(I_{0}(\alpha K)) otherwise.

The Kaiser Bessel window is a good and often used candidate for Ψ\Psi, since Ψ^KBα,K(ω)\hat{\Psi}^{\alpha,K}_{\rm KB}(\omega) becomes extremely small for |ω|K|\omega|\geq K. For example, with the parameters K=3K=3, and α=3π\alpha=3\pi, we have for ωK\omega\geq K,

|Ψ^KBα,K(ω)/Ψ^KBα,K(0)||Ψ^KBα,K(K)/Ψ^KBα,K(0)|31011.|\hat{\Psi}^{\alpha,K}_{\rm KB}(\omega)/\hat{\Psi}^{\alpha,K}_{\rm KB}(0)|\leq|\hat{\Psi}^{\alpha,K}_{\rm KB}(K)/\hat{\Psi}^{\alpha,K}_{\rm KB}(0)|\simeq 3*10^{-11}\,.
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\includegraphics[width=195.12767pt]{pictures/decay-spat.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\includegraphics[width=195.12767pt]{pictures/decay-frequ.eps}
Figure 2: Left: Kaiser-Bessel window ΨKBα,K(θ)\Psi^{\alpha,K}_{\rm KB}(\theta) and characteristic function of the interval [π,π][-\pi,\pi]. Right: Fourier transforms Ψ^KBα,K(ω)\hat{\Psi}^{\alpha,K}_{\rm KB}(\omega) and 2πsinc(ω)2\pi\operatorname{sinc}(\omega) in dB (decibel). Here dB denotes the logarithmic decay 10log10(|ϕ(ω)/ϕ(0)|)10\log_{10}(|\phi(\omega)/\phi(0)|) of some quantity ϕ(ω)\phi(\omega).
Remark 3.

Take c=1c=1 and let Ψ\Psi be the characteristic function of the interval [π,π][-\pi,\pi]. Then Ψ^(ω)=2πsinc(πω)\hat{\Psi}(\omega)=2\pi\operatorname{sinc}(\pi\omega) and (6), (7) reduce to the sinc\operatorname{sinc} series

n=0N1eiωn2π/Ngn=jeiπ(ωj)sinc(ωj)(n=0N1gneijn2π/N),\sum_{n=0}^{N-1}e^{-i\omega n2\pi/N}g_{n}=\sum_{j\in\mathbb{Z}}e^{-i\pi(\omega-j)}\operatorname{sinc}(\omega-j)\left(\sum_{n=0}^{N-1}g_{n}e^{-ijn2\pi/N}\right)\,,

which is a discretized version of Shannon’s sampling formula [39, 40]

g^(ω)=jeiπ(ωj)sinc(ωj)g^(j),ω,\hat{g}(\omega)=\sum_{j\in\mathbb{Z}}e^{-i\pi(\omega-j)}\operatorname{sinc}(\omega-j)\hat{g}(j)\,,\qquad\omega\in\mathbb{R}\,,

applied to the Fourier transform of a function g:g:\mathbb{R}\to\mathbb{R} that vanishes outside [0,2π][0,2\pi].

See Figure 2 for a comparison of sinc\operatorname{sinc} and Ψ^KBα,K\hat{\Psi}^{\alpha,K}_{\rm KB}, with K=3K=3 and α=3π\alpha=3\pi. One realizes that Ψ^KBα,K\hat{\Psi}^{\alpha,K}_{\rm KB} decays much faster than sinc\operatorname{sinc} and is therefore much better suited for truncated interpolation. In fact, |Ψ^KBα,K(ω)/Ψ^KBα,K(0)|<31011|\hat{\Psi}^{\alpha,K}_{\rm KB}(\omega)/\hat{\Psi}^{\alpha,K}_{\rm KB}(0)|<3*10^{-11} for ω3\omega\geq 3, whereas |sinc(ω)|<0.01|\operatorname{sinc}(\omega)|<0.01 only for ω100/π\omega\geq 100/\pi.

An error estimate for the nonuniform FFT using the Kaiser Bessel window is given in [29]. The result is

|eiωθc2πΨ(θ)|ωj/c|<KΨ^KBα,K(ωj/c)eijθ/c|30πI0(Kπα21/c2).\Bigl{|}e^{-i\omega\theta}-\frac{c}{2\pi\Psi(\theta)}\sum_{|\omega-j/c|<K}\hat{\Psi}_{\rm KB}^{\alpha,K}(\omega-j/c)e^{-ij\theta/c}\Bigr{|}\\ \leq\frac{30}{\pi I_{0}\bigl{(}K\pi\sqrt{\alpha^{2}-1}/c^{2}\bigr{)}}\,.

For example, taking c=2c=2, α=3π\alpha=3\pi and K=3K=3, the above error is as small as 31083*10^{-8}.

4 A Fourier reconstruction Algorithm based on the nonuniform FFT

In this section we apply the one-dimensional nonuniform FFT to photoacoustic imaging. Throughout the following we restrict our attention to two dimensions, noting that the general case d2d\geq 2 can be treated in an analogous manner.

Assume that ff is a smooth function that vanishes outside (0,X)2(0,X)^{2}, and set g:=wcut𝐐fg:=w_{\rm cut}\operatorname{\mathbf{Q}}f, where wcutw_{\rm cut} is as in (2). Fourier reconstruction names an implementation of (3), that uses discrete data

gm,n:=g(mΔsamp,nΔsamp),g_{m,n}:=g(m\Delta_{\rm samp},n\Delta_{\rm samp})\,, (9)

with (m,n){0,,N1}2(m,n)\in\{0,\dots,N-1\}^{2} and reconstructs an approximation

fm,nf(mΔsamp,nΔsamp),f_{m,n}\simeq f^{\dagger}(m\Delta_{\rm samp},n\Delta_{\rm samp})\,, (10)

with (m,n){0,,N1}2(m,n)\in\{0,\dots,N-1\}^{2}. Here ff^{\dagger} is defined by (3), NN is an even number and Δsamp:=X/N\Delta_{\rm samp}:=X/N. In the Appendix we show that the sampling in (10), (9) is sufficiently fine, provided that Δsampπ/Ω\Delta_{\rm samp}\leq\pi/\Omega, where Ω\Omega is the essential bandwidth of ff.

Discretizing (3) with the trapezoidal rule gives

n=0N1(m=0N1ei(ln+km)2π/Nfm,n)=2kωk,ln=0N1eiωk,ln2π/N(m=0N1eikm2π/Ngm,n),\sum_{n=0}^{N-1}\left(\sum_{m=0}^{N-1}e^{-i(ln+km)2\pi/N}f_{m,n}\right)\\ =\frac{2k}{\omega_{k,l}}\sum_{n=0}^{N-1}e^{-i\omega_{k,l}n2\pi/N}\left(\sum_{m=0}^{N-1}e^{-ikm2\pi/N}g_{m,n}\right)\,, (11)

where

ωk,l:=sign(l)k2+l2,(k,l){N/2,,N/21}2.\omega_{k,l}:=\operatorname{sign}(l)\sqrt{k^{2}+l^{2}}\,,\quad(k,l)\in\{-N/2,\dots,N/2-1\}^{2}\,.

One notices that the inner sums in (11),

g~k,n:=m=0N1eikm2π/Ngm,n\tilde{g}_{k,n}:=\sum_{m=0}^{N-1}e^{-ikm2\pi/N}g_{m,n} (12)

can be exactly evaluated with NN one-dimensional FFTs, and the outer sums

g^k(ωk,l):=n=0N1eiωk,ln2π/Ng~k,n\hat{g}_{k}(\omega_{k,l}):=\sum_{n=0}^{N-1}e^{-i\omega_{k,l}n2\pi/N}\tilde{g}_{k,n} (13)

can be approximately evaluated with NN one-dimensional nonuniform FFTs. Denoting the resulting approximation by g^k,lg^k(ωk,l)\hat{g}_{k,l}\simeq\hat{g}_{k}(\omega_{k,l}) and setting

f^k,l:=2kg^k,lωk,l,(k,l){N/2,,N/21}2,\hat{f}_{k,l}:=\frac{2k\,\hat{g}_{k,l}}{\omega_{k,l}}\,,\qquad(k,l)\in\{-N/2,\dots,N/2-1\}^{2}\,, (14)

we finally find

fn,m:=1N2k,l=N/2N/21ei(km+ln)2π/Nf^k,lf_{n,m}:=\frac{1}{N^{2}}\sum_{k,l=N/2}^{N/2-1}e^{i(km+ln)2\pi/N}\hat{f}_{k,l} (15)

with the inverse two-dimensional FFT algorithm.

Algorithm 2 Nonuniform FFT based algorithm for calculating 𝐟=(fm,n)n,m=0N1\mathbf{f}=(f_{m,n})_{n,m=0}^{N-1} using data 𝐠=(gm,n)m,n=0N1\mathbf{g}=(g_{m,n})_{m,n=0}^{N-1}, oversampling factor cc, interpolation length KK, and window function Ψ\Psi.
1:𝚿(Ψ(2πn/Nπ))n\boldsymbol{\Psi}\leftarrow\bigl{(}\Psi(2\pi n/N-\pi)\bigr{)}_{n} \triangleright precomputations
2:𝚿^(ei(ωkj/c)π/cΨ^(ωkj/c))k,j\hat{\boldsymbol{\Psi}}\leftarrow\bigl{(}e^{-i(\omega_{k}-j/c)\pi/c}\hat{\Psi}(\omega_{k}-j/c)\bigr{)}_{k,j}
3:
4:function FouRecNufft(𝐠,c,K,𝚿,𝚿^\mathbf{g},c,K,\boldsymbol{\Psi},\hat{\boldsymbol{\Psi}})
5:  for n=0,,N1n=0,\dots,N-1 do
6:   𝐡(gm,n)m\mathbf{h}\leftarrow(g_{m,n})_{m}
7:   (g~k,n)k𝚏𝚏𝚝(𝐡)(\tilde{g}_{k,n})_{k}\leftarrow{\tt fft}(\mathbf{h}) \triangleright one-dimensional FFT
8:  end for
9:  𝐥(N/2,,N/21)\mathbf{l}\leftarrow(-N/2,\dots,N/2-1)
10:  for k=N/2,,N/21k=-N/2,\dots,N/2-1 do
11:   𝝎𝚜𝚒𝚐𝚗(𝐥)k2+𝐥2\boldsymbol{\omega}\leftarrow{\tt sign}(\mathbf{l})\sqrt{k^{2}+\mathbf{l}^{2}}
12:   𝐡𝚗𝚞𝚏𝚏𝚝(𝐡,𝝎,c,K,𝚿,𝚿^)\mathbf{h}\leftarrow{\tt nufft}(\mathbf{h},\boldsymbol{\omega},c,K,\boldsymbol{\Psi},\hat{\boldsymbol{\Psi}}) \triangleright nonuniform FFT
13:   (fk,l)l2k𝐡/𝝎(f_{k,l})_{l}\leftarrow 2k\,\mathbf{h}/\boldsymbol{\omega}
14:  end for
15:  𝐟(fk,l)k,l\mathbf{f}\leftarrow(f_{k,l})_{k,l}
16:  𝐟𝚒𝚏𝚏𝚝𝟸(𝐟)\mathbf{f}\leftarrow{\tt ifft2}(\mathbf{f}) \triangleright two-dimensional inverse FFT
17:  return 𝐟\mathbf{f}
18:end function

The nonuniform FFT based reconstruction algorithm is summarized in Algorithm 2. Its numerical complexity can easily be estimated. Evaluating (12) requires N𝒪(NlogN)N\mathcal{O}(N\log N) operations (NN one-dimensional FFTs), evaluating (13) requires N𝒪(NlogN)N\mathcal{O}(N\log N) operations (NN non-uniform FFTs), and (15) is evaluated with the inverse two-dimensional FFT in 𝒪(N2logN)\mathcal{O}(N^{2}\log N) operations. Therefore the overall complexity of Algorithm 1 is 𝒪(N2logN)\mathcal{O}(N^{2}\log N).

In the next section we numerically compare Algorithm 2 with standard Fourier algorithms presented in the literature [41, 13], which all differ in the way how the sums in (13) are evaluated:

  1. 1.

    Direct Fourier algorithm. Equation (13) cannot be evaluated with the classical FFT algorithm because the nodes ωk,l\omega_{k,l} are non-equispaced. The most simple way to evaluate (13) is with direct summation. Because there are N2N^{2} such sums, direct Fourier reconstruction requires 𝒪(N3)\mathcal{O}(N^{3}) operations. Consequently it does not lead to a fast algorithm. However, since (13) is evaluated exactly, it is optimally suited to evaluate the image quality of reconstructions with fast Fourier algorithms.

  2. 2.

    Interpolation based algorithm. A fast and simple alternative to direct Fourier reconstruction is as follows: Choose an oversampling factor c1c\geq 1 and exactly evaluate

    g^k(ω):=Δsampn=0N1eiωn2π/Ng~k,n,\hat{g}_{k}(\omega):=\Delta_{\rm samp}\sum_{n=0}^{N-1}e^{-i\omega n2\pi/N}\tilde{g}_{k,n}\,,

    at the uniformly spaced nodes ω=Δsampj/c\omega=\Delta_{\rm samp}j/c, j{0,,Nc1}j\in\{0,\dots,Nc-1\}, with the one-dimensional FFT algorithm. In a next step, linear interpolation is used to find approximate values g^k,lg^k(ωk,l)\hat{g}_{k,l}\simeq\hat{g}_{k}(\omega_{k,l}), see [13]. Evaluating g^k,l\hat{g}_{k,l} with linear interpolation requires 𝒪(N2)\mathcal{O}(N^{2}) operation and therefore the overall numerical effort of linear interpolation based Fourier reconstruction is 𝒪(N2logN)\mathcal{O}(N^{2}\log N).

    Algorithms using nearest neighbor interpolation instead of the linear one have the same numerical complexity and have also been applied to PAI (see, e.g., [42]). Higher order polynomial interpolation has been applied in [43] for a cubic recording geometry.

  3. 3.

    Truncated sinc\operatorname{sinc} reconstruction. If the function Ψ\Psi in Algorithm 2 is chosen as the characteristic function of the interval [cπ,cπ][-c\pi,c\pi], c1c\geq 1, then the nonuniform fast Fourier transform reduces to the truncated sinc\operatorname{sinc} interpolation considered in [41]. However, due to the slow decay of sinc(ω)\operatorname{sinc}(\omega), truncation will introduce a non-negligible error in the reconstructed image (see Remark 3).

The Fourier algorithms are also be compared with a numerical implementation of the back-projection formula

f(x,y)=2yπ(r(tt1𝐐f)(x,t)t2r2𝑑t)𝑑x,f(x,y)=-\frac{2y}{\pi}\int_{\mathbb{R}}\left(\int_{r}^{\infty}\frac{(\partial_{t}t^{-1}\operatorname{\mathbf{Q}}f)(x^{\prime},t)}{\sqrt{t^{2}-r^{2}}}dt\right)dx^{\prime}\,, (16)

where r=(xx)2+y2r=\sqrt{(x-x^{\prime})^{2}+y^{2}} denotes the distance between the detector location (x,0)(x^{\prime},0) and the reconstruction point (x,y)(x,y). Equation (16) has been obtained in [8] by applying the method of descent to the three-dimensional universal back-projection formula discovered by Xu and Wang [10]. Again (16) gives an exact reconstruction only if it is applied to complete data (𝐐f)(x,t)(\operatorname{\mathbf{Q}}f)(x,t), (x,t)2(x,t)\in\mathbb{R}^{2}. In the numerical experiments the back-projection formula is applied to the partial data wcut𝐐fw_{\rm cut}\operatorname{\mathbf{Q}}f, see (2), and implemented with 𝒪(N3)\mathcal{O}(N^{3}) operation counts as described in [8, Section 3.3].

5 Numerical Results

In the following we numerically compare the proposed nonuniform FFT based algorithm with standard Fourier algorithm and the back projection algorithm based on (16).

The cutoff function wcutw_{\rm cut} is constructed by convolution of

φϵ(x,t)={Cϵexp(1/(ϵx2t2)4),if x2+t2<ϵ,0, otherwise ,\varphi_{\epsilon}(x,t)=\begin{cases}C_{\epsilon}\exp\bigl{(}-1/{(\epsilon-x^{2}-t^{2})}^{4}\bigr{)},&\text{if }x^{2}+t^{2}<\epsilon\,,\\ 0,&\text{ otherwise }\,,\end{cases}

with the characteristic function of [0,X]2[0,X]^{2}, where ϵ\epsilon is a small parameter and CϵC_{\epsilon} is chosen in such a way that 2φϵ(x,t)𝑑x𝑑t=1\int_{\mathbb{R}^{2}}\varphi_{\epsilon}(x,t)dxdt=1. Typically, ϵ\epsilon is chosen as a “small” multiple of the sampling step size Δsamp=X/N\Delta_{\rm samp}=X/N.

In all numerical experiments we take X=1X=1, and N=512N=512. The window width α\alpha is chosen to be slightly smaller than π(2c1)\pi(2c-1), where cc is the oversampling factor that determines the accuracy of the Fourier reconstruction algorithms.

\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-org.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-data.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-nearest1.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-linear1.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-nearest2.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-linear2.eps}
Figure 3: Reconstruction with interpolation based Fourier algorithms. White corresponds to function value 1, black to function value -0.4. Top Line: Phantom and analytic data. Middle line: Reconstruction without oversampling (c=1c=1). Bottom line: Reconstruction with oversampling (c=2c=2).
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-bp.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-direct.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-tsinc.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-kb.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-tsinc-err.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-kb-err.eps}
Figure 4: Improved reconstructions. Top Line: Back projection (left) and direct reconstruction (right). Middle Line: Truncated sinc\operatorname{sinc} (left) and nonuniform FFT based Fourier algorithm (right). Here white corresponds to function value 1, black to function value -0.4. Bottom Line: Difference images between direct and truncated sinc\operatorname{sinc} reconstruction (left), and direct and nonuniform FFT based reconstruction (right). Here white (resp. black) corresponds to function value 0.040.04 (resp. 0.04-0.04).

5.1 Circular shaped object

As first case example we use a circular shaped object

fcirc(𝐱)=2a{(a2|𝐱𝐱0|2)1/2, if |𝐱𝐱0|<a,0, otherwise,f_{\rm circ}(\mathbf{x})=\frac{2}{a}\left\{\begin{array}[]{ll}\bigl{(}a^{2}-|\mathbf{x}-\mathbf{x}_{0}|^{2}\bigr{)}^{1/2},&\text{ if }|\mathbf{x}-\mathbf{x}_{0}|<a\,,\\ 0,&\text{ otherwise}\,,\end{array}\right.

centered at 𝐱0:=(x0,y0)\mathbf{x}_{0}:=(x_{0},y_{0}) (see top left image in Figure 3). For such a simple object reconstruction artifacts can be identified very clearly. Moreover, the data 𝐐fcirc\operatorname{\mathbf{Q}}f_{\rm circ} can be evaluated analytically (see [8, Equation (B.1)]) as

(𝐐fcirc)(x,t)=1aRe[(s+s)tlog(s++(t+ai)s+(tai))].(\operatorname{\mathbf{Q}}f_{\rm circ})(x,t)=\frac{1}{a}\ \mathrm{Re}\left[(s_{+}-s_{-})-t\log\left(\frac{s_{+}+(t+a_{i})}{s_{-}+(t-a_{i})}\right)\right].

Here s±:=((t±a)2+|(x,0)𝐱0|2)1/2s_{\pm}:=((t\pm a)^{2}+|(x,0)-\mathbf{x}_{0}|^{2})^{1/2}, log()\log(\cdot) is the principal branch of the complex logarithm, and Re[z]\mathrm{Re}[z] denotes the real part of complex number zz. The reconstruction results are depicted in Figures 3 and 4. Table 1 and Figure 5 compare run times with the relative 2\ell^{2}-error

𝐟𝐟2𝐟2=(m,n(fm,nfm,n)2)1/2(m,n(fm,n)2)1/2,\frac{\|\mathbf{f}-\mathbf{f}^{\dagger}\|_{\ell^{2}}}{\|\mathbf{f}^{\dagger}\|_{\ell^{2}}}=\frac{\left(\sum_{m,n}(f_{m,n}-f^{\dagger}_{m,n})^{2}\right)^{1/2}}{\left(\sum_{m,n}(f^{\dagger}_{m,n})^{2}\right)^{1/2}}\,,

were 𝐟=(fm,n)\mathbf{f}^{\dagger}=(f^{\dagger}_{m,n}) denotes the discrete image obtained by direct Fourier reconstruction. Run times were measured for Matlab implementations on a personal computer with 2.4 GHz Athlon processor.

In order to demonstrate the stability of the Fourier algorithms, we also performed reconstructions from noisy data, where Gaussian noise was added with a variance equal to 20%20\% of the maximal data value. The reconstruction results are depicted in Figure 7.

cc 2\ell^{2}-error runtime (sec)
back projection - - 88.9
direct reconstruction - - 54.1
nearest neighbor 1 0.756 0.65
nearest neighbor 2 0.406 0.85
linear 1 0.656 0.8
linear 2 0.216 0.95
Truncates sinc\operatorname{sinc} 2 0.046 1.6
Kaiser Bessel 2 0.006 1.6
Table 1: Run times and error of different reconstruction methods.
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\psfrag{linear}{linear}\psfrag{Kaiser Bessel}{Kaiser Bessel}\psfrag{nearest}{nearest}\psfrag{runtime}{\hskip-13.00806ptreconstruction time}\psfrag{log}{\hskip-13.00806pt$\log_{10}\bigl{(}\|\mathbf{f}-\mathbf{f}^{\dagger}\|_{\ell^{2}}\bigl{/}\|\mathbf{f}^{\dagger}\|_{\ell^{2}}\bigr{)}$}\psfrag{10}{}\includegraphics[width=368.57964pt]{pictures/runtimes.eps}
Figure 5: Reconstruction time versus error. The points on the graphs belong to runtimes and errors for reconstruction with oversampling factors c{1,2,4,8,16,32}.c\in\{1,2,4,8,16,32\}.
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-data-noisy.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-data-cent.eps}
Figure 6: Noisy data used in Figure 7

.

\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-nearest2-noisy.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-nearest2-cent.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-linear2-noisy.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-linear2-cent.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-bp-noisy.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-bp-cent.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-kb-noisy.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/fcirc-kb-cent.eps}
Figure 7: Reconstruction from noisy data. Top line: Nearest neighbor interpolation based reconstruction (c=2c=2). Second line: Linear interpolation based reconstruction (c=2c=2). Third line: Reconstruction with back projection algorithm. Bottom line: Reconstruction with nonuniform FFT algorithm (c=2c=2). The horizontal profiles on the right are taken at {x=x0}\{x=x_{0}\}.
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-org.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-data.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-nearest2.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-linear2.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-bp.eps}
\psfrag{transducer array}{detector array}\psfrag{optical illumination}{optical illumination}\psfrag{object}{object}\psfrag{pressure}{acoustic wave}\psfrag{original}{\color[rgb]{1,1,1} $f_{\rm circ}$}\psfrag{datacirc}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm circ}$}\psfrag{originalphant}{\color[rgb]{1,1,1} $f_{\rm phant}$}\psfrag{dataphant}{\color[rgb]{1,1,1} $\operatorname{\mathbf{Q}}f_{\rm phant}$}\psfrag{BP}{\color[rgb]{1,1,1} back projection}\psfrag{back projection}{\color[rgb]{1,1,1} back projection}\psfrag{nearest, c=1}{\color[rgb]{1,1,1} nearest, $c=1$}\psfrag{nearest, c=2}{\color[rgb]{1,1,1} nearest, $c=2$}\psfrag{linear}{\color[rgb]{1,1,1} linear, $c=2$}\psfrag{, c=2}{}\psfrag{lin}{\color[rgb]{1,1,1} linear, $c=1$}\psfrag{, c=1}{}\psfrag{tsinc, c=2}{\color[rgb]{1,1,1} truncated $\operatorname{sinc}$, $c=2$}\psfrag{direct}{\color[rgb]{1,1,1} direct}\psfrag{kb, c = 2}{\color[rgb]{1,1,1} nonuniform FFT, $c=2$}\includegraphics[width=140.92517pt,height=130.08731pt]{pictures/phant-kb.eps}
Figure 8: Reconstruction of Shepp Logan phantom. Top line: Phantom and simulated data. Second line : Interpolation based reconstruction. Bottom line: Reconstruction with back projection algorithm (left) and proposed nonuniform FFT algorithm (right).

5.2 Shepp–Logan phantom

In the next example we consider the Shepp–Logan phantom fphantf_{\rm phant}, which is shown in top left image in Figure 8. The data were calculated numerically by implementing d’Alemberts formula [44],

(𝐐fphant)(x,0,t)=t0tr(𝐌fphant)(x,0,r)t2r2𝑑r(\operatorname{\mathbf{Q}}f_{\rm phant})(x,0,t)=\partial_{t}\int_{0}^{t}\frac{r(\operatorname{\mathbf{M}}f_{\rm phant})(x,0,r)}{\sqrt{t^{2}-r^{2}}}\ dr

with

(𝐌fphant)(x,0,r):=12π|σ|=1fphant((x,0)+rσ)𝑑σ(\operatorname{\mathbf{M}}f_{\rm phant})(x,0,r):=\frac{1}{2\pi}\oint_{|\sigma|=1}f_{\rm phant}\bigl{(}(x,0)+r\sigma\bigr{)}d\sigma

denoting the spherical mean Radon transform of fcircf_{\rm circ}. The reconstruction results from simulated data are depicted in Figure 8.

5.3 Discussion

We emphasize that none of the above Fourier algorithms are designed to calculate an approximation of ff but an approximation to the partial Fourier reconstruction ff^{\dagger} defined in (3). Therefore even in the direct reconstruction (top right image in Figure 4) and in the back projection reconstruction one can see some blurred boundaries in the reconstruction. Such artifacts are expected using limited view data (2), see [38, 37].

The results of interpolation based reconstruction without oversampling (c=1c=1) are quite useless. The reconstructions are significantly improved by using a larger oversampling factor cc. However, even then, the results never reach the quality of the nonuniform FFT based reconstruction. Moreover, the numerical effort of linear interpolation based reconstruction is proportional to the oversampling factor, which prohibits the use of “very large” values for cc (see Figure 5). In the reconstruction with c=2c=2 (bottom line in Figure 3 and middle line in Figure 8) artifacts are still clearly visible.

The images in the middle line of Figure 4 suggest that truncated sinc\operatorname{sinc} and nonuniform FFT based reconstruction seem to perform quite similar. However, the differences to the direct Fourier reconstructions, shown in the bottom line in Figure 4, demonstrate the higher accuracy of the nonuniform FFT based algorithm.

The results in Figure 7 show that all applied reconstruction algorithms are quite stable with respect to data perturbation. In particular, the filtered back projection algorithm produces images with the highest signal to noise ratio. However, only at the cost of a nearly 100 times longer computation time (see Table 1).

6 Conclusion

We presented a novel fast Fourier reconstruction algorithm for photoacoustic imaging using a limited planar detector array. The proposed algorithm is based on the nonuniform FFT. Theoretical investigation as well as numerical simulations show that our algorithm produces better images than existing Fourier algorithms with a similar numerical complexity. Moreover the proposed algorithm has been shown to be stable against data perturbations.

[Sampling and Resolution]

Let ff be smooth function that vanishes outside (0,X)d(0,X)^{d}, and define gg, ff^{\dagger} by (2), (3). We further assume that 𝐅wcut\operatorname{\mathbf{F}}w_{\rm cut} is concentrated around zero and, that ff is essentially bandlimited with essential bandwidth Ω\Omega, in the sense that (𝐅f)(𝐊)(\operatorname{\mathbf{F}}f)(\mathbf{K}) is negligible for |𝐊|Ω|\mathbf{K}|\geq\Omega. Note that since ff has bounded support, 𝐅f\operatorname{\mathbf{F}}f cannot vanish exactly on {|𝐊|Ω}\{|\mathbf{K}|\geq\Omega\}.

  • Sampling of gg. Equation (1) implies that

    (𝐅g)(Kx,ω)=(𝐅wcut)(𝐅𝐐f)(Kx,ω),(\operatorname{\mathbf{F}}g)(K_{x},\omega)=\left(\operatorname{\mathbf{F}}w_{\rm cut}\right)\ast\left(\operatorname{\mathbf{F}}\operatorname{\mathbf{Q}}f\right)(K_{x},\omega)\,, (17)

    with

    (𝐅𝐐f)(Kx,ω)=2ω(𝐅f)(Kx,sign(ω)ω2|Kx|2)sign(ω)ω2|Kx|2(\operatorname{\mathbf{F}}\operatorname{\mathbf{Q}}f)(K_{x},\omega)=\frac{2\omega(\operatorname{\mathbf{F}}f)\left(K_{x},\operatorname{sign}(\omega)\sqrt{\omega^{2}-|K_{x}|^{2}}\right)}{\operatorname{sign}(\omega)\sqrt{\omega^{2}-|K_{x}|^{2}}}

    if |ω|>|Kx|2|\omega|>|K_{x}|^{2} and (𝐅𝐐f)(Kx,ω)=0(\operatorname{\mathbf{F}}\operatorname{\mathbf{Q}}f)(K_{x},\omega)=0 otherwise. The assumption that ff has essential bandwidth Ω\Omega and equation (17) imply that (𝐅g)(Kx,ω)(\operatorname{\mathbf{F}}g)(K_{x},\omega) is negligible outside the set

    {(Kx,ω):|Kx||ω|Ω}(Ω,Ω)d.\{(K_{x},\omega):|K_{x}|\leq|\omega|\leq\Omega\}\subset(-\Omega,\Omega)^{d}\,.

    Now Shannon’s sampling theorem [39, 40] states that gg is sufficiently fine sampled if the step size in xx and in tt satisfies the Nyquist condition Δsampπ/Ω\Delta_{\rm samp}\leq\pi/\Omega.

  • Sampling of ff^{\dagger}. Similar considerations as above again show that ff^{\dagger} is essentially bandlimited with essential bandwidth Ω\Omega. Shannon’s sampling theorem implies that ff^{\dagger} can be reliable reconstructed from discrete samples taken with step size Δsampπ/Ω\Delta_{\rm samp}\leq\pi/\Omega.

If ff has essential bandwidth larger than Ω\Omega, the function gg has to be filtered with a low pass-filter before sampling. Otherwise, sampling introduces aliasing artifacts in the reconstructed image.

Theoretically, the resolution (at least of the visible parts) can be increased ad infinity by simply decreasing the sampling size Δsamp\Delta_{\rm samp}. In practical applications, several other factors such as the bandwidth of the ultrasound detection system limit the bandwidth of the data, and therefore the resolution of reconstructed images [33]. This, however, also guarantees that in practice a moderate sampling step size Δsamp\Delta_{\rm samp} gives correct sampling without aliasing.

Acknowledgement

This work has been supported by the Austrian Science Fund (FWF) within the framework of the NFN “Photoacoustic Imaging in Biology and Medicine”, Project S10505-N20. Moreover, the work of M. Haltmeier has been supported by the technology transfer office of the University Innsbruck (transIT).

References

  • [1] R. A. Kruger, W. L. Kiser, D. R. Reinecke, G. A. Kruger, and K. D. Miller, “Thermoacoustic molecular imaging of small animals,” Mol. Imaging, vol. 2, no. 2, pp. 113–123, 2003.
  • [2] X. D. Wang, G. Pang, Y. J. Ku, X. Y. Xie, G. Stoica, and L. V. Wang, “Noninvasive laser-induced photoacoustic tomography for structural and functional in vivo imaging of the brain,” Nature Biotech., vol. 21, no. 7, pp. 803–806, 2003.
  • [3] R. A. Kruger, K. D. Miller, H. E. Reynolds, W. L. Kiser, D. R. Reinecke, and G. A. Kruger, “Breast cancer in vivo: contrast enhancement with thermoacoustic CT at 434 MHz-feasibility study,” Radiology, vol. 216, no. 1, pp. 279–283, 2000.
  • [4] S. Manohar, A. Kharine, J. C. G. van Hespen, W. Steenbergen, and T. G. van Leeuwen, “The Twente Photoacoustic Mammoscope: system overview and performance,” Physics in Medicine and Biology, vol. 50, no. 11, pp. 2543–2557, 2005.
  • [5] R. G. M. Kolkman, E. Hondebrink, W. Steenbergen, and F. F. M. De Mul, “In vivo photoacoustic imaging of blood vessels using an extreme-narrow aperture sensor,” IEEE J. Sel. Topics Quantum Electron., vol. 9, no. 2, pp. 343–346, 2003.
  • [6] R. O. Esenaliev, I. V. Larina, K. V. Larin, D. J. Deyo, M. Motamedi, and D. S. Prough, “Optoacoustic technique for noninvasive monitoring of blood oxygenation: a feasibility study,” App. Opt., vol. 41, no. 22, pp. 4722–4731, 2002.
  • [7] L. E. Andersson, “On the determination of a function from spherical averages,” SIAM J. Math. Anal., vol. 19, no. 1, pp. 214–232, 1988.
  • [8] P. Burgholzer, J. Bauer-Marschallinger, H. Grün, M. Haltmeier, and G. Paltauf, “Temporal back-projection algorithms for photoacoustic tomography with integrating line detectors,” Inverse Probl., vol. 23, no. 6, pp. 65–80, 2007.
  • [9] J. A. Fawcett, “Inversion of nn-dimensional spherical averages,” SIAM J. Appl. Math., vol. 45, no. 2, pp. 336–341, 1985.
  • [10] M. Xu and L. V. Wang, “Universal back-projection algorithm for photoacoustic computed tomography,” Phys. Rev. E, vol. 71, no. 1, pp. 0 167 061–0 167 067 (electronic), 2005.
  • [11] M. A. Anastasio, D. Zhang, J. Modgil, and P. L. La Riviere, “Application of inverse source concepts to photoacoustic tomography,” Inverse Probl., vol. 23, no. 6, pp. S21–S35, 2007.
  • [12] S. J. Norton and M. Linzer, “Ultrasonic reflectivity imaging in three dimensions: Exact inverse scattering solutions for plane, cylindrical and spherical apertures,” IEEE Trans. Biomed. Eng., vol. 28, no. 2, pp. 202–220, 1981.
  • [13] Y. Xu, D. Feng, and L. V. Wang, “Exact frequency–domain reconstrcution for thermoacosutic tomography — i: Planar geometry,” IEEE Trans. Med. Imag., vol. 21, no. 7, pp. 823–828, 2002.
  • [14] K. Köstli, D. Frauchinger, J. Niederhauser, G. Paltauf, H. Weber, and M. Frenz, “Optoacoustic imaging using a three-dimensional reconstruction algorithm,” IEEE J. Quantum Electron., vol. 7, 2001.
  • [15] K. P. Köstli, M. Frenz, H. Bebie, and H. P. Weber, “Temporal backward projection of optoacoustic pressure transients using fourier transform methods,” Phys. Med. Biol., vol. 46, pp. 1863–1872, 2001.
  • [16] M. Haltmeier, T. Schuster, and O. Scherzer, “Filtered backprojection for thermoacoustic computed tomography in spherical geometry,” Math. Methods Appl. Sci., vol. 28, no. 16, pp. 1919–1937, 2005.
  • [17] F. Natterer, The Mathematics of Computerized Tomography. Stuttgart: Teubner, 1986.
  • [18] G. Beylkin, “On the fast Fourier transform of functions with singularities,” Applied and Computational Harmonic Analysis, vol. 2, no. 4, 1995.
  • [19] A. Dutt and V. Rokhlin, “Fast Fourier transforms for nonequispaced data,” SIAM Journal on Scientific Computing, vol. 14, no. 6, 1993.
  • [20] J. A. Fessler and B. P. Sutton, “Nonuniform fast Fourier transforms using min-max interpolation,” IEEE Trans. Signal Process., vol. 51, no. 2, pp. 560–574, 2003.
  • [21] L. Greengard and J. Lee, “Accelerating the nonuniform fast Fourier transform,” SIAM Rev., vol. 46, no. 3, pp. 443–454 (electronic), 2004.
  • [22] D. Potts, G. Steidl, and M. Tasche, “Fast Fourier transforms for nonequispaced data: a tutorial,” in Modern sampling theory, ser. Appl. Numer. Harmon. Anal. Boston, MA: Birkhäuser Boston, 2001, pp. 247–270.
  • [23] G. Steidl, “A note on fast Fourier transforms for nonequispaced grids,” Advances in Computational Mathematics, vol. 9, no. 3-4, pp. 337–352, 1998.
  • [24] M. M. Bronstein, A. M. Bronstein, M. Zibulevsky, and H. Azhari, “Reconstruction in diffraction ultrasound tomography using nonuniform fft,” IEEE Trans. Med. Imag., vol. 21, no. 11, pp. 1395–1401, 2002.
  • [25] J. A. Fessler, “On NUFFT-based gridding for non-cartesian MRI,” Journal of Magnetic Resonance, pp. 191–195, 2007.
  • [26] D. Gottleib, B. Gustafsson, and P. Forssen, “On the direct fourier method for computer tomography,” IEEE Trans. Med. Imag., vol. 19, no. 3, pp. 223–232, 2000.
  • [27] J. D. O’Sullivan, “A fast sinc function gridding algorithm for Fourier inversion in computer tomography,” IEEE Trans. Med. Imag., vol. 4, pp. 200–207, 1985.
  • [28] H. Schomberg and J. Timmer, “The gridding method for image reconstruction by Fourier transformation,” IEEE Trans. Med. Imag., vol. 14, pp. 596–607, 1995.
  • [29] K. Fourmont, “Non-equispaced fast Fourier transforms with applications to tomography,” J. Fourier Anal. Appl., vol. 9, no. 5, pp. 431–450, 2003.
  • [30] P. Kuchment and L. A. Kunyansky, “Mathematics of thermoacoustic and photoacoustic tomography,” European J. Appl. Math., vol. 19, pp. 191–224, 2008.
  • [31] S. K. Patch and O. Scherzer, “Special section on photo- and thermoacoustic imaging,” Inverse Probl., vol. 23, pp. S1–S122, 2007.
  • [32] O. Scherzer, M. Grasmair, H. Grossauer, M. Haltmeier, and F. Lenzen, Variational Methods in Imaging, ser. Applied Mathematical Sciences. New York: Springer, 2009, vol. 167.
  • [33] M. Xu and L. V. Wang, “Photoacoustic imaging in biomedicine,” Rev. Sci. Instruments, vol. 77, no. 4, pp. 1–22, 2006, article ID 041101.
  • [34] K. Köstli and P. Beard, “Two-dimensional photoacoustic imaging by use of fourier-transform image reconstruction and a detector with an anisotropic response,” App. Opt., vol. 42, no. 10, 2003.
  • [35] G. Paltauf, R. Nuster, M. Haltmeier, and P. Burgholzer, “Experimental evaluation of reconstruction algorithms for limited view photoacoustic tomography with line detectors,” Inverse Probl., vol. 23, no. 6, pp. 81–94, 2007.
  • [36] X. Pan and M. A. Anastasio, “On a limited-view reconstruction problem in diffraction tomography,” IEEE Trans. Med. Imag., vol. 21, pp. 413–416, 2002.
  • [37] Y. Xu, L. V. Wang, G. Ambartsoumian, and P. Kuchment, “Reconstructions in limited-view thermoacoustic tomography,” Med. Phys., vol. 31, no. 4, pp. 724–733, 2004.
  • [38] A. Louis and E. Quinto, “Local tomographic methods in sonar,” in Surveys on solution methods for inverse problems. Vienna: Springer, 2000, pp. 147–154.
  • [39] F. Natterer and F. Wübbeling, Mathematical Methods in Image Reconstruction, ser. Monographs on Mathematical Modeling and Computation. Philadelphia, PA: SIAM, 2001, vol. 5.
  • [40] M. Unser, “Sampling—50 Years after Shannon,” Proceedings of the IEEE, vol. 88, no. 4, pp. 569–587, 2000.
  • [41] M. Jaeger, S. Schüpbach, A. Gertsch, M. Kitz, and M. Frenz, “Fourier reconstruction in optoacoustic imaging using truncated regularized inverse k-space interpolation,” Inverse Probl., vol. 23, pp. S51–S63, 2007.
  • [42] B. T. Cox, S. R. Arridge, and P. C. Beard, “Photoacoustic tomography with a limited-aperture planar sensor and a reverberant cavity,” Inverse Probl., vol. 23, no. 6, pp. S95–S112, 2007.
  • [43] L. A. Kunyansky, “A series solution and a fast algorithm for the inversion of the spherical mean radon transform,” Inverse Probl., vol. 23, no. 6, pp. S11–S20, 2007.
  • [44] R. Courant and D. Hilbert, Methods of Mathematical Physics. New York: Wiley-Interscience, 1962, vol. 2.