1 Introduction

One of the most popular ways of computing the standard two-dimensional Radon transform for parallel beam geometry relies on Fourier transforms via the Fourier slice theorem. A standard discretization with equally spaced samples in the spatial variables yields a relation between the sampled spatial data and its Fourier transform on a polar lattice. This can be rapidly evaluated by using a combination of standard FFT and algorithms for unequally spaced FFT. In this way the time complexity is essentially reduced by one order, from \(\mathcal {O}(N^3)\) to \(\mathcal {O}(N^2 \log N)\). The main purpose of this paper is to show that a similar reduction in computational cost can be obtained for the exponential Radon transform, by relying on algorithms for unequally spaced fast Laplace transforms instead of the counterpart for Fourier transforms. The same holds for the adjoint operator, sometimes called the exponential back-projection operator, which in particular enables us to implement a fast algorithm for the inverse exponential Radon transform, based on a formula by Tretiak and Metz [21]. The need for fast transforms is particularly important when employing iterative schemes for the solution of (ill-posed) inverse problems, arising e.g. from incomplete angular coverage in the measurements, or for employing noise reduction techniques.

Upon discretization, the Radon transform becomes an operator on finite dimensional space, having a matrix representation. The same goes for the inverse and adjoint Radon transform, and these discretizations are associated with approximation errors which depend on the choice of specific parameters etc. On top of that, there are errors that arise when replacing the discrete operator with its fast counterpart, which is the topic of this paper. We show that the errors that come from the latter part can be controlled to arbitrary precision level \(\epsilon \) at a computational cost that is in practice proportional to \(-\log (\epsilon )\). In this way, reconstruction issues concerning for instance noise sensitivity can be isolated to the (standard) sampling setup, with only minor influence coming from the proposed fast computational algorithms.

The inverse problem of reconstructing data modeled by the exponential Radon transform is ill-posed, meaning that additional regularization techniques often need to be applied in order to obtain suitable reconstructions of data. There are several different regularization approaches in the literature, and the particular type of regularization will typically depend on the structure of the sample measured on. We therefor restrict our attention to how to construct fast algorithms for computing the exponential Radon transform and its adjoint, and only briefly mention some regularization techniques that could be useful. In particular, we include a description on how to include a discretized version of the filter operator present in the filtered back-projection type of reconstruction formula for the inversion of Radon data, as it is the most commonly used reconstruction method used for standard Radon data.

Let \(s \in \mathbb {R}\) and \(\theta \in S^1\), where \(S^1\) denotes the unit circle. The standard two-dimensional Radon transform is defined as

$$\begin{aligned} \mathcal {R}f(s,\theta ) = \int _{x\cdot \theta = s} f(x) \, dx = \int _{-\infty }^{\infty } f(s \theta + t \theta ^\perp ) \, dt, \end{aligned}$$

and the parameters s and \(\theta \) are used to parameterize the set of lines in \(\mathbb {R}^2\). The attenuated Radon transform in \(\mathbb {R}^2\) describes the mapping from functions f and \(\mu \) to line integrals of the form

$$\begin{aligned} \mathcal {R}_{at}f(s,\theta )=\int _{-\infty }^\infty f(s \theta + t \theta ^\perp ) e^{-\int _t^\infty \mu (s\theta + \tau \theta ^\perp ) \, d\tau } \, dt. \end{aligned}$$

Integrals of this type appear for instance in medicine, where f describes the intensity distribution of isotopes or radiopharmaceuticals inside a tissue, and where the function \(\mu (x)\ge 0\) describes the attenuation of the tissue. For the case where \(\mu \) is constant within a known convex body, then the data obtained from the attenuated Radon transform can be modeled by the simpler exponential Radon transform [20],

$$\begin{aligned} {\mathcal {R}_{\mu }} f(s,\theta ) = \int _{-\infty }^{\infty } f(s \theta + t \theta ^\perp )e^{\mu t} \, dt. \end{aligned}$$
(1)

The adjoint operator associated with the exponential Radon transform (1) can be written as

$$\begin{aligned} \mathcal {R}^{*}_{\mu } g(x) = \int _{S^1} e^{\mu x\cdot \theta ^\perp } g(x\cdot \theta ,\theta ) \, d\theta , \end{aligned}$$
(2)

cf. [13, 21]. It is a weighted integral of g over lines passing through the point x, and with \(\mu =0\) this operator is typically referred to as the back-projection operator.

In [13] a generalization of the Fourier slice theorem is derived for the exponential Radon transform along with an integral equation for the reconstruction problem of obtaining f given \({\mathcal {R}_{\mu }} f\). A similar integral equation is also derived in [5]. There also exist integral equations for the attenuated Radon transform, where the function \(\mu \) has certain constraints. An explicit inversion formula is given by Novikov [15], and a generalization is given in [7] for a somewhat larger class of functions. In [14] a result closely related to Novikov’s formula is derived, using a different approach. Yet another approach for inversion for arbitrary realistic attenuation was presented by Arbuzov et. al [4].

In [21] properties of the exponential Radon transform are derived, along with an inversion formula of filtered back-projection type. In Sect. 2 we recast this formula in a particularly simple format, see Theorem 2.1. Since then, the exponential Radon transform and the associated inversion problem have been discussed by several authors. For instance, in [1] range conditions of operator \({\mathcal {R}_{\mu }}\) are shown using Paley-Wiener type theorems. Cormack-type inversion formulas are based on the circular harmonic expansion of the transform and solving integral equations of special type (generalized Cormack equations) and they are discussed in [16] with generalization for the attenuated Radon transform in [17]. An explicit integral formula for 180-degree data reconstruction is obtained in [18] along with numerical tests for the approximation of the integrals. Another approach to reconstruct data from 180-degree measurements is proposed in [11], the approach is analytical except for the pre-calculated inverse kernel, where the least-squares method is utilized. In [2] the exponential Radon transform is extended to various spaces of distributions. In [22, 23] it was shown that the exponential Radon transform inversion can be expressed as a convolution on Euclidean motion group (the rigid motion on \(\mathbb {R}^2\)). Fourier-based approaches are proposed in [10, 12]. Here, the Fourier series expansion in the angular variable allow to increase the stability of the inverse transform. In this paper we address a method for the exponential Radon transform, i.e., for the case where the attenuation parameter \(\mu \) is constant.

2 The Fourier–Laplace Slice Theorem and Inversion in the Continuous Case

The Fourier slice theorem which relates the one-dimensional Fourier transforms of Radon transformed data with the two-dimensional Fourier transform of data is fairly straightforward to generalize to the exponential Radon transform. To see this, we introduce the transform \({\hat{\mathcal {R}}}_{\mu }\) as the one-dimensional Fourier transform of the exponential Radon transform with respect to the first variable s of \({\mathcal {R}_{\mu }} f\), i.e.

$$\begin{aligned} {\hat{\mathcal {R}}}_{\mu } f (\sigma ,\theta )&=\int _{-\infty }^\infty {\mathcal {R}_{\mu }} f (s,\theta ) e^{-2\pi i s \sigma } \, ds \!=\!\!\int _{-\infty }^\infty \int _{-\infty }^\infty f (s\theta +t\theta ^\perp ) e^{-2\pi i s \sigma +\mu t} \, ds \, dt\\&=\int _{-\infty }^\infty \int _{-\infty }^\infty f (s\theta +t\theta ^\perp ) e^{-2\pi i (s\theta +t\theta ^\perp )\cdot (\theta \sigma )+\mu (s\theta +t\theta ^\perp )\cdot \theta ^\perp \rangle } \, ds \, dt\nonumber \\&=\int _{\mathbb {R}^2} f (x) e^{-2\pi i x\cdot (\theta \sigma )+\mu x\cdot \theta ^\perp } \, dx, \end{aligned}$$

where the dot denotes scalar product in \(\mathbb {R}^2.\) Since f by assumption has support in the bounded domain \(\Omega \), its Fourier transform extends to an analytic function in \(\mathbb {C}^2\), and hence we can express the outcome of the above calculation as

$$\begin{aligned} {\hat{\mathcal {R}}}_{\mu } f (\sigma ,\theta ) = \widehat{f}\left( \sigma \theta + \frac{i\mu }{2\pi } \theta ^\perp \right) . \end{aligned}$$
(3)

which is a generalization of the Fourier slice theorem, sometimes referred to as the Fourier–Laplace slice theorem. For more details, see [13, 21].

Note that \({\hat{\mathcal {R}}}_{\mu }\) maps compactly supported smooth functions to rapidly decaying smooth functions in \(L^2(Z)\) where \(Z=(\mathbb {R}\setminus \{0\})\times S^1\) is a polar-type coordinate system, except for the fact that we allow negative radii. We now wish to express this as a transform acting into a space of functions on Cartesian-type coordinates. We therefore let \(R_2\) denote the two copies of the punctured plane on top of each other. Concretely, we set \(R_2=(\mathbb {R}^2\setminus \{0\})\times \{1,-1\}\) and define a bijection \(\iota :Z\rightarrow R_2\) via

$$\begin{aligned} \iota (\sigma ,\theta )={\left\{ \begin{array}{ll} (\sigma \theta ,1)&{}\quad \text{ if } \quad \sigma >0, \\ (\sigma \theta ,-1)&{}\quad \text{ if } \quad \sigma <0. \end{array}\right. } \end{aligned}$$

We will use the notation \(\tilde{\xi }=(\xi ,\alpha )\) for the independent variable in \(R_2\), where \(\xi \) is the Cartesian part of \(\tilde{\xi }\) and \(\alpha \) simply the sign of \(\sigma \) in the identity \(\tilde{\xi }=\iota (\sigma ,\theta )\). For a function g on Z or \(R_2\) we will employ the standard convention of suppressing \(\iota \) in the notation, writing \(g(\sigma ,\theta )\) when the former (polar type) coordinate system is used, and \(g(\tilde{\xi })\) when the latter (Cartesian type) coordinate system is used.

Given any non-zero \(x=(x_{1},x_{2})\in \mathbb {R}^{2}\) we introduce notation \(x^{\perp }=\frac{(-x_2,x_1)}{|x|}\) and moreover we define

$$\begin{aligned} \tilde{\xi }^{\perp }=\alpha {\xi }^{\perp }, \quad \tilde{\xi }\in R_{2}. \end{aligned}$$

Note that with this notation we always have \(\tilde{\xi }^{\perp }=\theta ^{\perp }\) whenever \(\tilde{\xi }=\iota (\sigma ,\theta )\). Finally, we let H be the measure on \(R_2\) that coincides with the Lebesgue measure on each of the two planes. For \(\mu \ge 0\) set

$$\begin{aligned} E( x,\tilde{\xi })=e^{\mu x\cdot \tilde{{\xi }}^{\perp }+2\pi i{x}\cdot {\xi }} \end{aligned}$$

and

$$\begin{aligned} E^{*}( x,\tilde{\xi })=e^{-\mu x\cdot \tilde{{\xi }}^{\perp }+2\pi i{x}\cdot {\xi }}. \end{aligned}$$

Then

$$\begin{aligned} \hat{\mathcal {R}}_{\mu }(f)(\tilde{\xi })=\int f({x})e^{{\mu }x\cdot \tilde{{\xi }}^{\perp }-2\pi i{x}\cdot {\xi }}d{x}=\langle f, E(\cdot ,\tilde{\xi })\rangle . \end{aligned}$$
(4)

Using this notation, we shall show that the inversion formula by Tretiak and Metz takes a simple form given in the following theorem:

Theorem 2.1

Let f be a compactly supported smooth function. Then for \(\mu \ge 0\), we have

$$\begin{aligned} f( x)=\frac{1}{2}\int _{|\xi |>\frac{\mu }{2\pi }}\langle f,E(\cdot ,\tilde{\xi })\rangle E^{*}( x,\tilde{\xi })dH(\tilde{\xi }) \end{aligned}$$
(5)

or, expressed differently,

$$\begin{aligned} f( x)=\int _{|\xi |>\frac{\mu }{2\pi }} \int f( y)\cosh (\mu ( x-y)\cdot {{\xi }}^{\perp })e^{2\pi i( x-y)\cdot {\xi }} d y d{\xi }. \end{aligned}$$

Proof

The inversion formula by Tretiak and Metz (see Corollary 1 of [21]) is written as an integral formula involving a family of kernels depending on two parameters \(\sigma ,\epsilon \), and a limit as these approach zero. The reason for the parameters \(\sigma ,\epsilon \) is that the corresponding integrals for \(\sigma =\epsilon =0\) may be divergent. For compactly supported smooth functions it is easy to see that this is not the case and the formula takes the following simpler form

$$\begin{aligned} f=\mathcal {R}_{-\mu }^{*}\mathcal {W}\mathcal {R}_{\mu } f, \end{aligned}$$
(6)

where \(\mathcal {W}\) is a convolution (in s) with the inverse Fourier transform of the function \(w(\sigma )=|\sigma /2|\mathbf {1}_{\{|\sigma |>\frac{\mu }{2\pi }\}}\), and \(\mathbf {1}_{\{|\sigma |>\frac{\mu }{2\pi }\}}\) denotes the characteristic function of \({\{|\sigma |>\frac{\mu }{2\pi }\}}\), (the normalization of the Fourier transform is different in [21], so the kernel looks slightly different there). This leads to

$$\begin{aligned} f=\mathcal {R}_{-\mu }^{*}\mathcal {F}^{*}M_{w}\mathcal {F}\mathcal {R}_{\mu }f=\hat{\mathcal {R}}_{-\mu }^{*} M_{w}\hat{\mathcal {R}}_{\mu }f \end{aligned}$$
(7)

where \(M_w\) is multiplication by w. Note that, for a smooth rapidly decaying function g on Z we have

$$\begin{aligned} \langle \hat{\mathcal {R}}_{-\mu } f,g\rangle&=\int \int \int _{\mathbb {R}^2} f (x) e^{-2\pi i x\cdot \theta \sigma -\mu x\cdot \theta ^\perp } \, dx \overline{g(\sigma ,\theta )}d\sigma d\theta \\&=\int _{\mathbb {R}^2} f (x) \overline{\int \int e^{2\pi i x\cdot \theta \sigma -\mu x\cdot \theta ^\perp } g(\sigma ,\theta )d\sigma d\theta }\, dx \end{aligned}$$

so

$$\begin{aligned} \hat{\mathcal {R}}_{-\mu }^{*}(g)({x})=\int \int e^{2\pi i x\cdot \theta \sigma -\mu x\cdot \theta ^\perp } g(\sigma ,\theta )d\sigma d\theta , \end{aligned}$$

which gives

$$\begin{aligned} {\hat{\mathcal {R}}}_{-\mu }^{*}(M_{w} g)({x})= & {} \int _{S^1}\int _{|\sigma |>\frac{\mu }{2\pi }}\left| \frac{\sigma }{2}\right| g(\sigma ,\theta )e^{-\mu {x}\cdot \theta ^{\perp }+2\pi i \sigma {x}\cdot \theta } d\sigma d\theta \nonumber \\= & {} \frac{1}{2}\int _{|\xi |>\frac{\mu }{2\pi }} g(\tilde{{\xi }})e^{-\mu x\cdot \tilde{{\xi }}^{\perp }+2\pi i{x}\cdot {\xi }}dH(\tilde{{\xi }})\nonumber \\= & {} \frac{1}{2}\int _{|\xi |>\frac{\mu }{2\pi }} g(\tilde{{\xi }})E^{*}(\tilde{{\xi }})dH(\tilde{{\xi }}). \end{aligned}$$
(8)

The formula (5) now follows by (4), (7) and the above computation. The subsequent formula is an immediate consequence since H equals Lebesgue measure on each copy of the punctured plane, and \(\tilde{\xi }^{\perp }={(\xi ,\alpha )}^{\perp }\) has opposite directions depending on whether \(\alpha \) equals 1 or \(-1\), so the evaluation of (5) reduces to

$$\begin{aligned}&\int _{|\xi |>\frac{\mu }{2\pi }} \int \frac{f( y)}{2}e^{\mu ( y- x)\cdot {{\xi }}^{\perp }-2\pi i({y}- x)\cdot {\xi }} d yd{\xi }\\&\qquad +\int _{|\xi |>\frac{\mu }{2\pi }} \int \frac{f( y)}{2}e^{-\mu ( y- x)\cdot {{\xi }}^{\perp }-2\pi i({y}- x)\cdot {\xi }} d yd{\xi } \\&\quad =\int _{|\xi |>\frac{\mu }{2\pi }} \int f( y)\cosh (\mu ( y- x)\cdot {{\xi }}^{\perp })e^{-2\pi i({y}- x)\cdot {\xi }} d yd{\xi }. \end{aligned}$$

\(\square \)

By the formulas (4) and (5) it is clear that both \({\mathcal {R}_{\mu }}\) and the inversion formula can be evaluated by using Laplace transforms. To use the continuous formulas derived in this section, we will need to make use of discretization schemes, and this will be discussed in the next section.

To illustrate how the fast Laplace transform work, let us consider a one-dimensional discrete counterpart of the Laplace integrals above, and specifically the rapid evaluation of sums of the form

$$\begin{aligned} \sum _{j=1}^{J} f_j e^{\zeta _j x} \end{aligned}$$

where \(\zeta _j = (a_j - 2\pi i \xi _j)\). Let \(\varphi \) be a Gaussian with a fixed width, and define \(\varphi _{a}\) through the Fourier relation \(\widehat{\varphi }_a(x) = e^{a x} \widehat{\varphi }(x)\). It then holds for a single exponential that

$$\begin{aligned} e^{-2\pi i \xi _j x} = \frac{1}{\widehat{\varphi }_{a_j}(x)} \int _{-\infty }^\infty \varphi _{a_j}(\xi -\xi _j) e^{-2\pi i x \xi } \ d \xi , \end{aligned}$$

which can be expressed as

$$\begin{aligned} e^{ (a_j-2\pi i \xi _j) x} = \frac{1}{\widehat{\varphi }(x)} \int _{-\infty }^\infty \varphi _{a_j}(\xi -\xi _j) e^{-2\pi i x \xi } \ d x. \end{aligned}$$

By applying this relationship to the discrete Laplace sum above, we obtain that

$$\begin{aligned} \sum _{j=1}^{J} f_j e^{(a_j - 2\pi i \xi _j) x} = \frac{1}{\widehat{\varphi }(x)} \int _{-\infty }^\infty \left( \sum _{j=1}^J f_j \varphi _{a_j}(\xi -\xi _j) \right) e^{-2\pi i x \xi } \ d \xi . \end{aligned}$$

Due to the presence of the (modulated) Gaussians, the integrand above will be smooth and it can be approximated (to arbitrary precision) with the trapezoidal rule. This implies that it can be evaluated rapidly at equally spaced points in x by using FFT. To make this work in practice, the Gaussian \(\widehat{\varphi }\) must be comparatively wide in order to avoid loss of accuracy (it cannot be too close to zero). This means that the \(\varphi \) (and \(\varphi _{a_j}\)) will have comparatively short support. An additional practical requirement is to use some amount of oversampling compared to the set of equally spaced point (x) at which the discrete Laplace transform is evaluated. We will make use of an oversampling factor \(\nu \) to describe this level of oversampling. A typical value is \(\nu =2\). Moreover, the inner sum in the expression above contains discrete convolution between the data values \(f_j\) and the modulated Gaussians \(\varphi _{a_j}\). As these Gaussians decay rapidly, only a few of terms will contribute (within given precision), and we may therefor truncate the Gaussians. We will use the parameter M to denote where we can truncate the Gaussian. Specifically, this means that the discrete convolution above is performed over at \(2M+1\) terms, and the contribution from the other terms can be discarded. The width parameter M (and the choice of the Guassian \(\varphi \)) is related to the desired level of accuracy as well as the oversampling parameter \(\nu \). For more details, see Appendix.

3 Discretization

We will now consider discretized versions of the exponential Radon tranform and its adjoint. The discretization will be fairly standard, using an equally spaced sampling in the spatial coordinates as well as in the \((s,\theta )\)-coordinates. We assume that f has compact support. Without loss of generality we assume that it has support on the disc \(\{x:|x|<1/2\}\), and we represent it by sampling on the Cartesian lattice

$$\begin{aligned} X=\frac{\left[ -\frac{N}{2},\dots ,\frac{N}{2}-1\right] }{N}\times \frac{\left[ -\frac{N}{2},\dots ,\frac{N}{2}-1\right] }{N} \end{aligned}$$

for N even, and let \(\mathrm{III}_X\) denote the operator that samples functions on X. We also discretize \(\mathcal {R}_\mu f(s,\theta )\) at equally spaced points in \(\theta \) that cover the whole interval \([0,2\pi )\). Specifically, let us assume that we have samples at a grid with N number of points in the s-direction and \(N_\theta \) points in the \(\theta \)-direction

$$\begin{aligned} \begin{array}{ll} \displaystyle s_m= \frac{m }{N}, &{}\quad m=-\frac{N}{2}, \dots \frac{N}{2}-1,\\ \displaystyle \theta _l= 2\pi \frac{l}{N_\theta }, &{}\quad l=0,\dots N_\theta -1. \end{array} \end{aligned}$$

and define

$$\begin{aligned} S = \left\{ (s_m,\theta _l): m=-\frac{N}{2}, \dots \frac{N}{2}-1,l=0,\dots N_\theta -1\right\} . \end{aligned}$$

Via the discrete Fourier transform, the nodes \(s_m\) are associated with frequency nodes

$$\begin{aligned} \sigma _k = k, \quad k=-\frac{N}{2}, \dots \frac{N}{2}-1 \end{aligned}$$

as well as a corresponding polar grid,

$$\begin{aligned} \Sigma = \left\{ (\sigma _k,\theta _l): k=-\frac{N}{2}, \dots \frac{N}{2}-1,l=0,\dots N_\theta -1\right\} . \end{aligned}$$

We let \(\mathrm{III}_S\) and \(\mathrm{III}_\Sigma \) denote the sampling operators on the two sets. As us customary in this field, we identify \(\theta _l\) with the point \((\cos (\theta _l),\sin (\theta _l))\) on \(S^1\), wherever convenient.

3.1 Fast Computation of the Discretized \({\mathcal {R}_{\mu }}\)

We now compute a discretized version of the exponential Radon transform (1) in two steps using two-dimensional Laplace transforms [3] and FFT. A discrete counterpart for computing \(\mathrm{III}_\Sigma \widehat{f}(\sigma \theta + \frac{i\mu }{2\pi } \theta ^\perp )\) using \(\mathrm{III}_X f\) is given by the operator \(\mathcal {L}_d : \mathbb {R}^{X} \rightarrow \mathbb {C}^{\Sigma }\), defined by

(9)

If \(\mu =0\) then sums of the above type can be approximately evaluated (with precision \(\epsilon \)) in \(\mathcal {O}(N^2\log N+ N N_\theta \log (1/\epsilon ))\) by using unequally spaced fast Fourier transforms (USFFT): [6, 8, 9]. To account for the case where \(\mu \ne 0\), we will instead use unequally spaced fast Laplace transforms [3] (USFLT), at the same computational cost and the same precision dependence as for the USFFT. We will denote the corresponding operator \(\mathcal {L}_d^{\text {USFLT}}\). See Appendix for more information on this topic in two dimensions.

Once \(\widehat{f}(\sigma _k \theta _l\!+\!\frac{i\mu }{2\pi } \theta ^\perp _l)\) is (approximately) computed, a discrete version of \({\mathcal {R}_{\mu }} (f)(s_m,\theta _l)\) can be obtained by a one-dimensional discrete inverse Fourier transform

$$\begin{aligned} {\mathcal {R}_{\mu }} f(s_m,\theta _l)&\approx \frac{1}{N} \sum _{k=-\frac{N}{2}}^{\frac{N}{2}-1} \widehat{f}(\sigma _k \theta _l\!+\!\frac{i\mu }{2\pi } \theta ^\perp _l)e^{2\pi i \sigma _k s_m} \\&\approx \frac{1}{N} \sum _{k=-\frac{N}{2}}^{\frac{N}{2}-1}\mathcal {L}_d (\mathrm{III}_X f)(\sigma _k,\theta _l) e^{2\pi i \sigma _k s_m}. \end{aligned}$$

We denote the one-dimensional discrete inverse Fourier transform acting on the first variable by \(\mathcal {F}_d^*: \mathbb {C}^{\Sigma } \rightarrow \mathbb {C}^{S}\), i.e.

$$\begin{aligned} \mathcal {F}_d^* g(s_m,\theta _l) = \sum _{k=-\frac{N}{2}}^{\frac{N}{2}-1} g(\sigma _k,\theta _l) e^{2\pi i \sigma _k s_m}. \end{aligned}$$

Summing up, we can approximately compute \(\mathrm{III}_S {\mathcal {R}_{\mu }} f\) by \(\mathcal {F}_d^* \mathcal {L}_d^{\text {USFLT}} \mathrm{III}_X f\). An analysis of the errors involved in this approximation is found in Appendix.

3.2 Error Analysis

The total error of our discretization/approximation is

$$\begin{aligned} \Vert \mathrm{III}_S {\mathcal {R}_{\mu }} f - \mathcal {F}_d^* \mathcal {L}_d^{\text {USFLT}} \mathrm{III}_X f \Vert _2 \end{aligned}$$
(10)

which by the triangle inequality and the fact that DFT is isometric can be estimated by the sum of the error caused in the discretization of the one-dimensional Fourier integrals,

$$\begin{aligned} \left\| \mathrm{III}_S {\mathcal {R}_{\mu }} f - \mathcal {F}_d^* \mathrm{III}_\Sigma \widehat{f}(\sigma \theta + \mu \theta ^\perp ) \right\| _2; \end{aligned}$$
(11)

the discretization error for the Laplace transform

$$\begin{aligned} \left\| \mathrm{III}_\Sigma \widehat{f}(\sigma \theta + \mu \theta ^\perp ) - \mathcal {L}_d (\mathrm{III}_X f) \right\| _2; \end{aligned}$$
(12)

and the error due to the fast evaluation of the discrete Laplace transform

$$\begin{aligned} \left\| ( \mathcal {L}_d - \mathcal {L}_d^{\text {USFLT}} )(\mathrm{III}_X f) ) \right\| _2. \end{aligned}$$
(13)

The first two errors are due to the discretization, and the third one is due to the proposed fast computational algorithm. As mention above, the error in (13) will be bounded by the choice of precision parameter \(\epsilon \), see Appendix. We will now show that the errors in (11) and (12) bear similarities to standard sampling results about essentially bandlimited functions.

To this end we introduce

$$\begin{aligned} B_{\mu ,N}(f)= \sup _{{\begin{array}{c} \max (|\omega _1|,|\omega _2|)<\frac{N}{2},\\ \max (|\sigma _1|,|\sigma _2|)\le {\mu } \end{array} }} \left\{ \sum _{\begin{array}{c} n_1,n_2\in \mathbb {Z},\\ n_1,n_2\ne 0 \end{array}}\left| \widehat{f}\left( \omega _1+\frac{\sigma _1}{2 \pi i}+n_1 N, \omega _2+\frac{\sigma _2}{2 \pi i}\!+n_2 N \right) \right| \!\right\} \!. \end{aligned}$$

as a measurement of the frequency content of f outside \([-N/2,N/2]^2\). Note that for bandlimited functions whose frequency support is contained in the central square with side length N it holds that \(B_{0,N}(f) = 0\).

Proposition 3.1

Assume that f has support in \([-1/2,1/2]^2\). The errors (11) and (12) are then both bounded by a constant times \(B_{\mu ,N}(f)\).

Proof

By (3) it follows that

$$\begin{aligned}&{\mathcal {R}_{\mu }} f(s_m,\theta _l) - \mathcal {F}_d^* \left( \mathrm{III}_\Sigma \widehat{f}(\sigma \theta + \mu \theta ^\perp )\right) (s_m,\theta _l)\nonumber \\&\quad = \mathcal {F}_{\sigma \rightarrow s}^* \left( \widehat{f}(\sigma \theta + \mu \theta ^\perp )\right) (s_m,\theta _l) - \mathcal {F}_d^* \left( \mathrm{III}_\Sigma \widehat{f}(\sigma \theta + \mu \theta ^\perp )\right) (s_m,\theta _l). \end{aligned}$$
(14)

Set \(g(\sigma )=\widehat{f}(\sigma \theta + \mu \theta ^\perp )\) and note that its frequency support lies within \((-1/2,1/2)\). The Poisson summation formula yields

$$\begin{aligned} \mathcal {F}_{\sigma \rightarrow s}^*{g}(s)=\sum _{k=-\infty }^{\infty } g \left( k\right) e^{2\pi i k s} \end{aligned}$$

where the summation from \(-N/2\) to \(N/2-1\) corresponds to \(\mathcal {F}_d^*\). It is now easy to see that the difference (14) is bounded by \(B_{\mu ,N}(f)\), yielding an \(\ell ^\infty \) estimate of (11). The corresponding \(\ell ^2\) estimate follows by the equivalence of finite dimensional norms.

The estimate for (12) is similar. By the two-dimensional Poisson summation formula (applied to \(f(x) e^{ -\mu \theta _l^\perp \cdot x}\)) we have

$$\begin{aligned}&\frac{1}{N^2} \sum _{n_1=-\infty }^\infty \sum _{n_2=-\infty }^\infty f \left( \frac{n_1}{N},\frac{n_2}{N}\right) e^{ (-\mu \theta _l^\perp -2\pi i \theta _l \sigma _k)\cdot \left( \frac{n_1}{N},\frac{n_1}{N}\right) }\\&\quad = \sum _{n_1=-\infty }^\infty \sum _{n_2=-\infty }^\infty \widehat{f}\left( \theta _l\sigma _k+\frac{\mu \theta ^\perp _l}{2 \pi i}+N(n_1,n_2) \right) . \end{aligned}$$

By the assumption on the support of f, the first double sum can be replaced by \(\sum _{n_1=-N/2}^{N/2-1} \sum _{n_2=-{N/2}}^{N/2-1}\), so the first line equals \(\mathcal {L}_d (\mathrm{III}_X f)(\sigma _k,\theta _l)\). It follows that

$$\begin{aligned}&\left| \widehat{f}(\sigma _k \theta _l + \mu \theta _l^\perp ) - \mathcal {L}_d (\mathrm{III}_X f)(\sigma _k,\theta _l)\right| \\ {}&\quad \quad \le \left| \sum _{n_1\ne 0} \sum _{n_2\ne 0} \widehat{f}\left( \theta _l\sigma _k+\frac{\mu \theta ^\perp _l}{2 \pi i}+N(n_1,n_2) \right) \right| , \end{aligned}$$

which yields a pointwise estimate of the difference in (12). The desired conclusion again follows by the equivalence of finite dimensional norms. \(\square \)

3.3 Fast Computation of the Discretized Adjoint

The back-projection operator \(\mathcal {R}_{\mu }^{*}\) in (2) can be discretized in a similar way. Note that

$$\begin{aligned} {{\mathcal {R}}^{*}_{\mu }}g(x) \!=\!\!\int _{S^1}\int _{-\infty }^\infty \int _{-\infty }^\infty g(s,\theta )e^{ - 2\pi i s \sigma } \, ds\, e^{x\cdot \left( 2\pi i \sigma \theta + \mu \theta ^\perp \right) }\, d\sigma \, d\theta ,=\!\left( {\hat{\mathcal {R}}}^{*}_{\mu } \mathcal {F}_{s\rightarrow \sigma }g\right) \!(x) \end{aligned}$$
(15)

which follows from (2) and the fact that

$$\begin{aligned} g(x\cdot \theta ,\theta ) ={\mathcal {F}}^{*}_{\sigma \rightarrow x\cdot \theta }{\mathcal {F}}_{s\rightarrow \sigma }( g(s,\theta )). \end{aligned}$$

In the discretized setting, the inner integral (i.e. \(\mathcal {F}_{s\rightarrow \sigma }\)) corresponds to \(\mathcal {F}_d\) whereas the two outer integrals (i.e. \({\hat{\mathcal {R}}}^{*}_{\mu }\)) correspond to \((\mathcal {L}_d^{\text {USFLT}})^*\). We remark that the latter do not correspond to a two-dimensional Fourier–Laplace integral (since the factor \(|\sigma |\) is missing), but it can still be evaluated fast, i.e., in \(\mathcal {O}(N^2\log N)\) time. In the terminology of the Appendix, the USFLT operation changes from a \(\mathbb {Z}^2 \rightarrow \mathbb {C}^2\) operation (for \(\mathcal {L}_d^{\text {USFLT}}\)) to a \(\mathbb {C}^2 \rightarrow \mathbb {Z}^2\) operation (for \((\mathcal {L}_d^{\text {USFLT}})^*\)), designed to rapidly evaluate sums of the type

$$\begin{aligned} \sum _{k,l} \mathsf {F}_{k,l} e^{(\mu \theta ^\perp _{l} - 2\pi i \sigma _{k}\theta _{l})\cdot \left( \frac{n_1}{N},\frac{n_2}{N}\right) }, \end{aligned}$$
(16)

for all values \(\left( \frac{n_1}{N},\frac{n_2}{N}\right) \) in X, where \(F_{k,l}\) can be arbitrary numbers. For the evaluation of \(\mathrm{III}_S{\mathcal {R}_{\mu }}^* g\) via \((\mathcal {L}_d^{\text {USFLT}})^*\mathcal {F}_d\mathrm{III}_Sg\), we obviously have \(\mathsf {F}=\mathcal {F}_d\mathrm{III}_S g\), but we shall see in the next section that other choices also will be relevant. An error analysis of this approximation can be done in a similar way as in Sect. 3.2, but we omit this.

3.4 Inversion from Complete Measurements

To invert measurements of the exponential Radon transform on the polar grid S, we use the formula (7);

$$\begin{aligned} f=\mathcal {R}_{-\mu }^{*}\mathcal {F}^{*}M_w\mathcal {F}\mathcal {R}_{\mu }f={\hat{\mathcal {R}}}_{-\mu }^{*} M_{w}{\hat{\mathcal {R}}}_{\mu } f \end{aligned}$$
(17)

A discrete approximation g of \({\hat{\mathcal {R}}}_{\mu }f\) on \(\Sigma \) is easily computed by applying \(\mathcal {F}_d\) to the available data \(\mathrm{III}_S{\mathcal {R}_{\mu }}(f)\), and the operation \({\hat{\mathcal {R}}}_{-\mu }^{*}\) corresponds to \((\mathcal {L}_d^{\text {USFLT}})^*\). Since \(M_w\) is multiplication by the weight w, the inversion could in principle be done via

$$\begin{aligned} f\approx (\mathcal {L}_d^{\text {USFLT}})^* M_w g, \end{aligned}$$

but the discontinuities of w will introduce large errors for low-frequency components of f. To compensate for this, we will evaluate \({\hat{\mathcal {R}}}_{\mu }f\) on a polar grid \(\tilde{\Sigma }\) with a more dense radial sampling near the singularities \(\sigma =\pm \frac{\mu }{2\pi }\). The operator \((\mathcal {L}_d^{\text {USFLT}})^*\) computes sums of the type (16) over unequally spaced grids, and in particular there is no need to have equally spaced sampling in \(\sigma \). However, if we increase the sampling near the singularity, the corresponding sum (16) will not be a good approximation of the corresponding integral in \({\hat{\mathcal {R}}}_{-\mu }^{*}\), and we therefore need to compensate for this by modifying the weight w, using composite rules for quadratures. We briefly outline this in more detail below.

In practice, the bottleneck of the reconstruction algorithm lies in evaluating \((\mathcal {L}_d^{\text {USFLT}})^*\), and hence it is desirable to keep the total number of grid points low. We therefore propose to use a dense sampling in \(\sigma \) near the singularities \(\pm \frac{\mu }{2\pi }\). We remark that values of \(\frac{\mu }{2\pi }\) typically are less than 2, and that the original grid \(\Sigma \) is sampled with radial sampling distance of unit length. An increased sampling near \(\frac{\mu }{2\pi }\) can thus be achieved by increasing the amount of grid points in \(\Sigma \) near the origin. Recall that f is assumed to have support on the unit circle, which implies that \({\mathcal {R}_{\mu }}(f)(s,\theta )\) is supported on \([-1/2,1/2]\) in the s-variable. By zero-padding of \({\mathcal {R}_{\mu }}(f)(s,\theta )\) in the s-direction and application of FFT, an oversampled representation of \(g(\sigma ,\theta )\) can be obtained (on an equally spaced grid in \(\sigma \), but not all values will be used).

To derive appropriate weights, it is sufficient to consider accurate quadratures for

$$\begin{aligned} \int _{|\sigma |>\frac{\mu }{2\pi }}\left| \frac{\sigma }{2}\right| g(\sigma ,\theta )e^{-\mu {x}\cdot \theta ^{\perp }+2\pi i \sigma {x}\cdot \theta } d\sigma =\int _{|\sigma |>\frac{\mu }{2\pi }}\left| \sigma \right| h(\sigma ), \end{aligned}$$

where we fix \(\theta \) and set \(h(\sigma )=\frac{1}{2} g(\sigma ,\theta )e^{-\mu {x}\cdot \theta ^{\perp }+2\pi i \sigma {x}\cdot \theta }\). Concerning the region around the singularity \(\sigma =\frac{\mu }{2\pi }\), we construct a composite quadrature by considering

$$\begin{aligned} \int _{a}^b \sigma h(\sigma )d\sigma , \end{aligned}$$
(18)

for several small intervals [ab], containing, say, \(M<10\) grid points. On each such interval there are coefficients \(c=\{c_m\}_{m=0}^{M-1}\) such that

$$\begin{aligned} h(\sigma )\approx \sum _m c_m \sigma ^m \end{aligned}$$
(19)

is an Mth-degree polynomial approximation of h on the interval. These coefficients can be found by solving \(h(\sigma _k)=\sum c_m \sigma _k^m\) (for k ranging in the relevant range for [ab]), or in matrix form \(h=Vc\), where matrix \(V=V(m,k)\) is the Vandermonde matrix built up by \(\sigma _k^m\).

Upon inverting V, which is independent of h, we do not need to compute the coefficients explicitly. Inserting this approximation in (18) gives

$$\begin{aligned} \int _{a}^b \sigma h(\sigma )d\sigma&\approx \int _{a}^b \sum _m \sum _k V^{-1}(m,k) h(\sigma _k) \sigma ^{m+1} d\sigma \\&=\sum _k \sum _m V^{-1}(m,k) h(\sigma _k) \left( \frac{b^{m+2}}{m+2} -\frac{a^{m+2}}{m+2} \right) = \sum _k w_k h(\sigma _k). \end{aligned}$$

In this way, we obtain quadrature weights \(w_k\) for the equally spaced approximation of (18). The weights can be combined to form composite quadrature rules that take the singularity at \(\sigma =\frac{\mu }{2\pi }\) into account. The same procedure can be performed when dealing with the singularity at \(\sigma =-\frac{\mu }{2\pi }\). The left panels of Fig. 1 demonstrate the effect of the correction with the weights \(w_k\) near both the singularities.

Fig. 1
figure 1

Weights for the approximation of the integral \(\int _{|\sigma |\ge \frac{\mu }{2\pi }}|\sigma |h(\sigma )d\sigma \), scaling by layers. Left panel weights after trapezoidal rule correction near singularities \(|\sigma |=\frac{\mu }{2\pi }\). Right panel total weights with undersampling for high frequencies. The black and red dots use values at every fourth sample (corresponding to the first two terms in the approximation (20)), while the blue dots use every second sample (corresponding to the third term in (20)) (Color figure online)

In order for the approximation step in (19) to be accurate, h has to be sufficiently oversampled. However, this is only needed in a vicinity of the singularity, and a regular sampling is sufficient away from the singularity. A direct usage of a trapezoidal rule would, however, use a sampling that is determined by the needed sampling rate around the singularity. We therefore split the integral as

$$\begin{aligned} \int _{\frac{\mu }{2\pi }}^b \sigma h(\sigma )d\sigma = \int _{\frac{\mu }{2\pi }}^c \sigma h(\sigma ) v(\sigma ) d\sigma + \int _{d}^b \sigma h(\sigma )(1-v(\sigma )) d\sigma , \end{aligned}$$

where \(d<c\), v is a smooth function satisfying \(0\le v(\sigma ) \le 1\), \(v(\sigma )=1\) if \(\sigma <d\), \(v(\sigma )=0\) if \(\sigma >c\). Now, the derived quadrature rule with a dense sampling can be used for the left integral in the right-hand side above, while a reduced sampling density can be used on the right integral. This procedure can also be used several times to gradually decrease the sampling rate. In the numerical simulations presented in Sect. 4, we use an oversampling factor of four to account for the singularity at \(\frac{\mu }{2\pi }\), and make sampling reduction in two steps, i.e., by a quadrature rule of the form

$$\begin{aligned} \int _{|\sigma |\ge \frac{\mu }{2\pi }} \!\!\!\!\!\! |\sigma |h(\sigma )d\sigma \approx \sum _{|k|<K_1} \!\!\! w_{4k} h(\sigma _{4k})+\sum _{|k|<K_2} \!\!\! w_{4k+2} h(\sigma _{4k+2})+\sum _{|k|<K_3} \!\!\!w_{2k+1} h(\sigma _{2k+1}), \end{aligned}$$
(20)

where \(K_3\le K_2<<K_1\). The setup is illustrated in the right panels of Fig. 1.

4 Numerical Simulations

In this section reconstruction results and computational speed tests are presented. C++ routines were written for the fast exponential Radon transform and the fast Laplace transform along with MEX interfaces to MATLAB. For accelerations we used the tools from Intel Composer XE 2016, including the Intel Math Kernel Library (MKL), Intel Performance Primitives (IPP), and OpenMP API. For the simulation we used a standard desktop with an Intel i7-3820K processor and eight OpenMP threads, and the computations were performed in single precision.

Fig. 2
figure 2

Weighting with factor \(e^{\mu t}\) for a line through the phantom image. Exponential weight \(y(t)=e^{\mu t}\) is plotted by the dashed line, ratios between maximal and minimal weights equal to 1, 10, 100, 1000, respectively

To begin with, accuracy tests were performed on the Shepp–Logan [19] phantom, where we use the modified version available in MATLAB. The phantom consists of linear combinations of characteristic functions of ellipses, and its support is inscribed in a circle, see the left panel of Fig. 2. The red line is depicted with correspondence to a specific angle \(\theta \) and polar sample s. Values through this line multiplied by factor \(e^{\mu t}\) are plotted in the left panel of Fig. 2. The upper part of Fig. 3 show the exponential Radon transform for different values of the exponential parameter \(\mu \).

Fig. 3
figure 3

Exponential Radon data of the Shepp–Logan phantom for different values of the exponential parameter \(\mu \). Corresponding reconstruction with the FBP method

In order to make accuracy comparisons, we do not carry out comparisons with the original function, but use instead a slightly smoothed out version of the phantom. This is to account for the fact that the characteristic function of the ellipses does not decay rapidly in the frequency domain, and hence high-frequency errors would be dominant in the error plots. A reconstruction method using only a finite frequency range should have as aim to recover that frequency range accurately, and it is therefore natural to measure the accuracy in this way. The minor smoothing effect can be noted in the plots of Fig. 2.

The lower part of Fig. 3 illustrates reconstruction errors for different values of \(\mu \) chosen to be the same as for the corresponding projection from the upper part of the same figure. To show how the choice of \(\mu \) affects the reconstruction we compute reconstructions using the fast Laplace based filtered back-projection. -12pt

Fig. 4
figure 4

Influence of the Gaussian noise (SNR = 20) on the inversion with the FBP method for different attenuation parameter \(\mu \)

In the filtered back-projection method the high-frequency components are boosted, and boosting of high frequent noise is also caused by the exponential factor in the back-projection operator. In particular for high attenuation parameters, this reconstruction technique becomes sensitive to noise. This is illustrated in Fig. 4, which shows filtered-back-projection reconstruction results for varying values of the attenuation parameter \(\mu \). The Radon data for these different attenuation values are contaminated with white Gaussian noise with a signal-to-noise ratio (SNR) of 20 dB.

Table 1 Computational times for the exponential Radon transform for images of size (\(N\times N\)) with \(N_\theta = \lceil \pi N\rceil \)

Let us now turn our attention to the computational speed of the reconstruction method. Tables 1 and 2 show the total times of the simulations and the times per operation (to verify the time complexity) of applying the exponential Radon transform and backprojection, respectively, for different image sizes.

The time complexity of USFLT is \(\mathcal {O}(\nu ^2 N^2 \log N+(2M+1)(2M+1)N^2)\) (see Appendix), and that is the main computational part of the exponential Radon transform. Typically M is about 8–10 for single precision in the case where \(\mu \) represents variations of up to a factor of \(\ln (1000)\), therefore in practice the factor \((2M+1)(2M+1)\) will dominate the \(\nu ^2\log N\) factor. This effect can be seen in the ratio columns of Tables 1 and 2. We also verify that the USFLT-based method outperforms the direct method as expected.

Table 2 Computational times for backprojection of the exponential Radon transform for images of size (\(N\times N\)) with \(N_\theta =\lceil \pi N\rceil \)

5 Conclusions

We have shown how to construct fast algorithms for the computation of the exponential Radon transform and the associated (adjoint) back-projection operator by using algorithms for fast Laplace transforms. In addition, we have included estimates for the discretization errors that arise, and shown how to separate them into parts where one bears similarities to standard sampling arguments of (almost) bandlimited functions, and where the other part is due to the approximation errors arising in the fast Laplace transform. The latter part can be controlled at arbitrary numerical precision.