1 Introduction

In computerized tomography, a X-ray source is rotated around the investigated object while illuminating the specimen. The measured data correspond to integrals along straight lines of a function f, describing the X-ray attenuation coefficient of the object. In two dimensions, the operator that maps f into the set of its line integrals is the Radon transform

$$\begin{aligned} {\mathcal {R}} f (\varphi ,s) = \int _{{\mathbb {R}}^2} f(x) \, \delta (s-x^T\theta (\varphi )) \, {\mathrm {d}}x, \quad \varphi \in [0,2\pi ], \ s \in {\mathbb {R}}, \end{aligned}$$
(1)

with \(\theta (\varphi )=(\cos \varphi , \sin \varphi )^T\) and the delta-distribution \(\delta\). To recover f from its measured Radon data g, the inverse problem \({\mathcal {R}} f =g\) has to be solved.

Since the rotation of the source takes a certain amount of time, the data acquisition is time-dependent. Temporal changes of the object during this period lead to inconsistent data, i.e. g is not in the range of \({\mathcal {R}}\). Thus, the application of standard reconstruction methods like filtered backprojection, iterative methods etc. [14] leads to motion artefacts in the images which can severely impede visual or numerical image evaluation for the diagnostic analysis. This occurs in medical imaging, for example due to respiratory or cardiac motion, as well as in non-destructive testing, e.g. while imaging driven liquid fronts.

Several methods have been proposed to reduce the motion artefacts. In the special case of periodic deformations like respiratory or cardiac motion, gating methods can be applied [2, 15]. A more general approach is based on incorporating the object’s dynamic behaviour within the reconstruction method [1, 3, 4, 7, 8]. However, many of these approaches are only valid for a specific type of deformation, especially affine deformations.

In this article, we propose to exploit recent results from the microlocal analysis of the dynamic setting [5] which leads to methods extracting the contours of the objects without motion artefacts. Although no exact inversion formula is known so far in the general dynamic case, our discussion and numerical results reveal that this framework can also provide good approximations to the exact density.

In general, the dynamic behaviour is a priori unknown and, hence, has to be extracted from the measured data. In [13], the parameters of a global linear scaling are determined by detecting traces of nodal points in the sinogram. For global rotations and translations, an estimation procedure using data consistency conditions is provided in [18]. Iterative procedures are, for example, based on edge entropy [9], or perform estimation and reconstruction steps simultaneously [17]. In this article, we extend the idea of [13] to more general types of deformations. At the example of affine and certain non-affine deformations, respectively, we illustrate how their parameters can be efficiently determined such that the derived motion information can be utilized to compensate for the motion.

The article is organized as follows. In Sect. 2, we introduce the mathematical model of dynamic computerized tomography. On the assumption that the motion is known, we develop a strategy for contour extraction from dynamic Radon data as well as a regularization scheme in Sect. 3. Section 4 is devoted to the derivation of a motion estimation procedure. Its feasibility is illustrated at numerical examples combining our motion estimation and compensation strategies in Sect. 5.

2 The Mathematical Framework

2.1 Computerized Tomography with Moving Objects

The time-dependent step of the data acquisition in computerized tomography is the rotation of the X-ray source since X-ray beams from only one source position are emitted at the same time. Thus, each source position can be uniquely identified by a time instance t and vice versa. Concerning the Radon transform (1), the source position is parameterized by the angle \(\varphi \in [0,2\pi ]\). Its relation to a time instance \(t_\varphi\) is given by \(\varphi = t_\varphi \phi\) with the constant angular velocity \(\phi\) of the radiation source. Therefore, in our notation, \(\varphi\) is interpreted as time instance and \([0,2\pi ]\) as time interval, respectively.

The dynamic behavior of the specimen is considered to be due to particles which change position in time in a fixed coordinate system of \({\mathbb {R}}^2\). This physical interpretation allows the following mathematical description:

Let f denote the X-ray attenuation coefficient of the specimen at the beginning of the scanning, i.e. at time instance \(\varphi =0\). We call f reference function throughout the article. Without loss of generality, we consider \(f\in L_2(V_1(0))\) with the unit circle \(V_1(0)\) [14]. The object’s state at a time instance \(\varphi\) is then described by \(f_\varphi\) with

$$\begin{aligned} f_{\varphi }(x):= f(\varGamma _\varphi x). \end{aligned}$$
(2)

Within this model, the diffeomorphic motion function \(\varGamma _\varphi\) denotes which particle is at coordinate x at time \(\varphi\), with \(\varGamma _0\) being the identity map. Conversely, the inverse \(\varGamma _\varphi ^{-1} x\) denotes the position of the particle initially at coordinate x at time instance \(\varphi\). Especially, the mapping

$$\begin{aligned}&{\text {tr}}_x : [0,2\pi ] \rightarrow {\mathbb {R}}^2\\&{\text {tr}}_x (\varphi )=\varGamma _\varphi ^{-1} x \end{aligned}$$

describes the trajectory of a fixed particle (the one initially at coordinate x) over time. In many (medical) applications, the evolution of the specimen is smooth in time. Therefore, we consider

$$\begin{aligned} \varGamma : [0,2\pi ]\times {\mathbb {R}}^2 \rightarrow {\mathbb {R}}^2, \ \varGamma (\varphi ,x) := \varGamma _\varphi (x) \end{aligned}$$

to be smooth with respect to \(\varphi\). Such motion models are commonly used in the literature, see e.g. [1, 8].

In this article, we consider deformations \(\varGamma _\varphi , \, \varphi \in [0,2\pi ]\), which further fulfill the following properties:

  1. (i)

    For each \(\varphi\), the map

    $$\begin{aligned} x \mapsto \begin{pmatrix} H(\varphi ,x)\\ D_\varphi H(\varphi ,x) \end{pmatrix} \end{aligned}$$
    (3)

    is one-to-one, with \(H(\varphi ,x):= (\varGamma _\varphi ^{-1}x)^T\theta (\varphi )\) and \(D_\varphi\) the gradient with respect to \(\varphi\).

  2. (ii)

    It holds

    $$\begin{aligned} \displaystyle {\det \begin{pmatrix} D_x H(\varphi ,x)\\ D_xD_\varphi H(\varphi ,x) \end{pmatrix} \ne 0 \quad \forall \ x,\varphi .} \end{aligned}$$
    (4)

Basically, these conditions ensure that the object’s motion does not result in trivial sampling schemes for f. A detailed interpretation of these properties is given in [5].

The measured data g for a moving object correspond to

$$\begin{aligned} g(\varphi ,s) = {\mathcal {R}} f_{\varphi } (\varphi ,s). \end{aligned}$$

Incorporating the relation (2) yields the following dynamic forward operator

$$\begin{aligned} {\mathcal {R}}_{\varGamma }f(\varphi ,s)&:= \int _{{\mathbb {R}}^2} f(\varGamma _\varphi x) \, \delta (s-x^T\theta (\varphi )) \, {\mathrm {d}}x. \end{aligned}$$

The change of variables \(z:= \varGamma _\varphi x\) reveals, that this operator integrates f along the curves

$$\begin{aligned} C(\varphi ,s) = \left\{ x \in {\mathbb {R}}^2 : (\varGamma _\varphi ^{-1} x)^T\theta (\varphi )=s \right\} . \end{aligned}$$

The trajectory of a fixed particle x in the measured data is therefore given by

$$\begin{aligned}&{\text {s}}_x : [0,2\pi ] \rightarrow {\mathbb {R}}\\&{\text {s}}_x (\varphi )=(\varGamma _\varphi ^{-1} x)^T\theta (\varphi ). \end{aligned}$$

We denote the backprojection operator by \({\mathcal {R}}_\varGamma ^t\) and define it as

$$\begin{aligned} {\mathcal {R}}_\varGamma ^t g(x) = \int _0^{2\pi } |\det D_x\varGamma _\varphi ^{-1}x|\, g\left( \varphi ,(\varGamma _\varphi ^{-1}x)^T\theta (\varphi )\right) \, {\mathrm {d}}\varphi , \end{aligned}$$
(5)

see [5] for details.

The overall goal is to stably recover f from measured dynamic data \(g={\mathcal {R}}_\varGamma f\) with unknown motion maps \(\varGamma _\varphi , \ \varphi \in [0,2\pi ]\). In Sect. 4, we present a procedure which determines information about \(\varGamma _\varphi\) directly from g without knowledge of f. This shows that the two tasks estimation of \(\varGamma\) and reconstruction of f can be decoupled. Therefore, we first address the recovery of f from \(g={\mathcal {R}}_{\varGamma }f\) with known motion \(\varGamma\). In this context, pseudodifferential operators will arise. Thus, we now give a short introduction to this class of operators.

2.2 Pseudodifferential Operators

The concept of pseudodifferential operators (\(\psi \hbox {DOs}\)) can be seen as an extension of partial differential operators via the Fourier transform.

Here, we introduce the formal definition of a \(\psi \hbox {DO}\) \({\mathcal {P}}\) acting on a function or distribution g with domain \([0,2\pi ] \times {\mathbb {R}}\). For the general definition, see [6, 10, 16] Throughout the article, the Fourier transform of g is defined as

$$\begin{aligned} \widehat{g}(\varphi ,\sigma ) := (2\pi )^{-1/2} \int _{\mathbb {R}} g(\varphi ,s) e^{-is\sigma } \, {\mathrm {d}}\sigma . \end{aligned}$$

Definition 1

Let \(\varOmega \subset {\mathbb {R}}\) be an open interval, and let \([0,2\pi ]\times \varOmega\) be the domain of g. A pseudodifferential operator of order m is an operator of the form

$$\begin{aligned} {\mathcal {P}}g(\varphi ,s) = (2\pi )^{-1} \int e^{i\sigma (s-\tau )}\, p(s,\tau ,\sigma )\, g(\varphi ,\tau )\, {\mathrm {d}}\tau \, {\mathrm {d}}\sigma , \end{aligned}$$

where the symbol p satisfies the following properties:

  1. (i)

    \(\displaystyle {p(s,\tau ,\sigma ) \in C^\infty (\varOmega \times \varOmega \times {\mathbb {R}}\setminus \lbrace 0\rbrace )}\),

  2. (ii)

    For every compact set \(K\subset \varOmega\) and index \(\alpha , \beta , \gamma \in {\mathbb {N}}\),

    1. (a)

      there is a constant \(C=C(K,\alpha ,\beta ,\gamma )\) such that

      $$\begin{aligned} |D_s^\alpha D_\tau ^\beta D_\sigma ^\gamma p(s,\tau ,\sigma )| \le C(1+\Vert \sigma \Vert )^{m-|\gamma |}, \quad {\text {for}} \ |\sigma |>1, \end{aligned}$$
    2. (b)

      and p is locally integrable for \(s,\tau \in K\) and \(|\sigma |\le 1\).

The operator \({\mathcal {P}}\) is elliptic of order m if for each compact set \(K\subset \varOmega\), there is a constant \(C_K>0\) such that for \(s, \tau \in K\) and \(|\sigma |\ge C_K\)

$$\begin{aligned} |p(s,\tau ,\sigma )|\ge C_K(1+|\sigma |)^m. \end{aligned}$$

According to this definition, \({\mathcal {P}}\) acts only on the second variable of g. Therefore, we can consider p depending on \(\varphi\) as well. In this case,

$$\begin{aligned} {\mathcal {P}}g(\varphi ,s) = (2\pi )^{-1} \int e^{i\sigma (s-\tau )}\, p(\varphi ,s,\tau ,\sigma )\, g(\varphi ,\tau )\, {\mathrm {d}}\tau \, {\mathrm {d}}\sigma \end{aligned}$$

is a \(\psi \hbox {DO}\) if p satisfies the above properties for each \(\varphi \in [0,2\pi ]\).

If the symbol \(p(\varphi ,s,\sigma )\) is independent of \(\tau\), this representation simplifies to

$$\begin{aligned} {\mathcal {P}}g(\varphi ,s) = (2\pi )^{-1/2} \int p(\varphi ,s,\sigma ) \, \widehat{g}(\varphi ,\sigma ) \, e^{is\sigma }\, {\mathrm {d}}\sigma . \end{aligned}$$
(6)

3 Artefact Reduction Strategies for Known Motion

3.1 A Motion Compensation Approach

In [5], the authors proved the following property of the dynamic forward operator.

Theorem 1

\({\mathcal {R}}_{\varGamma }\) is a Fourier Integral Operator

$$\begin{aligned} {\mathcal {R}}_{\varGamma }f(\varphi ,s) = \int f(x) \, a(\varphi ,s,x,,\sigma ) \, e^{i\varPhi (\varphi ,s,x,\sigma )} \, {\mathrm {d}}x {\mathrm {d}}\sigma \end{aligned}$$

with phase function

$$\begin{aligned} \varPhi (\varphi ,s,x,\sigma ) = \sigma (s-(\varGamma _\varphi ^{-1} x)^T \theta (\varphi )) \end{aligned}$$

and amplitude

$$\begin{aligned} a(\varphi ,s,x,\sigma )=(2\pi )^{-1} |\det D_x\varGamma _\varphi ^{-1}x|. \end{aligned}$$

From the theory of Fourier Integral operators, we known that this kind of operators encode the singularities of f in a unique way. Formally, singularities of a distribution are defined as the elements in the complement of the largest open set on which the distribution is \(C^\infty\) smooth. In imaging applications, singularities typically constitute the contours of a piecewise smooth object. Therefore, we focus in the following on the contour extraction as motion compensation strategy.

Using the mathematical theory of microlocal analysis, the authors in [5] derived the following property.

Theorem 2

Let \(\varGamma _\varphi , \, \varphi =[0,2\pi ]\) satisfy the conditions (3), (4), and let \({\mathcal {L}}\) be the operator defined by

$$\begin{aligned} {\mathcal {L}}f := {\mathcal {R}}_\varGamma ^t {\mathcal {P}}{\mathcal {R}}_{\varGamma }f \end{aligned}$$
(7)

with an elliptic pseudodifferential operator \({\mathcal {P}}\).

Then, \({\mathcal {L}}\) preserves the contours of f which are ascertained in the measured data.

Proof

The statement of the theorem follows directly from Theorem 26 in [5]. \(\square\)

Interpretation of Theorem 2: By computing

$$\begin{aligned} {\mathcal {L}}f = {\mathcal {R}}_\varGamma ^t {\mathcal {P}}g \end{aligned}$$

from the measured dynamic data \(g={\mathcal {R}}_{\varGamma }f\), we are guaranteed to obtain the contours of f, as far as encoded in the data, without motion artefacts.

Therefore, in the following, we propose to exploit this property (which can be interpreted as an approximate inversion formula) to develop an analytic reconstruction procedure eliminating motion artefacts.

Remark

  1. (i)

    Under the conditions (3) and (4) on \(\varGamma\), a singularity \(x_0\) is ascertained in the measured data if and only if there exists an integration curve \(C(\varphi ,s)\) passing through \(x_0\), whose tangent at \(x_0\) is perpendicular to the normal vector \(\xi _0\) of the contour at \(x_0\). This is illustrated in Fig. 1 and derived in detail in [5].

    In the static case, this property is fulfilled for all singularities \(x_0\) if Radon data for the complete angular range \([0,2\pi ]\) are available. However, the dynamic behavior of the object can cause that the above condition is no longer fulfilled for all singularities \(x_0\) and hence leads to limited data. In this case, the information about such a singularity is not contained in the measured data, even if the radiation source completes one turn around the object. Especially, no reconstruction algorithm will be able to return this information without additional knowledge.

  2. (ii)

    According to Theorem 2, \({\mathcal {L}}f\) will not show motion artefacts. However, some additional artefacts might occur if the motion is non-periodic. They would be caused by singularities ascertained at the beginning and the end of the scanning, and they would spread along the respective integration curve. These additional artefacts have been studied in detail in [5].

    Please note that both scenarios are intrinsic due to the nature of the dynamic problem.

Fig. 1
figure 1

Illustration of an ascertained singularity

3.2 An Example for Choosing the Pseudodifferential Operator \({\mathcal {P}}\)

For g with domain \([0,2\pi ]\times {\mathbb {R}}\), the Riesz potential \({\mathcal {I}}^{-1}\) is defined by

$$\begin{aligned} \widehat{{\mathcal {I}}^{-1} g}(\varphi ,\sigma ) := |\sigma | \, \widehat{g}(\varphi ,\sigma ). \end{aligned}$$

According to Definition 1, \({\mathcal {I}}^{-1}\) is an elliptic \(\psi \hbox {DO}\) with symbol \(p(\sigma )=|\sigma |\).

In the static case, i.e. \(\varGamma _\varphi\) corresponding to the identity for all \(\varphi\), (7) with \({\mathcal {P}}={\mathcal {I}}^{-1}\) and the inversion formula for the Radon transform [14] yields

$$\begin{aligned} {\mathcal {L}}f = {\mathcal {R}}^t {\mathcal {I}}^{-1} g = 4\pi \, {\mathcal {R}}^{-1} g = 4\pi \, f, \end{aligned}$$

and hence, we can obtain the exact values of the attenuation coefficient.

For certain affine deformations \(\varGamma _\varphi := A_\varphi x + b_\varphi , \ A_\varphi \in {\mathbb {R}}^{2\times 2}, \, b_\varphi \in {\mathbb {R}}^2, \ \varphi \in [0,2\pi ]\), it holds the exact inversion formula [3]

$$\begin{aligned} f = \frac{1}{4\pi } {\mathcal {R}}_\varGamma ^t \left( |\det A_\varphi |^2 \, |h(\varphi )| {\mathcal {I}}^{-1}{\mathcal {R}}_\varGamma f \right) \end{aligned}$$

with

$$\begin{aligned} h(\varphi ) := \left( (A_\varphi ^{-1})^T\theta (\varphi )\right) _1 \frac{\partial }{\partial \varphi } \left( (A_\varphi ^{-1})^T\theta (\varphi )\right) _2 - \left( (A_\varphi ^{-1})^T\theta (\varphi )\right) _2 \frac{\partial }{\partial \varphi }\left( (A_\varphi ^{-1})^T\theta (\varphi )\right) _1. \end{aligned}$$

Thus, by choosing \({\mathcal {P}}\) as the motion-dependent \(\psi \hbox {DO}\) with symbol

$$\begin{aligned} p(\varphi ,\sigma ) := |\det A_\varphi |^2 \, |h(\varphi )| \, (4\pi )^{-1}\,|\sigma |, \end{aligned}$$

(7) can provide the exact density values as well.

For general deformations, no inversion formula is known so far and it remains an open problem on how \({\mathcal {P}}\) has to be choosen such that \({\mathcal {L}}\) equals the identity operator. However, utilizing \({\mathcal {P}}={\mathcal {I}}^{-1}\) provides at least a reconstruction which preserves all encoded contours of f. Moreover, our numerical results in Sect. 5 illustrate that this choice can actually provide a very good approximation to the exact attenuation coefficient.

3.3 Regularization Scheme

For the stable recovery of \({\mathcal {L}}f\) from the measured data g, a regularization is required due to the ill-posed nature of the problem. Based on (7) and a certain class of pseudodifferential operators, we derive a regularization scheme in analogy to the filtered backprojection in the static case.

Let \({\mathcal {P}}\) be a \(\psi \hbox {DO}\) whose symbol \(p(\varphi ,\sigma )\) is independent of s and \(\tau\). In this case, \({\mathcal {L}}f\) of form (7) with \(g={\mathcal {R}}_{\varGamma }f\) is given by

$$\begin{aligned} {\mathcal {L}} f (x)&= \int _0^{2\pi } |\det D_x\varGamma _\varphi ^{-1}x| \, {\mathcal {P}}g(\varphi ,(\varGamma _\varphi ^{-1}x)^T\theta (\varphi )) \, {\mathrm {d}}\varphi \nonumber \\&= (2\pi )^{-1/2} \int _0^{2\pi } |\det D_x\varGamma _\varphi ^{-1} x| \int _{\mathbb {R}} p(\varphi ,\sigma ) \, \widehat{g}(\varphi ,\sigma ) \, e^{i(\varGamma _\varphi ^{-1}x)^T\sigma \theta (\varphi )}\, {\mathrm {d}}\sigma {\mathrm {d}}\varphi , \end{aligned}$$

where we used the integral representations (5) and (6) for \({\mathcal {R}}_\varGamma ^t\) and \({\mathcal {P}}\), respectively.

According to our previous discussion, \(\psi \hbox {DOs}\) related to Riesz potentials represent a suitable choice. For such \(\psi \hbox {DOs}\), however, the symbol p tends to infinity as \(\sigma \rightarrow \pm \infty\), and hence, the high frequencies of the data are amplified. A regularized version \(({\mathcal {L}}f)^\gamma\) is therefore obtained by inserting a low-pass filter \(F^\gamma (\sigma )\), i.e.

$$\begin{aligned} ({\mathcal {L}}&f)^\gamma (x)\\&= (2\pi )^{-1/2} \int _0^{2\pi } |\det D_x\varGamma _\varphi ^{-1} x| \int _{\mathbb {R}} p(\varphi ,\sigma ) F^\gamma (\sigma )\, \widehat{g}(\varphi ,\sigma ) e^{i(\varGamma _\varphi ^{-1}x)^T\sigma \theta (\varphi )}\, {\mathrm {d}}\sigma {\mathrm {d}}\varphi . \end{aligned}$$

With \(\widehat{\psi }^\gamma (\varphi ,\sigma ) := (2\pi )^{-1/2} p(\varphi ,\sigma ) F^\gamma (\sigma )\), the convolution property of the Fourier transform results in

$$\begin{aligned} ({\mathcal {L}} f)^\gamma (x)&= {\mathcal {R}}_\varGamma ^t (\psi ^\gamma *g) (x), \end{aligned}$$

and hence an algorithm of type filtered backprojection for the dynamic case.

The filter \(\psi ^\gamma\) is independent of the data, and therefore can be precomputed. It is further independent of the dynamic behavior, if this is the case for the symbol p. Especially, choosing \({\mathcal {P}}\) with \(p(\varphi ,\sigma ) = |\sigma |\), i.e. as the Riesz potential, shows that any reconstruction kernel known from the static case can be used for the reconstruction from dynamic data as well. Further, within the respective reconstruction procedure, only the inverse motion functions \(\varGamma _\varphi ^{-1}, \ \varphi \in [0,2\pi ]\) are required (and not \(\varGamma _\varphi\) as well).

A more general regularization approach is based on the approximate inverse [11], where a smoothed version of \({\mathcal {L}}f\) is computed by evaluating linear functionals of the data and a precomputed reconstruction kernel. In general, the contour extraction can increase the degree of ill-posedness. The approximate inverse for feature reconstruction, developed in [12], provides an efficient and robust method by recovering the features directly from the data.

4 A Motion Estimation Procedure

The proposed motion compensation method requires a priori information about the dynamic behavior in form of suitable motion functions \(\varGamma _\varphi ^{-1}\). However, in applications, the deformation is unknown and has to be estimated from the measured motion-corrupted CT-data as well. To this end, we present now a method to estimate parameters describing the inverse motion functions from the dynamic data \(g={\mathcal {R}}_\varGamma f\).

The dynamic operator \({\mathcal {R}}_\varGamma\) maps a particle x on a sinusoidal curve

$$\begin{aligned} S_x^{{\text {dyn}}}&= \left\{ (\varGamma _\varphi ^{-1}x)^T\theta (\varphi ) =:{\text {s}}_x(\varphi ), \ \varphi \in [0,2\pi ]\right\} , \end{aligned}$$
(8)

see also Fig. 2. In the following, we assume that there are several nodal points \(x_i\), i.e. particles within the object with high density value, such that their trajectories \({\text {s}}_{x_i}(\varphi )\) could be detected from the sinogram \(g={\mathcal {R}}_\varGamma f\).

Remark

  1. (i)

    In applications, it is not possible to resolve a single particle x. Instead, we can consider a marker, i.e. a very small symmetric object, centered at x, which creates a narrow sinusoidal streak in the sinogram. Detecting the centerline of this streak then corresponds to the trajectory of the nodal point x, see Fig. 3 .

    Such markers can be generated e.g. by injecting a contrast agent or by attaching gold particles to the surface of the investigated object.

  2. (ii)

    The initial position \(x =((x)_1,(x)_2)^T \in {\mathbb {R}}^2\) of a nodal point might be unknown, especially if it is placed in the object’s interior. Since \(\varGamma _0\) corresponds to the identity, it holds however

    $$\begin{aligned} {\text {s}}_{x}(0) = {x}^T \theta (0) = (x)_1, \end{aligned}$$

    i.e. the component \((x)_1\) of x is provided by the detected trajectory. Further, it holds

    $$\begin{aligned} D_\varphi s_x(\varphi ) = \cos (\varphi )&\frac{\partial }{\partial \varphi } (\varGamma _\varphi ^{-1}x)_1 - \sin (\varphi ) (\varGamma _\varphi ^{-1}x)_1\\&+ \sin (\varphi ) \frac{\partial }{\partial \varphi } (\varGamma _\varphi ^{-1}x)_2 + \cos (\varphi ) (\varGamma _\varphi ^{-1}x)_2.\end{aligned}$$

    For \(\varphi\) in a vicinity of zero, \(\varGamma _\varphi ^{-1}\) corresponds approximately to the identity, leading to

    $$\begin{aligned} D_\varphi s(0) \approx (x)_2. \end{aligned}$$

    Thus, the marker position x can be detected from the measured data.

Fig. 2
figure 2

Trajectory \(s_x\) of a single particle at position \(x=(0.415,-0.665)^T\)

Fig. 3
figure 3

Sinogram of a circle with radius 0.03 centered at \(x=(0.415,-0.665)^T\) with its centerline (white)

Based on the detected values \({\text {s}}_{x_i}(\varphi ),\ \varphi \in [0,2\pi ]\) for several nodal points \(x_i, \, i=1,\dots M\), (8) yields the following system of equations

$$\begin{aligned} {\text {s}}_{x_i} (\varphi ) = \left( \varGamma _\varphi ^{-1}x_i\right) ^T \theta (\varphi ), \quad i=1,\dots ,M \end{aligned}$$
(9)

from which the unknown parameters of \(\varGamma _\varphi ^{-1}\) can be extracted for each time instance \(\varphi\).

4.1 Affine Deformations

In the following, we study the case of affine motion models in more detail, i.e. for each \(\varphi \in [0,2\pi ]\), it holds

$$\begin{aligned} \varGamma _\varphi ^{-1}x=A_\varphi x+b_\varphi , \end{aligned}$$

with unknown matrix \(A_\varphi \in {\mathbb {R}}^{2\times 2}\) and unknown translation vector \(b_\varphi \in {\mathbb {R}}^2\). The goal is to determine \(A_\varphi\) and \(b_\varphi\) for each \(\varphi \in [0,2\pi ]\) from the system of equations (9).

To this end, we consider a parametrization of \(\varGamma _\varphi , \ \varphi \in [0,2\pi ]\) which turns out to be suitable for the problem of motion compensation.

Let \(a_\varphi ^1, a_\varphi ^2 \in {\mathbb {R}}^2\) be the columns of the unknown matrix A. Since \(\lbrace \theta (\varphi ),\theta (\varphi )^\perp \rbrace\) forms an orthonormal basis on \({\mathbb {R}}^2\), there exists a unique representation of the vectors \(a_\varphi ^1,a_\varphi ^2\) and \(b_\varphi\) in this basis:

$$\begin{aligned} a^1_\varphi&= v_{1,\varphi }\theta (\varphi ) + w_{1,\varphi }\theta (\varphi )^\perp , \quad v_{1,\varphi }, w_{1,\varphi } \in {\mathbb {R}},\\ a_\varphi ^2&=v_{2,\varphi }\theta (\varphi ) + w_{2,\varphi }\theta (\varphi )^\perp , \quad v_{2,\varphi }, w_{2,\varphi } \in {\mathbb {R}},\\ b_\varphi&=v_{3,\varphi }\theta (\varphi )+w_{3,\varphi }\theta (\varphi )^\perp , \quad v_{3,\varphi }, w_{3,\varphi } \in {\mathbb {R}}. \end{aligned}$$

For time instance \(\varphi\), the dynamic operator \({\mathcal {R}}_\varGamma\) integrates along the curves

$$\begin{aligned} \left\{ x\in {\mathbb {R}}^2: (\varGamma _\varphi ^{-1}x)^T\theta (\varphi ) = s \right\} , \quad s \in {\mathbb {R}}. \end{aligned}$$

With our representation of \(\varGamma _\varphi\), it holds

$$\begin{aligned} (\varGamma _\varphi ^{-1}x)^T\theta (\varphi )&= x^T(A_\varphi ^T\theta (\varphi )) + b_\varphi ^T\theta (\varphi )\nonumber \\&=x^T\begin{pmatrix}{a_\varphi ^1}^T\theta (\varphi )\\ {a_\varphi ^2}^T\theta (\varphi )\end{pmatrix} + b_\varphi ^T\theta (\varphi ) \nonumber \\&= x^T\begin{pmatrix}v_{1,\varphi }\\ v_{2,\varphi }\end{pmatrix} + v_{3,\varphi } . \end{aligned}$$
(10)

Thus, the integration curve at time instance \(\varphi\) depends only on the components of \(\varGamma _\varphi\) in direction \(\theta (\varphi )\). If \(\widetilde{\varGamma }_\varphi\) denotes an affine motion function with parameters

$$\begin{aligned} \tilde{a}_\varphi ^1&= v_{1,\varphi }\theta (\varphi ) + \rho \, \theta (\varphi )^\perp , \quad \rho \in {\mathbb {R}}\\ \tilde{a}_\varphi ^2&=v_{2,\varphi }\theta (\varphi ) + \tau \, \theta (\theta )^\perp , \quad \tau \in {\mathbb {R}}\\ \tilde{b}_\varphi&=v_{3,\varphi }\theta (\varphi ) + \nu \theta (\varphi )^\perp , \quad \nu \, \in {\mathbb {R}}, \end{aligned}$$

then

$$\begin{aligned} (\widetilde{\varGamma }_\varphi ^{-1}x)^T\theta (\varphi ) = (\varGamma _\varphi ^{-1}x)^T\theta (\varphi ). \end{aligned}$$

Hence, \(\widetilde{\varGamma }_\varphi\) and \(\varGamma _\varphi\) lead to the same data set \({\mathcal {R}}_\varGamma = {\mathcal {R}}_{\widetilde{\varGamma }}.\) Therefore, to compensate for the object’s motion, it is sufficient to know the parameters \(v_{1,\varphi }, \, v_{2,\varphi }, \, v_{3,\varphi } \in {\mathbb {R}}\) for each \(\varphi \in [0,2\pi ]\).

For each nodal point \(x_i, \ i=1,\dots ,M\) and for each \(\varphi\), combining (10) and (9) leads to the equation

$$\begin{aligned} \left( (x_i)_1 \ \ (x_i)_2 \ \ 1 \right) \begin{pmatrix}v_{1,\varphi }\\ v_{2,\varphi }\\ v_{3,\varphi }\end{pmatrix} = {\text {s}}_{x_i}(\varphi ). \end{aligned}$$

For \(M\ge 3\) nodal points, this results for each \(\varphi\) in the linear system of equations

$$\begin{aligned} \left( X_1 \ \ {{X_2}} \ \ {{1}}\right) \begin{pmatrix} v_{1,\varphi }\\ v_{2,\varphi }\\ v_{3,\varphi } \end{pmatrix} = S(\varphi ), \end{aligned}$$

with

$$\begin{aligned} {{1}} := (1,\dots ,1)^T \in {\mathbb {R}}^M, \quad S(\varphi ) := ({\text {s}}_{x_1}(\varphi ),\dots ,{\text {s}}_{x_M}(\varphi ))^T, \end{aligned}$$

the latter comprising the detected trajectory values, and

$$\begin{aligned} {{X_1}} := \left( (x_1)_1, \dots ,(x_M)_1\right) ^T, \quad {{X_2}} := \left( (x_1)_2,\dots ,(x_M)_2\right) ^T \end{aligned}$$

being the vectors containing the first and second component of the nodal points, respectively.

From the parameters \(v_{1,\varphi },v_{2,\varphi },v_{3,\varphi }\), we obtain motion functions \(\widetilde{\varGamma }_\varphi\) suitable for motion compensation via

$$\begin{aligned} \widetilde{\varGamma }_\varphi ^{-1}x := \begin{pmatrix} v_{1,\varphi } (\theta (\varphi ))_1 - \rho (\theta (\varphi ))_2 \ \ &{} v_{2,\varphi }(\theta (\varphi ))_1-\tau (\theta (\varphi ))_2\\ v_{1,\varphi }(\theta (\varphi ))_2 + \rho (\theta (\varphi ))_1 \ \ &{} v_{2,\varphi }(\theta (\varphi ))_2 + \tau (\theta (\varphi ))_1 \end{pmatrix} x + v_{3,\varphi }\theta (\varphi ). \end{aligned}$$
(11)

The free parameters \(\tau , \rho \in {\mathbb {R}}\) should be chosen such that the determinant of the matrix, i.e. \(|\tau v_{1,\varphi } - \rho v_{2,\varphi }|\), is larger than zero in order to ensure the diffeomorphism property of \(\widetilde{\varGamma }_\varphi\). A suitable choice is, e.g., given by \(\tau :=v_{1,\varphi }\) and \(\rho :=-v_{2,\varphi }\).

Further, the location of the nodal points can ensure the linear independency of the matrix \(\left( {{X_1}} \ \ {{X_2}} \ \ {{1}}\right)\) as well as an optimal condition number.

4.2 Extension to Certain Nonlinear Deformations

The above described procedure can be extended to non-linear deformations \(\varGamma _\varphi , \ \varphi \in [0,2\pi ]\), of the form

$$\begin{aligned} \varGamma _\varphi ^{-1} x = b_\varphi + \sum _{j=1}^N A_\varphi ^{(j)} x^j \end{aligned}$$
(12)

with \(A^{(j)}_\varphi \in {\mathbb {R}}^{2\times 2}, \ b_\varphi \in {\mathbb {R}}^2\). The j-th power of a vector \(x = ((x)_1,(x)_2)^T\) is considered componentwise, i.e.

$$\begin{aligned} x^j := \begin{pmatrix}(x)_1^j\\ (x)_2^j\end{pmatrix}, \quad j=1,\dots ,N. \end{aligned}$$

Remark

For general non-linear deformations which are N-times differentiable, such a representation could be obtained by formally approximating \(\varGamma _\varphi ^{-1}\) componentwise by Taylor polynomials around zero of order N.

With such a representation, we obtain

$$\begin{aligned} (\varGamma _\varphi ^{-1} x)^T\theta (\varphi )&= \left( b_\varphi + \sum _{j=1}^N A_\varphi ^{(j)} x^j \right) ^T\theta (\varphi ) = \sum _{j=1}^{N} (A_\varphi ^{(j)} x^j)^T \theta (\varphi ) + b_\varphi ^T\theta (\varphi )\\&= \sum _{j=1}^{N} ( x^j)^T ({A_\varphi ^{(j)}}^T\theta (\varphi )) + b_\varphi ^T\theta (\varphi ). \end{aligned}$$

Thus, in analogy to the affine case with \(v_{1,\varphi }^{(j)}, v_{2,\varphi }^{(j)}\) denoting the components of the columns of \(A^{(j)}\) in direction \(\theta (\varphi )\), and \(v_3:=b^T\theta (\varphi )\), we obtain

$$\begin{aligned} (\varGamma _\varphi ^{-1} x)^T\theta (\varphi ) = \sum _{j=1}^N \left( v_{1,\varphi }^{(j)}x_1^j + v_{2,\varphi }^{(j)} x_2^j\right) + v_{3,\varphi }. \end{aligned}$$

For \(M\ge 2N+1\) nodal points, this leads together with (9) for each time instance \(\varphi\) to the linear system of equations

$$\begin{aligned} \left( {{X_1}} \ \ \dots \ \ {{X_1^N}} \ \ {{X_2}} \ \ \dots \ \ {{X_2^N}} \ \ {{1}}\right) \begin{pmatrix} v^{(1)}_{1,\varphi }\\ \vdots \\ v^{(N)}_{1,\varphi } \\ v_{2,\varphi }\\ \vdots \\ v^{(N)}_{2,\varphi } \\ v_{3,\varphi } \end{pmatrix} = S(\varphi ). \end{aligned}$$

The set up of the estimated motion function \(\widetilde{\varGamma }_\varphi ^{-1}\) occurs in analogy to (11).

5 Numerical Results

We evaluate our methods at two numerical phantoms with affine and non-affine dynamic behavior, respectively. In both cases, the Radon data are computed with \(P=300\) directions, covering the upper half circle, and 451 detector points.

5.1 Affine Deformations

We consider the chest phantom in Fig. 4, whose respiratory motion during the data collection is modelled by affine motion functions \(\varGamma _\varphi x=A_\varphi x+b_\varphi\) with

$$\begin{aligned} A_\varphi := {\text {diag}}(z(\varphi ),z(\varphi )^{-1}), \quad b_\varphi = (0.44(1-z(\varphi )),0)^T \end{aligned}$$

and

$$\begin{aligned} z(\varphi )=0.05 \cos (0.042 \cdot \varphi \, P/\pi )+0.95. \end{aligned}$$
Fig. 4
figure 4

Chest phantom. Left reference state (\(t=0\), state before inhale). Right state before exhale

To illustrate the motion compensation property of our reconstruction approach, we use the regularization scheme described in Sect. 3.3 with \({\mathcal {P}}={\mathcal {I}}^{-1}\), the Dawson filter [12]

$$\begin{aligned} \psi ^\gamma (s) = \frac{1}{2\pi ^2\gamma ^2} \left( 1-\frac{\sqrt{2}s}{\gamma } D\left( \frac{s}{\sqrt{2}\gamma }\right) \right) , \end{aligned}$$

where D denotes the Dawson’s integral

$$\begin{aligned} D(s) = \exp (-s^2) \int _0^s \exp (t^2)\, {\mathrm {d}}t, \end{aligned}$$

and the exact motion parameters. The result in Fig. 5 shows that the motion artefacts are actually eliminated, compared to the reconstruction result with a standard filtered backprojection algorithm from the static case, see Fig. 6. Further, the cross-sections in Fig. 5 reveal that we even obtain a good approximation to the exact density values. The actual contours of the specimen can be obtained, e.g., by choosing \({\mathcal {P}}\) with symbol \(p(\varphi ,\sigma )={\mathrm {i}} \, {\mathrm {sign}}(\sigma ) \sigma ^2 (\cos (\varphi )+\sin (\varphi ))\), see Fig. 7.

Fig. 5
figure 5

Dynamic reconstruction with exact motion parameters, and its cross-sections along the \((x)_1\)-axis (top right) and \((x)_2\)-axis (bottom right)

To estimate the motion parameters, we add three external markers, represented by small circles of radius 0.03 at positions \((-0.64 , 0)^T, \ (0 , 0.85)^T\) and \((0.415 , -0.665)^T\), respectively. The centerlines of their trajectories are estimated directly from the respective Radon data, see Fig. 8. The reconstruction of the reference function with the estimated parameters still provides a good visualization of the original phantom, see Fig. 9. The stability of the presented method is illustrated in Fig. 10, where motion estimation and compensation are performed on a data set disturbed by a sample of noise uniformly distributed in \([-0.02, 0.02]\). A comparison of the estimated motion parameters from noisy data and the respective exact values is displayed in Fig. 11.

Fig. 6
figure 6

Reconstruction with filtered backprojection from the static case

Fig. 7
figure 7

Direct reconstruction of the contours from dynamic data

Fig. 8
figure 8

Sinogram of the three nodal points for the chest phantom with detected trajectories

Fig. 9
figure 9

Dynamic reconstruction with estimated motion parameters from exact data

Fig. 10
figure 10

Dynamic reconstruction with estimated motion parameters from noisy data

Fig. 11
figure 11

Exact motion parameters \(v_{1,\varphi }, v_{2,\varphi }, v_{3,\varphi }\) (from left to right, solid lines) and estimated motion parameters from noisy data (dotted lines)

5.2 Non-affine Deformation

To evaluate our methods for non-affine deformations, we consider the phantom in Fig. 12, whose dynamic behavior is given by \(\varGamma _\varphi ^{-1} x = ((\varGamma _\varphi ^{-1}x)_1,(\varGamma _\varphi ^{-1}x)_2)\),

$$\begin{aligned} \left( \varGamma _\varphi ^{-1} x\right) _i = \frac{\root 5 \of {5a_i(\varphi ) (x)_i + 1}}{a_i(\varphi )}-1, \quad a_i(\varphi )=\frac{2}{5}\root 4 \of {5\frac{m_i(\varphi )}{m_i(\pi )}}, \quad i=1,2 \end{aligned}$$

with \(m_1(\varphi )=\sin (0.015\, \varphi /\pi ), \ m_2(\varphi )=\sin (0.021\, \varphi /\pi )\). Computing its inverse

$$\begin{aligned} (\varGamma _\varphi x)_i = (x)_i \sum _{j=0}^4 (\tilde{a}_i(\varphi ) (x)_i)^j \end{aligned}$$

reveals that this deformation represents a nonlinear scaling in each component.

Although our motion compensation algorithm with \({\mathcal {P}}= {\mathcal {I}}^{-1}\) and the Dawson filter is not based on an exact inversion formula, the reconstruction result displayed in Fig. 13 with exact motion parameters illustrates that it nevertheless provides a good approximation to the true density values.

To obtain a representation of type (12) and to estimate \(\varGamma _\varphi ^{-1}\) from the measured data, we approximate each of its components by a Taylor polynomial around zero of order 3. By analytic calculation of the Taylor series, one can show that the phantom is at each time step compactly supported in \(V_R(0)\) with R being the radius of convergence. Thus, in our example, the proposed approximation of \(\varGamma _\varphi ^{-1}x\) is mathematically justified.

To determine the 7 unknown parameters of our approximated motion functions in each time step, we use the trajectories of 7 nodal points. In applications, these have to be extracted from measured Radon data, but for simplicity, we calculate the trajectories directly via the exact motion functions. However, to provide realistic numerical results, the exact trajectory values are distorted by a Gaussian noise with standard deviation \(1.5\cdot 10^{-3}\) in order to account for errors arising during the detection from noisy measured data, see Fig. 14. Employing the respective estimated motion parameters within the reconstruction step from noisy data provides the result shown in Fig. 15. We can conclude that we still obtain a good visualization of the original phantom with significantly reduced motion artefacts, especially compared to the static reconstruction, Fig. 16.

Fig. 12
figure 12

Reference state of the second phantom (left) and its state at the end of the data collection (right)

Fig. 13
figure 13

Dynamic reconstruction with known motion (left) and cross-sections along the \(x_1\)-axis (top right) and \(x_2\)-axis (bottom right)

Fig. 14
figure 14

Trajectories used for the non-linear motion estimation

Fig. 15
figure 15

Dynamic reconstruction from noisy data with estimated non-linear motion parameters

Fig. 16
figure 16

Reconstruction with filtered backprojection from the static case

6 Conclusion

In this article, we presented a motion compensation strategy, which guarantees a correct reconstruction of the contours of an object (provided they were encoded in the measured Radon data). Its regularized version leads us to an algorithm of type filtered backprojection for the dynamic case. We further illustrated at numerical examples that using a standard filter from the static case and the dynamic backprojection operator can provide a good approximation to the exact density values.

Nevertheless, a priori information about the dynamic behavior are essential for a successful, artefact-free reconstruction. Therefore, we further introduced an approach to estimate information about the dynamic behavior directly from the measured data, and combined motion estimation and compensation step. Our numerical results illustrate the good performance of our methods for both affine and non-affine deformations.