Binary Tomography Reconstructions With Few Projections Stefano Brocchi1 , Paolo Dulio∗†2 , and Silvia M.C. Pagani‡2
arXiv:1707.05231v1 [cs.DM] 17 Jul 2017
1
Dipartimento di Matematica e Informatica “U. Dini”, Universit`a di Firenze, viale Morgagni 67/A, 50134 Firenze, Italy 2 Dipartimento di Matematica “F. Brioschi”, Politecnico di Milano, Piazza Leonardo da Vinci 32, I-20133 Milano, Italy
Abstract Discrete tomography deals with the reconstruction of images from projections collected along a few given directions. Different approaches can be considered, according to different models. In this paper we adopt the grid model, where pixels are lattice points with integer coordinates, X-rays are discrete lattice lines, and projections are obtained by counting the number of lattice points intercepted by X-rays taken in the assigned directions. We approach the tomographic problem in terms of linear system of equations Ax = p in an (M × N )-sized lattice grid A. Using a finite number of directions always yields the presence of ghosts, so preventing uniqueness. Ghosts can be managed by increasing the number of directions, which implies that also the number of collected projections (also called bins) increases. Therefore, for a best performing outcome, a kind of compromise should be sought among the number of employed directions, the number of collected projections, and the percentage of exactly reconstructed image. In this paper we wish to investigate such a problem in the case of binary images. We move from a theoretical result that allow uniqueness in A with just four suitably selected X-ray directions. This is exploited in studying the structure of the allowed ghosts in the given lattice grid. The knowledge of the ghost sizes, combined with geometrical information concerning the real valued solution of Ax = p having minimal Euclidean norm, leads to an explicit implementation of the previously obtained uniqueness theorem. This provides an easy binary algorithm (BRA) that, in the grid model, quickly returns perfect noise-free tomographic reconstructions. Then we focus on the tomography-side relevant problem of reducing the number of collected projections and, in the meantime, preserving a good quality of reconstruction. It turns out that, using sets of just four suitable directions, a high percentage of reconstructed pixel is preserved, even when the size of the projection vector p is considerably smaller than the size of the image to be reconstructed. Results are commented and discussed, also showing applications of BRA on phantoms with different features.
Keywords: Binary tomography; discrete tomography; lattice grid; minimum norm solution; uniqueness of reconstruction; X-ray.
1
Introduction
It is well known that any tomographic inverse problem concerns the reconstruction of an unknown object by means of partial data coming from its projections, collected by means of X-rays, and taken along given directions. Starting from the first scanner invented by Allan McLeod Cormak and Godfrey Newbold Hounsfield (1979 Nobel prize for Physiology or Medicine), who autonomously rediscovered and implemented the early theory of Johann Radon in 1917 ([25]), technology has greatly improved throughout ∗
[email protected] † Corresponding
author
‡
[email protected]
1
the years, which allowed tomography to be applied in several scientific areas, and exploiting different methodologies. In the Radon approach angles under which projections are considered are available in the whole continuous interval [0, π), and the radiation has good analytic properties. This allows the resulting inversion formula to be obtained by means of integration. However, in real applications, due to mechanical and physical reasons involved in the acquisition process, the typical assumptions of the continuous approach are not fulfilled, and the reconstructed object may be quite different from the starting unknown one, sometimes even sharing no elements with it. Since the scan devices allow to collect only a finite number of projections, along a finite set of directions having rational slopes, the tomographic problem can be re-defined inside a lattice grid. In the typical frame of Discrete Tomography (DT) [19, 20] only few types of different densities (say, 2-6) are involved. Density is assumed to be constant inside a same pixel of the resulting grid, so that the object to be reconstructed is shown under a finite resolution. In the special case of Binary Tomography (BT), homogeneous objects are considered, and one is interested in detecting the presence or the absence of the object itself at different parts of the working grid. The discrete modeling of the tomographic problem implies that there are no chances, in general, of achieving an exact reconstruction by the standard mathematical algorithms. Moreover, in some applications, the required number of directions, along which projections are taken, is very limited, in order to avoid damaging the objects to be studied. This leads to strong ambiguities in DT reconstructions, and different approaches for a quantitative description of their uncertainty have been already explored (see for instance [15, 28] and the cited bibliographies). As a consequence, we are mainly interested to the problem of looking for conditions that, though employing a limited number of projections, can guarantee an acceptable quality of the tomographic reconstructed outputs.
1.1
Quality of tomographic reconstructions
The tomographic reconstruction problem can be modeled as a linear system of equations Ax = p, where A is the projection matrix, mapping an image x to a vector p of projection data, collected by means of X-rays in assigned directions. In general the problem is highly under-determined, meaning that many solutions exist, and consequently measures for testing the quality of a reconstruction with respect to the unknown original image have been developed. In particular, the solution x∗ having minimal Euclidean norm proves to be very useful for the construction of several bounds on the distance between different binary solutions (see [2]). This suggests that x∗ should be considered as a kind of reference image in any binary tomographic reconstruction problem.
1.2
Efficient reconstructions
When looking for efficient reconstruction algorithms, one should try to match three main requirements. The first one is the number of directions along which X-rays are performed. It cannot be too much large, in order to avoid huge amount of radiation. Due to dose constraints, this also reflects in the second request that, even for a small number of directions, the number of collected projections should be kept limited. This means that the size of the vector p should be comparable to the size of x. The third desirable property is that the percentage of exactly reconstructed pixels should be high, in order to infer reliable outcomes concerning the unknown object from the provided output.
1.3
Our work
In this paper we focus, first of all, on the grid model, largely employed in DT (see, for instance [1, 2, 5, 6, 7, 8, 9, 10, 12, 16, 17, 21, 23, 24, 26]), where pixels are lattice points with integer coordinates, X-rays are discrete lattice lines, and projections are obtained by counting the number of lattice points intercepted by X-rays taken in the assigned directions. In [27], projection dependency of the quality of tomographic outputs was investigated, by comparing reconstructions of a same phantom from different sets of directions. Analogously, we base on a theoretical uniqueness result for BT obtained in [6] (and generalized in [8] to higher dimensions), showing that exact noise-free binary reconstructions can be obtained with a suitable selection of just four directions. We model the tomographic problem in terms of linear system of equations, and, by exploiting the results presented in [2], we show (Theorem 12 and Corollary 13) that
the unique binary solution can be explicitly reconstructed by rounding the central solution (the solution of minimal Euclidean norm) of the linear system. This leads to an easy algorithm (BRA) that, in the grid model, quickly returns perfect noise-free tomographic reconstructions. BRA requires an iterative step in order to provide a satisfying approximation of the solution of minimal Euclidean norm. To this we have tested a few methods taken from the MATLAB AIR Tools Package developed by P.C. Hansen [18], where several other iterative ART algorithms (see [3]) are also implemented. Then we focus on the tomography-side relevant problem of reducing the number of collected projections and, in the meantime, preserving a good quality of reconstruction. To this, we replace the grid model with a discrete strip model, where the width of X-rays progressively increases. Details are presented both in the theoretical and in the experimental sections, jointly with several simulations. It turns out that, despite using sets of just four suitably selected directions, a high percentage of reconstructed pixel is preserved, even when the number of collected data (the size of the projection vector p) is considerably smaller than the size of the working grid. We wish to emphasize that BRA, as presented here, is mainly intended as an explicit implementation of the theoretical results provided in [6] (and related papers). It should not be considered as an immediate counterpart to more sophisticated reconstruction algorithms, whose robustness with respect to noise and errors in the grey level assumptions is well known from the available literature (see for instance [3] and the related bibliography). However, we think that the easy structure of BRA could be profitably matched with some usually employed strategies, in order to improve the speed and the quality of the reconstruction process. The paper is organized as follows. In Section 2 we give the necessary preliminary details and notations. We recall the algebraic approach to DT, and comment on the grid model. In Section 3 we state the uniqueness theorem proved in [6], and a few further useful results for the construction of sets of binary uniqueness. In Section 4 details are given concerning the structure of ghosts determined by sets of binary uniqueness. In Section 5, the knowledge of the ghost sizes, combined with geometrical information concerning the real-valued solution of Ax = p having minimal Euclidean norm, leads to a binary rounding uniqueness theorem. Section 6 is devoted to the description of the corresponding binary reconstruction algorithm (BRA), and to show all the previously proved theoretical steps by means of an example of small size. In Section 7 experimental applications of BRA are considered for different phantom images. Section 8 describes possible further work and concludes the paper.
2
Preliminaries
The discretization process of the continuous tomographic reconstruction method naturally leads to an algebraic approach. Here, reconstructing an image from its projections is equivalent to solving the linear system Ax = p, (1) where the vector x ∈ Rn collects the pixels of the image to be reconstructed, the vector p ∈ Rm gathers the measurements, and the generic entry aij of the m × n projection matrix A = [aij ] refers to the contribution the j-th pixel gives to the i-th X-ray. The coefficients aij s can be computed in different ways, according to the different discrete models employed. In this paper we are interested in the so-called grid model, where pixels of size 1 are identified with their upper-left corner. A (lattice) direction is a pair (a, b) of coprime integers such that a = 1 if b = 0 and conversely b = 1 if a = 0. We can assume, without loss of generality, that a ≥ 0. By lines with direction (a, b) ∈ Z2 we mean lattice lines defined in the x, y plane by equations of the form L : ay = bx + t, where t ∈ Z. Here we assume the horizontal axis to be oriented from left to right, and the vertical axis downwards. A finite subset of Z2 is said to be a lattice set. For a lattice set E, and a vector u ∈ Z2 , we denote by E + u the lattice set obtained by translating each point of E along u. In the grid model X-rays consist of lines in the lattice Z2 , and aij = 1 when the pixel j belongs to the line Li , while aij = 0 otherwise. If we replace lattice lines with lattice strips we get a discrete strip model, where aij = 1 when the pixel j belongs to the strip Γi , and aij = 0 otherwise. It is also known as Dirac model [13], and differs from the discrete strip model considered in [30], where pixels are not collapsed in a lattice point, strips are continuous, and aij relates to the portion of pixel j covered by the strip Γi . Note that, in a Dirac model, as well as in the grid model, A is a binary matrix. Let S = {(ar , br ) | r = 1, . . . , d} be a set of d lattice directions, and A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }, where M N = n. The so-called Katz condition is
d X r=1
d X
ar ≥ M,
r=1
|br | ≥ N.
(2)
In this case uniqueness of reconstruction is guaranteed inside the grid A ([22]). Differently, if h=
d X
ar < M,
k=
d X r=1
r=1
|br | < N,
then we say that S is a valid set of directions for a A. For r = 1, . . . , d denote a b r r x y − 1 if ar 6= 0, br > 0, xar − y −br if a 6= 0, b < 0, r r f(ar ,br ) (x, y) = x − 1 if a = 1, b r r = 0, y−1 if ar = 0, br = 1,
(3)
(4)
Further, let
FS (x, y) =
d Y
f(ar ,br ) (x, y).
(5)
r=1
For any function g : A → R, its generating function is the polynomial defined by X g(i, j)xi y j . Gg (x, y) = (i,j)∈A
α β
A monomial mx y ∈ Z[x, y] can be associated to the lattice point (α, β), together with the weight m. If |m| > 1 we say that (α, β) is a multiple point and m(α, β) = |m| is its multiplicity. Therefore, a generating function corresponds, geometrically, to a lattice set whose points have associated multiplicities. In particular, the support of g is the set of lattice points given by supp(g) = {(i, j)P ∈ A : g(i, j) 6= 0}. The line sum of g along the lattice line with equation ay = bx + t is defined as aj=bi+t g(i, j). Note that the function f , generated by FS (x, y), has zero line sums along the lines taken in the directions in S. Moreover, f vanishes outside A if and only if the set S is valid for A. For a polynomial G(x, y), we denote by G+ (x, y) (resp. G− (x, y)) the polynomial formed by the monomials of G(x, y) having positive (resp. negative) coefficients. The sets consisting of the lattice points (counted with their multiplicities) corresponding to G(x, y), G+ (x, y), G− (x, y) are here denoted by G, G+ and G− , respectively. A function g : A → R is said to be an S-ghost if it has zero sums along all lines having directions belonging to a given set S of lattice directions. If supp(g) = ∅, then g is called trivial ghost. If G(x, y) = Gg (x, y), then the pair G = (G+ , G− ) is a (weakly) bad-configuration, and consists of two sets that have the same absolute sums along all lines with directions taken in S, up to count each pixel with its proper multiplicity. Consequently, ghosts are responsible of ambiguous outputs in tomographic reconstructions. A binary S-ghost is an S-ghost where g : A → {−1, 0, 1}. In this case no multiple point belongs to G = (G+ , G− ), which is called bad-configuration. Recent results concerning ghosts in Discrete Tomography can be found in [4]. Remark 1. When the tomographic problem is modeled as a linear system Ax = p, ghosts correspond to non-zero solutions of the homogeneous system Ax = 0, since these can be added to any solution of (1), still returning a solution. If g : A → R is an S-ghost, then the corresponding solution of Ax = 0, still called with the same term ghost, is denoted by xg . If we index the points of A according to some ordering, then the k-th entry of xg is xk = g(i, j) if and only if k = (i, j). The number of entries of the projection array p (also called bins) depends both on the projection angles and on the size of the lattice grid. For a direction (a, b), and an M × N sized lattice grid, there are (M − 1)|a| + (N − 1)|b| + 1 bins, so that the size of p is linear in the grid dimensions and in the number d of employed directions ([16]). The redundancy rate (see [29]) is the ratio
X
Red = X
bins
pixels
−1=
m − 1. n
(6)
If the Katz criterion holds, then Red > 0 (the converse is not necessarily true). This means that m > n, namely the size of p is greater than the size of x. On the other side, if the Katz condition is not fulfilled, then uniqueness of reconstruction is not allowed without introducing some extra information, since ghosts always appear. So we have two different reconstruction approaches, both with positive aspects and drawbacks. Above the Katz limitations, uniqueness is guaranteed, but the redundancy rate of a reconstruction algorithm could be great, namely, the size of p is high. Below the Katz condition uniqueness is not ensured without some extra-information, but this could allow a reduction of the number of projections to be collected. As a trivial example, a zero entry of the projection array of a binary image uniquely determines the value 0 for each pixel on the corresponding line. From an applicative point of view, the best scenario would be to get high-quality reconstructions with m < n, namely with a projection array p having size less than, or comparable to, the size of x. As a first step towards this issue, we wish to consider the case of noise-free projections. More precisely, we focus on the following two problems. Problem 1 In a given lattice grid A, find an algorithm that provides perfect noise-free reconstruction in the grid model, and below the Katz condition, namely, when a set S of valid direction for A is employed. Problem 2 Guarantee a high percentage of exact reconstruction even with a negative redundancy rate. In this paper we provide a solution to Problem 1, in the case x ∈ {0, 1}n. Then, in view of Problem 2, we apply the algorithm to strip models where X-rays are assumed to have increasing width, showing that quite good solutions can be obtained.
3
A uniqueness result for binary reconstructions
Consider now the linear system Ax = p, A ∈ Rm×n , p ∈ Rm . If p collects consistent data, then the linear system supports a solution, even if, due to ghosts, usually many solutions are allowed. In this case one can try to find a particular solution x∗ , and then to include in the problem some extra information, in order to modify x∗ so that the new solution matches the added requirements. In case of BT, it is of special interest the solution x∗ having minimal Euclidean norm. This depends on different reasons. For instance, it can be easily approximated by iterative algorithms, and its theoretical properties are well known from the singular value decomposition svd(A) of the projection matrix A (see for instance [14] for details). Also, in [2] it was shown that all binary solutions of Ax = p have equal distance r kpk1 − kx∗ k22 R= d to x∗ , being d the number of employed directions. This means that x∗ is the center of a hypersphere of radius R which contains all the binary solutions. To this, in what follows we refer to x∗ as the central reconstruction of the tomographic problem. Now, let S = {u1 , u2 , u3 , u4 = u1 + u2 ± u3 } be a valid set of four directions for the grid A = ˆ where ±S = {±ur | r = 1, . . . , 4} and {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }, and D = ±S ∪ S, ˆ S = {±(u1 − u4 ), ±(u2 − u4 ), ±(u1 + u2 )}. The set D, therefore, is not a set of directions, but a set of pairs. We split D into two disjoint sets A, B, defined as follows: A B
:= {(a, b) ∈ D : |a| > |b|}, := {(a, b) ∈ D : |b| > |a|}.
Moreover, if |a| = |b|, for some (a, b) ∈ D, we then include (a, b) in A if min{M − h, N − k} = M − h, while (a, b) ∈ B otherwise (h, k defined as in (3)). Thus we have D = A ∪ B, where one of the sets A, B may be empty. The following result has been obtained in [6], and it represents a criterion for preventing the existence of binary S-ghosts in A.
Theorem 2. Let S = {u1 , u2 , u3 , u4 = u1 + u2 ± u3 } be a valid set for the lattice grid A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }. Suppose that g : A → {−1, 0, 1} has zero line sums along the lines with direction in S. Then g is identically zero if and only if min |a| ≥ min{M − h, N − k},
(7)
min |b| ≥ min{M − h, N − k},
(8)
(a,b) ∈ A
(a,b) ∈ B
and M − h < N − k ⇒ ∀(a, b) ∈ B : |a| ≥ M − h or |b| ≥ N − k, N − k < M − h ⇒ ∀(a, b) ∈ A : |a| ≥ M − h or |b| ≥ N − k,
(9) (10)
where, if one of the sets A, B is empty, the corresponding condition (7) or (8) drops. Definition 3. A set S of four directions is said to be a good set for a grid A if S consists of four valid directions u1 , u2 , u3 , u4 such that u4 = u1 + u2 ± u3 . A good set satisfying all the assumptions of Theorem 2 is said to be a set of binary uniqueness for A. The collection of the sets of binary uniqueness for A is denote by S(A). A general criterion for the construction of S(A) is not known. However there exist easy sufficient conditions for a set S to be in S(A), as in the following corollary (see also [11]). Corollary 4. Let S = {ui = (ai , bi ), i = 1, 2, 3, 4} be a set of lattice directions, and suppose that r1 , r2 , s1 , s2 exist such that a1 = mini ai a2 = a1 + r1 a3 = a1 + r2 a4 = a1 + a2 + a3 1 r1 + r2 ≥ M−7a 2
b1 = mini bi ≥ 0 b 2 = b 1 + s1 b 3 = b 1 + s2 b4 = b1 + b2 + b3 1 s1 + s2 ≥ N −7b . 2
Then it is S ∈ S(A). Proof. The set S is of the form S = {u1 , u2 , u3 , u4 = u1 + u2 ± u3 }, therefore we must prove that assumptions of Theorem 2 hold. First of all, note that h = a1 + a2 + a3 + a4 = 6a1 + 2r1 + 2r2 and k = b1 + b2 + b3 + b4 = 6b1 + 2s1 + 2s2 . Therefore, it results M − h = M − 6a1 − 2r1 − 2r2 ≤ a1 N − k = N − 6b1 − 2s1 − 2s2 ≤ b1 .
This implies that a1 ≥ min{M − h, N − k} and b1 ≥ min{M − h, N − k}. Now, let us consider the set Sb = {±(u1 − u4 ), ±(u2 − u4 ), ±(u1 + u2 )}. Since a1 = mini ai , and b we have sb1 ≥ a1 and sb2 ≥ b1 . Therefore, for any vector b1 = mini bi , then, for each sb = (b s1 , sb2 ) ∈ S, b d = (d1 , d2 ) ∈ D = ±S ∪ S = A ∪ B, it results d1 ≥ a1 and d2 ≥ b1 . Consequently, Condition (7) and Condition (8) in Theorem 2 hold. Moreover, if (d1 , d2 ) ∈ B, then, being d1 ≥ a1 ≥ min{M − h, N − k}, the first inequality of Condition (9) in Theorem 2 holds. Analogously, if (d1 , d2 ) ∈ A, then, being d2 ≥ b1 ≥ min{M − h, N − k}, the second inequality of Condition (10) in Theorem 2 holds. For odd-sized square grids, the following result provides a general set of binary uniqueness (see [6, Corollary 16]). Corollary 5. If N is odd, then projections taken along directions in the set N −3 N −1 N −1 N −3 , , , S = (1, 0), (0, 1), 2 2 2 2 uniquely reconstructs an (N × N )-sized binary grid.
In what follows we show how to match the central reconstruction x∗ with Theorem 2, in order to reconstruct the guaranteed unique binary solution.
4
The space of ghosts in a lattice grid
For S ∈ S(A), let Ax = pS be the linear system modeling the tomographic problem. First of all, we investigate the structure of the existing (non binary) S-ghosts in A. Denote by GS the set of all ghosts associated to S, namely, the set of solutions of the homogeneous system Ax = 0. Therefore, GS is a subspace of Rn isomorphic to null(A), the null-space of A, so that dim(GS ) = n − rank(A).
We are interested in investigating how an S-ghost included in the grid A can cover the different pixels of the grid. First of all, from Definition 3, and from the proof of Theorem 2 (see [6]), it follows that, for any set S ∈ S(A), the four directions in S provide a weakly S-bad configuration FS , consisting of 15 pixels {λ0 , ..., λ14 }, where one pixel λd is counted twice, and the others have weights ±1. For any w0 ∈ R, we denote by FS (w0 ) the weighted weakly bad configuration w0 FS having the pixel λd of weight 2w0 , and all the other pixels have weights ±w0 . In particular, FS (1) = FS . The pixels of FS (1) having weight +1 are λ0 , and the pixels obtained by translating λ0 along vectors corresponding to the sum of 2 or 4 elements of S. The pixels of weight −1 come from translations of λ0 along vectors corresponding to the sum of 1 or 3 elements of S. Denote by I + , I − the sets of indices t such that λt ∈ FS (1) is positively and negatively weighted, respectively. Figure 1 shows the structure of FS (w0 ), for w0 > 0 and in the case u4 = u1 + u2 − u3 (the other case, u4 = u1 + u2 + u3 , leads to an analogous configuration). White pixels have weight w0 , grey pixels have weight −w0 , and the weight of the dashed pixel is 2w0 . λ0 u3 u2 u4
u1
λ3
λ2
λ6
λ1
λ4
λ7
λ8
λ5
λ12
λ11
λ9 λ10
M-h
λ13 λ14
N-k
Figure 1: The structure of the weakly bad configuration FS (w0 ) corresponding to a set S = {u1 , u2 , u3 , u4 = u1 + u2 − u3 }. In this case I + = {0, 5, 6, 7, 8, 9, 14}, I − = {1, 2, 3, 4, 10, 11, 12, 13}, and λd = λ8 . Definition 6. The enlarging region associated to FS is the rectangle E = {(r, s) : 0 ≤ r ≤ M − h− 1, 0 ≤ s ≤ N − k − 1}. Further, for each (α, β) ∈ A, denote by E(α, β) = {u ∈ E : (α, β) = λt + u, λt ∈ FS }, namely the subset of E consisting of all vectors u ∈ E such that λt + u = (α, β) for some λt ∈ FS . Define also E + (α, β) = {u ∈ E : (α, β) = λi + u, i ∈ I + }, and E − (α, β) = {u ∈ E : (α, β) = λt + u, t ∈ I − }. The notion of enlarging region is related to the following theorem (where, as usual, h, k are defined as in (3)), which is simply a rephrasing of the results in [17]. Theorem 7. If S ∈ S(A), then dim(GS ) = (M − h)(N − k), and, for all g ∈ GS , 15 ≤ |supp(g)| ≤ 15(M − h)(N − k). Proof. By[17, Theorem 1] any S-ghost g : A → R is a linear combination of (M − h)(N − k) linearly independent switching elements. This means that dim(GS ) = (M −h)(N −k). Moreover, by [17, Corollary 1], a basis of GS can be obtained by considering the (M − h)(N − k) switching elements FS (1) + u for all u ∈ E, so that |FS (1)| ≤ |supp(g)| ≤ |FS (1)||E|, Since |FS (1)| = 15, it is 15 ≤ |supp(g)| ≤ 15(M − h)(N − k). Theorem 7 points out that each pixel of FS can be moved along any u ∈ E still remaining in the lattice grid A. Now we investigate how the |E| translated copies of FS (1) cover the different pixels of the grid A. The following simple property points out that ghosts contained in a given lattice grid A cannot be left or upper translated still remaining inside A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }.
Lemma 8. Let S = {ur = (ar , br )} be a set of lattice directions, valid for a lattice grid A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }. Then the (weakly) bad-configuration FS associated to FS (x, y) intersects the coordinate axes. Proof. By (4), the product of any sequence of binomials f(ar ,br ) (x, y) always contains a polynomial of the form axα + by β + c, for some α, β ∈ N, and at least one of the coefficients a, b, c different from zero. By (5), this holds for FS (x, y), meaning that FS contains at least one of the lattice points (α, 0), (0, β), (0, 0). Now we can show that, for each translation of FS along any u ∈ E, double pixels are preserved, namely that, for all (α, β) ∈ λd + E, E(α, β) is reduced to the single point (α, β) − λd .
Lemma 9. Let A = {(r, s) ∈ Z2 : 0 ≤ r < M, 0 ≤ s < N } be a lattice grid, S ∈ S(A), and FS = {λi = (αi , βi ), i ∈ {0, ..., 14}} be the weakly bad configuration determined by S in A, where λd = (αd , βd ) is the pixel counted twice. Then, for any vector u ∈ E, λi + u, i 6= d, does not belong to E + λd .
Proof. We give the proof in the case when u4 = u1 + u2 − u3 and λd = λ8 (see Figure 1). The other case, when u4 = u1 + u2 + u3 , follows with a quite analogous argument. Consider the pixels λi = λ8 ± uj = (α8 ± aj , β8 ± bj ), with uj = (aj , bj ) ∈ S, j ∈ {1, 2, 3, 4}. Let us observe that E + λ8 = {(r, s), α8 ≤ r ≤ α8 + M − h − 1, β8 ≤ s ≤ β8 + N − k − 1}. Consider uj ∈ D = A ∪ B, so that uj ∈ A or uj ∈ B. There are some cases to be taken into account. • min{M − h, N − k} = M − h. – If uj ∈ A, then, by Theorem 2, it is aj ≥ M − h. 1) If λi = λ8 + uj , then αi = α8 + aj > α8 + M − h − 1. This implies that the pixel λi = λi + (0, 0) ∈ / E + λ8 , and, of course, λi + u ∈ / E + λ8 also for any other u ∈ E. 2) If λi = λ8 − uj , then αi = α8 − aj ≤ α8 − M + h < α8 − (M − h − 1), and consequently λi + u ∈ / E + λ8 for all u ∈ E.
– If uj ∈ B then, by Theorem 2, it must be aj ≥ M − h or |bj | ≥ N − k. In the first case we can argue as above. In the second case, we have 3) If λi = λ8 + uj , then β8 + |bj | > β8 + N − k − 1 which implies that the pixel λi = λ8 + uj ∈ / E + λ8 , and the same holds, of course, also for λ8 + uj + u for all u ∈ E. 4) If λi = λ8 − uj , then β8 − |bj | < β8 − N + k < β8 − (N − k − 1) so that, for all u ∈ E, λi + u ∈ / E + λ8 . Therefore, the statement is true if min{M − h, N − k} = M − h. • min{M − h, N − k} = N − k.
– If uj ∈ B, then we have |bj | ≥ N − k, so that the same conclusions as in the previous cases 3) and 4) hold. – If uj ∈ A, then aj ≥ M − h, or |bj | ≥ N − k. In the first case we get the same conclusions as in 1) and 2), in the second case 3) and 4) still hold. Therefore, the statement holds for λi = λ8 ± uj , j ∈ {1, 2, 3, 4}. The same result follows also for the remaining pixels, since these have larger distance from λ8 + E. Remark 10. The same argument as in the proof of Lemma 9 can be applied to show that any λi + E does not intersect λt + E in case λi = λt ± uj , uj ∈ S. Therefore, possible intersections can occur only if λi − λt ∈ / ±S.
Example 11. Let A be a square lattice grid of sizes M = N = 51, and let S = {(3, 5), (5, 3), (16, 15), (24, 23)}. It is of the form S = {u1 , u2 , u3 , u4 = u1 + u2 + u3 }, and easily can be checked that all the assumptions in Theorem 2 hold, so that S ∈ S(A). Moreover, it is M − h = 3 and N − k = 5, so that, by Theorem 7, all S-ghosts consist of the union of 15 differently eroded rectangles of size (M − h)(N − k) = 15. Figure 2 shows, for four different binary images xi (i = 1, 2, 3, 4), the S-ghosts obtained by computing the difference between xi and the corresponding real valued solution x∗ i having minimal Euclidean norm. Note that, according to Lemma 9, the central eroded rectangle, where the multiple point λd = u4 = u1 +u2 +u3 can be moved, is always disjoint from the others. However, differently from what stated in Lemma 9, if i, t 6= d possible overlaps might occur between λi + E and λt + E (see Remark 10). This implies that, for the pixels (α, β) belonging to their intersection, the set E(α, β) has greater cardinality. For instance, we have u1 + E = {(r, s) ∈ A, 3 ≤ r ≤ 5, 5 ≤ s ≤ 9}, and u2 + E = {(r, s) ∈ A, 5 ≤ r ≤ 7, 3 ≤ s ≤ 7}, so that all pixels (α, 5) such that 5 ≤ α ≤ 7 belong to both sets. Moreover, for λi ∈ FS , λi 6= u1 , u2 no such pixel belongs to E+λi . Therefore, for 5 ≤ α ≤ 7, it results |E(α, 5)| = 2, and E(α, 5) = {(α, 5)−u1 , (α, 5)−u2 }.
Figure 2: Different sized S-ghosts, in a same lattice grid, associated to the weakly bad configuration FS , being S = {(3, 5), (5, 3), (16, 15), (24, 23)}. The rectangle λd + E never intersects λi + E for all λi 6= λd .
5
Binary reconstruction from the central solution
We can exploit Theorem 2 to select sets S of four directions leading to linear systems of equations that admit only one binary solution x. In this case Theorem 7 provides lower and upper bounds on the size of wrongly reconstructed pixels when x is approximated by a generic solution of (1). Following [2], we are induced to focus on the binary rounding x∗ of the central solution, and, by Theorem 7, to work just in the region possibly covered by ghosts. The following results lead to a perfect reconstruction of a binary image from the binary rounding of the central solution. Let FS = {λ0 , ..., λ14 } be the lattice weakly bad configuration associated to a set S = {u1 , u2 , u3 , u4 = u1 + u2 ± u3 } ∈ S(A). For u = (p, q) ∈ E, let Gu = FS + u, and let gu : A → R be the S-ghost generated by xp y q FS (x, y). In case u1 + u2 = u3 + u4 , we assume λd = u1 + u2 = u3 + u4 = λ8 (see Figure 1), so it results 0 if (α, β) ∈ / Gu 1 if (α, β) = λi + u, i ∈ I + = {0, 5, 6, 7, 9, 14} gu (α, β) = (11) −1 if (α, β) = λi + u, i ∈ I − = {1, 2, 3, 4, 10, 11, 12, 13} 2 if (α, β) = λ8 + u. In case u1 + u2 + u3 = u4 we have an analogous definition, just observing that λd = u4 = u1 + u2 + u3 has weight −2, and changing the sets I + , I − accordingly. If y is any solution of Ax = pS , then X αu gu (α, β), y(α, β) = x(α, β) + u∈E
for all (α, β) ∈ A, and for suitable αu ∈ R. Let to the minimal norm solution, namely
{α∗u
∈ R : u ∈ E} be the set of real values corresponding
x∗ (α, β) = x(α, β) +
X
α∗u gu (α, β).
u∈E ∗
For (α, β) ∈ A, let w (α, β) be the minimal weight of (α, β), namely, the weight given to (α, β) by the minimal norm solution. By Lemma 9 and Remark 10, it results (see also Definition 6)
0 2α∗ X uX ∗ ∗ αu gu (α, β) = w (α, β) = u∈E(α,β)
u∈E + (α,β)
α∗u −
X
α∗u
if (α, β) ∈ / H, H = if (α, β) = λ8 + u, otherwise.
S
u∈E
Gu ,
u∈E − (α,β)
Therefore, x∗ (α, β) = x(α, β) + w∗ (α, β), so that ∗ x (α, β) x∗ (α, β) − 2α∗uX , x(α, β) = x∗ (α, β)−w∗ (α, β) = ∗ x (α, β) −
u∈E + (α,β)
if (α, β) ∈ / H, H = α∗u +
X
α∗u
S
u∈E
Gu ,
if (α, β) = λ8 + u, u ∈ E, otherwise.
u∈E − (α,β)
(12) Therefore, x(α, β) can be reconstructed from x∗ (α, β) once we can compute explicitly w∗ (α, β) for all (α, β) ∈ A. To this, denote by round(γ) the integer rounding of a real number γ ∈ R. Theorem 12. Let A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }, S ∈ S(A), and let x∗ be the central solution of Ax = pS . Then, for all u ∈ E it results α∗u = x∗ (λ0 + u) − round(x∗ (λ0 + u)).
(13)
Proof. We give the proof when pS is obtained by projections along directions belonging to a set S of uniqueness where u1 + u2 = u3 + u4 , and assuming λd = λ8 , as in Figure 1 (as remarked above, the other case where u1 + u2 + u3 = u4 follows analogously once we change λd , and the sets I + , I − , accordingly). For each u ∈ E, let f (αu ) be the following function X X 2 2 2 (x(λi ) − αu ) + (x(λ8 ) + 2αu ) . f (αu ) = (x(λi ) + αu ) + i∈I −
i∈I +
Let y be a real-valued solution of Ax = pS . By assuming H = (kyk22 ) = = = =
S
u∈E
Gu , we get
P (x(α, β) + αu gu (α, β))2 = P(α,β)∈A 2 P x (α, β) + (α,β)∈H (x(α, β) + αu gu (α, β))2 = (α,β) ∈H / P P P P 2 2 2 x2 (α, β) + u∈E = + (x(λi ) + αu ) + − (x(λi ) − αu ) + (x(λ8 ) + 2αu ) (α,β) ∈H / i∈I i∈I P P 2 f (α ). x (α, β) + u u∈E (α,β)∈H /
The central solution x∗ is obtained when kyk22 attains its P minimum value. Note that f (αu ) ≥ 0 for 2 all u ∈ E. Therefore kyk22 is the sum of the constant term (α,β)∈H / x (α, β), and of |E| copies of the non-negative function f applied on one variable αu , for all u ∈ E. Consequently, the minimum of kyk22 is obtained by minimizing f , separately with respect to each variable. Computing the derivative we get P P f ′ (αuP )=2 i∈I + (x(λ P i ) + αu ) − i∈I − (x(λi ) −αu ) + 2 (x(λ8 ) + 2αu ) = =2 i∈I − x(λi ) + 2x(λ8 ) + 18αu , i∈I + x(λi ) − being |I + | = 6 and |I − | = 8. Therefore, the minimum of f (αu ) is obtained when P P i∈I − x(λi ) − i∈I + x(λi ) − 2x(λ8 ) ∗ αu,min = αu = . 18 Note that, for all u ∈ E it results
4 4 ≤ α∗u ≤ , (14) 9 9 where the lower bound is attained if x(λi ) = 0 for all i ∈ I − , and the upper bound is attained if x(λi ) = 0 for all i ∈ I + and x(λ8 ) = 0. By conditions (7) and (8) of Theorem 2, each (α, β) ∈ E + λ0 does not belong to E + λi, for all i 6= 0. For all u ∈ E this implies that, if (α, β) = λ0 + u, then E(α, β) = {α∗u }. Since α∗u ∈ − 94 , 49 , then we get −
round(x∗ (α, β)) = round (x(α, β) ± α∗u ) = x(α, β),
for all (α, β) ∈ E + λ0 . Therefore, the binary solution x is perfectly reconstructed in E + λ0 . This also allows to compute explicitly the value of each α∗u , namely: x∗ (λ0 + u) = x(λ0 + u) + α∗u
⇒
α∗u = x∗ (λ0 + u) − x(λ0 + u) = x∗ (λ0 + u) − round(x∗ (λ0 + u)),
and (13) follows. Corollary 13. Let A = {(i, j) ∈ Z2 : 0 ≤ i < M, 0 ≤ j < N }, S ∈ S(A), and let x∗ be the central solution of Ax = pS . Then the unique binary solution x allowed in the grids model is uniquely and perfectly reconstructible from x∗ . Proof. For each (α, β) ∈ A the set E(α, β) can be computed explicitly from E, and consequently E + (α, β) and E − (α, β) are easily known as detailed in Remark 10. Therefore, thanks to Theorem 12, we can exploit Equation (12) to get a perfect reconstruction of x(α, β) from x∗ (α, β) for all (α, β) ∈ A.
5.1
Reducing the number of projections
As previously observed, X-rays in the grid model count the number of lattice points belonging to lines having rational slopes. In view of reducing the number of employed projections, one can try to enlarge the regions representing X-rays, so replacing the lattice lines with strips of suitable width. For a set S of directions we define its intrinsic width as follows: w(S) =
min
(ar ,br )∈S
1 p . 2 ar + b2r
This represents the minimal distance between two consecutive lattice lines having direction in S. In case we consider a width w > w(S) then the projections collected in the grid model, and obtained from lines belonging to a same strip, are grouped together, so that the number of projections is lowered. The original linear system Ax = pS (x ∈ Rn , pS ∈ Rm ) becomes of the form A′ y = p′S , where p′S has size s < m. The new projection matrix A′ is obtained from A by summing together different rows, when these correspond to equations related to projections along lines that fall in a same strip. This involves different pixels, placed on different lines having the same slope. Therefore, after each grouping, the unknowns appearing in the resulting equations are all distinct, namely, the matrix A′ is still binary. This suggests to interpret A′ y = p′S as a linear system still associated to a grid model, in the same original lattice grid A, but with a lower resolution. Consequently, for increasing w, the weakly bad configuration FS is enlarged accordingly, so that the structure of the S-ghost (11) changes, and higher multiplicities may appear. This implies that the interval (14) does not necessarily hold for all the involved parameters α∗u , and the central reconstruction y∗ progressively moves away from the binary solution x. However, if w is enlarged within some reasonable bounds, we can expect that the distance between y∗ and x does not change drastically. Therefore we can try to reduce the number s of collected projections, and preserve, at the same time, an acceptable quality of reconstruction. In the experimental section we explore this approach on different phantom images, showing that over 90% of the image can be correctly reconstructed, even employing a number of projections sensitively less than the number of involved pixels.
6
A binary reconstruction algorithm
The reconstruction steps provided by Theorem 12, matched with projections grouped in strips of width w, lead to a Binary Reconstruction Algorithm (BRA) (Algorithm 1). Remark 14. The last round off is required to ensure that a binary solution is always returned. Such a step is not necessary in the grid model, where X-rays are represented by lattice lines (or strips having width w ≤ w(S)), since the bounds (14) ensure that, thanks to (13), the solution returned by (12) is always binary. Differently, for increasing width w, the enlargement of the bad configuration FS may lead to integer valued pixels different from 0, 1. In these cases all weights lower than 0 or greater than 1 are reduced to 0, 1, respectively. Applications of BRA show that the corresponding error introduced in the reconstructed image is quite small, even when the width w is sensitively greater than w(S).
Algorithm 1: BRA. Data: A lattice grid A. Data: S ∈ S(A). Data: A width w. Data: A starting image x0 . Result: Reconstruction of x. begin 1 Compute the starting pixel λ0 of the weakly bad configuration FS . 2 Compute the projection array pS along S. 3 Compute the projection matrix A. 4 Group the projections in w-sized lattice strips to form the projection array p′ S . 5 Resize A to a projection matrix A′ , accordingly. 6 Form the linear system A′ x = p′ S . 7 Apply any iterative algorithm to x0 to get x∗ . 8 Compute the enlarging region E. 9 Compute round(x∗ (α, β)) for all (α, β) ∈ λ0 + E. 10 Compute the minimal weights w∗ (α, β) with equation (13), for all (α, β) ∈ A. 11 Apply equation (12). 12 Binary round off. return x.
6.1
Implementation and description of BRA
Algorithm 1 has been implemented in MATLAB, and applied to several different set S of four directions, selected according to Theorem 2. The program returns the approximation x∗k of the central reconstruction x∗ , and its binary rounding x∗k , after a prescribed number k of iterations. The central approximation x∗k is computed by means of different iterative algorithms (Step 7 of BRA), taken from the AIR Tools package developed by P.C. Hansen (see [18] and the updated version available at http://www.imm.dtu.dk/∼pcha/AIRtools/). In particular, we have explored the Cimmino, the CGLS (Conjugate Gradient Least Squares), the Landweber, the Kaczmarz, the CART (column-wise version of Kaczmarz’s method) and the SART (Simultaneous Algebraic Reconstruction Technique) algorithms. The analysis of the corresponding performances, in terms of working time and number of reconstructed pixels, pointed out that CGLS is largely preferable. For small sized images Kaczmarz method sometimes returns a higher percentage of reconstruction with fewer iterations, even if it is slower than CGLS. Then the binary rounding x∗k of x∗k is adopted as an approximation of x, which allows to check how the percentage of exactly reconstructed pixels changes with k. Note that, according to Theorem 12 (in particular to the bounds (14)), a pixel value x(α, β) is perfectly reconstructed in the grid model when the distance of x∗k (α, β) from x∗ (α, β) is below 1/9, so that an extremely precise computation of the central reconstruction is not required. However, for small sized images, Step 7 of BRA could be replaced by the exact computation of x∗ by means of the singular value decomposition (svd) of A. Starting from the grid model, we can run BRA for increasing values of w, in order to explore the quality of the reconstructions when the number of employed projections is progressively reduced. In Section 7 we present several simulations, pointing out the main interesting aspects. However, first of all, in Subsection 6.2 below, we wish to show on a very small example (5 × 5 sized), all details of the results obtained in the theoretical sections. Starting from the grid model, namely for values w ≤ w(S), we show how the projection matrix changes when the width is increased, and how the space of ghosts modifies.
6.2
A small example
Let x be the following 5 × 5 binary image
x=
0 0 0 0 0
1 1 0 0 0
1 1 1 0 0
1 1 1 0 0
1 1 0 0 0
.
Consider the set of directions S = {(1, 0), (1, 2), (0, 1), (2, 1)}, which is of the form S = {u1 , u2 , u3 , u4 = 2 u1 + u2 − u3 }, and satisfies all the assumptions of Theorem √ 2 in the lattice grid A = {(i, j) ∈ Z , 0 ≤ i < 5, 0 ≤ j < 5}. The intrinsic width of S is w(S) = 1/ 5 ≈ 0.4472. Let Ax = pS be the linear system obtained in the grid model, namely by considering X-rays of width w ≤ 0.4472. It results 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 A = 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
pS = [2, 3, 3, 2, 0, 1, 1, 2, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 4, 4, 2, 0, 0, 1, 1, 1, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0]t .
We have 36 projections. The first five entries, 2, 3, 3, 2, 0, correspond to the vertical projections (from right to left), the following 1, 1, 2, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0 are the projections in direction (2, 1), the entries 4, 4, 2, 0, 0 give the horizontal projections (from top to bottom), and 1, 1, 1, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0 are the projections in direction (1, 2). The central reconstruction (computed by svd) is −0.0556 1.0556 1.0000 1.0000 1.0000 0.0556 0.9444 1.0555 0.9444 1.0000 0.0000 0.0556 0.8889 1.0555 0.0000 x∗ = . 0.0000 −0.0556 0.0556 −0.0555 0.0556 −0.0000 −0.0000 0.0000 0.0556 −0.0556 Let us write x∗ as a sum of x and the image g associated to a ghost. We get
x =x+g =x+ ∗
−0.0556 0.0556 0 0 0
0.0556 −0.0556 0.0556 −0.0556 0
0 0.0555 −0.1111 0.0556 0
0 −0.0556 0.0555 −0.0555 0.0556
0 0 0 0.0556 −0.0556
,
where the boxed entries of g correspond to the pixels forming the weakly bad configuration FS . These entries (up to numerical round off on the last digit), agree with the general weight structure described
in Section 4 (see also Figure 1). According to Theorem 12, each coordinate gi of g belongs to the interval [−4/9, 4/9]. In particular, we have M = N = 5, and h = k = 4, so that the rectangle E in Definition 6 is reduced to the vector u = [0, 0]. Therefore, assuming the pixel λ0 in the origin, we have αu,min = α∗u = x∗ (0, 0) − round(x∗ (0, 0)) = −0.0556, and, according to Theorem 12, the binary rounding of x∗ returns a perfect reconstruction in the grid model. Now, let us see how the number of projections reduces by increasing the width. Assume, for instance, w = 0.7. This leads to the linear system A′ x = p′S , where
′ A =
0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
p′S = [2, 3, 3, 2, 0, 1, 3, 2, 3, 1, 0, 0, 0, 0, 4, 4, 2, 0, 0, 1, 2, 1, 3, 3, 0, 0, 0, 0],
so that we have now just 28 projections, related to the directions in S as follows: 2, 3, 3, 2, 0 1, 3, 2, 3, 1, 0, 0, 0, 0 4, 4, 2, 0, 0 1, 2, 1, 3, 3, 0, 0, 0, 0
projections projections projections projections
The rank of A′ is 23, strictly less than the rank of A, so increases. The central reconstruction becomes −0.0481 0.9139 1.2684 0.1822 0.9519 0.9140 0.7696 y∗ = −0.1340 0.1823 −0.0000 −0.0482 0.1822 −0.0000 0.0000 −0.1342 that we can write in the form y∗ = x + g′ , with −0.0861 −0.0481 −0.0481 0.1822 ′ g = −0.1340 0.1823 −0.0482 −0.0000 −0.0000 0.0000
g′ given by
along along along along
(0, 1), (1, 2), (1, 0), (1, 2).
that the dimension of the space of ghosts 0.8658 1.0000 1.0861 0.8658 0.9138 0.2684 −0.0480 −0.0861 0.1824 −0.0482
,
0.2684
−0.1342
0.0000
−0.0860
0.0861
−0.1342
−0.2304
−0.0862
0.2684
0.1822
−0.0480
−0.0861
−0.1342
0.1824
−0.0482
.
Note that the original weakly bad configuration FS is now enlarged by considering also the pixels corresponding to the doubly boxed entries. These represent the set of pixels that, starting from FS can be included in strips of width w. As it can be easily checked, in any such strip the sum of the entries is still
equal to zero. This means that we have a larger degree of freedom for each entry of the enlarged weakly bad configuration. Despite this, the binary rounding of y∗ still returns the solution x. By further increasing the width w, the weakly bad configuration FS is progressively enlarged, and the augmented freedom leads to possible entries falling outside the interval (14). Their binary rounding may reflect in wrong values given to the corresponding pixels, and consequently a decreasing percentage of correct reconstruction. Nevertheless, in the experimental section below, it is shown that the lost is not too much even when w is considerably greater than w(S), which points out a quite good stability of BRA under a reasonable reduction of the number of employed projections.
7
Experimental results
We have tested our results on different sets S, differently sized phantoms, and different widths w of the X-rays. The size of the phantoms is assumed as the size of the working grid A.
7.1
Description of the experiments
Four different phantoms have been considered (see Figure 3). The first phantom (upper-left corner of Figure 3) is 51 × 51 sized, the object in the bounding grid is not convex, and has a fragmented boundary. The second phantom (upper-right corner of Figure 3) is a long and narrow flower-kind image of size 256 × 44. The third phantom (bottom-left corner of Figure 3) consists of a collection of five different convex sets, distributed in a 128 × 128 sized grid. The fourth phantom (bottom-right corner of Figure 3) is a binary 256 × 256 Lena image.
Figure 3: The four phantoms exploited for applications of BRA. Reconstructions have been considered by using sets S of uniqueness (according to Theorem 2) for the corresponding working grid, and by applying Corollary 4 or Corollary 5 for their explicit computations. Table 1 shows the different sets S of four directions that we have employed in our experiments, together with the related intrinsic width w(S). In Table 2 the corresponding set of angles Ω have been given (at the second of angle precision). S S = {(3, 5), (5, 3), (16, 15), (24, 23)} S = {(1, 0), (0, 1), (24, 25), (25, 24)} S = {(61, 5), (40, 3), (10, 11), (111, 19)} S = {(71, 11), (47, −5), (30, 13), (88, −7)} S = {(20, 13), (21, 20), (22, 25), (63, 58)} S = {(19, 14), (21, 20), (22, 23), (62, 57)} S = {(10, 11), (20, 21), (31, 30), (61, 62)} S = {(27, 20), (30, −31), (14, −37), (43, 26)} S = {(60, 47), (39, 41), (20, 33), (119, 121)} S = {(59, 39), (41, 47), (20, 33), (120, 119)}
w(S) 0.03 0.0289 0.0089 0.0113 0.0117 0.0119 0.0115 0.0195 0.0059 0.0059
Size of A 51 × 51 51 × 51 256 × 44 256 × 44 128 × 128 128 × 128 128 × 128 128 × 128 256 × 256 256 × 256
Table 1: Sets of uniqueness employed in the experiments.
Phantom 1 1 2 2 3 3 3 3 4 4
S {(3, 5), (5, 3), (16, 15), (24, 23)} {(1, 0), (0, 1), (24, 25), (25, 24)} {(61, 5), (40, 3), (10, 11), (111, 19)} {(71, 11), (47, −5), (30, 13), (88, −7)} {(20, 13), (21, 20), (22, 25), (63, 58)} {(19, 14), (21, 20), (22, 23), (62, 57)} {(10, 11), (20, 21), (31, 30), (61, 62)} {(27, 20), (30, −31), (14, −37), (43, 26)} {(60, 47), (39, 41), (20, 33), (119, 121)} {(59, 39), (41, 47), (20, 33), (120, 119)}
Ω Ω = {59◦ 2′ 10′′ , 30◦ 57′ 50′′ , 43◦ 9′ 9′′ , 43◦ 46′ 52′′ } Ω = {0◦ , 90◦ , 46◦ 10′ 9′′ , 43◦ 49′ 51′′ } Ω = {4◦ 41′ 9′′ , 4◦ 17′ 21′′ , 47◦ 43′ 35′′ , 9◦ 42′ 48′′ } Ω = {8◦ 48′ 24′′ , 173◦55′ 39′′ , 23◦ 25′ 43′′ , 175◦ 27′ 7′′ } Ω = {33◦ 1′ 26′′ , 43◦ 36′ 10′′ , 48◦ 39′ 8′′ , 42◦ 38′ 2′′ } Ω = {36◦23′ 4′′ , 43◦ 36′ 10′′ , 46◦ 16′ 23′′ , 42◦ 35′ 39′′ } Ω = {47◦43′ 35′′ , 46◦ 23′ 50′′ , 44◦ 3′ 39′′ , 45◦ 27′ 57′′ } Ω = {36◦ 31′ 44′′ , 134◦ 3′ 39′′ , 110◦ 43′ 32′′ , 31◦ 9′ 33′′ } Ω = {38◦4′ 22′′ , 46◦ 25′ 56′′ , 58◦ 46′ 54′′ , 45◦ 28′ 39′′ } Ω = {33◦27′ 55′′ , 48◦ 54′ 2′′ , 58◦ 46′ 54′′ , 44◦ 45′ 37′′ }
Table 2: The sets of angles corresponding to the employed sets of uniqueness. From Table 3 to Table 6 we have resumed the numerical outputs associated to the four phantoms. Each table reports, first of all, the minimum number k of iterations that allows perfect reconstruction in the grid model (w ≤ w(S)), or whenever it can be achieved. Then, for increasing width, the corresponding number of employed projections is given, and, for different numbers of iterations, the number of wrongly reconstructed pixel (♯ wrong), the percentage of image that is correctly reconstructed (% reconstruction), and the percentage of projections taken from the reconstructed image that differ from the corresponding phantom’s projections (% wrong projections). For width w > w(S), until perfect reconstruction is allowed, the minimum number of required iterations is pointed out. Differently, starting from a number of iterations around this minimum, and for further increasing w, the output details are provided concerning five different values of k. The choice of the five stopping iterations does not follow a general rule, but it is done trying to cover a meaningful range, for different phantoms, different widths, and different sets S of directions. For Phantom 1 (Figure 3, upper-left corner), in the grid model, and for two different sets S of uniqueness, we have compared the performances of six different methods in Step 7 of BRA. All of them return the expected perfect reconstruction, but Kaczmarz’s method and CGLS provide a smaller number of iterations. As a consequence, in reconstructing Phantom 1 for increasing values of the width, only these two methods have been adopted in the iterative step of BRA. The corresponding outputs are quite similar, even if CGLS is extremely faster. Therefore, in reconstructing the other phantoms, just CGLS has been included in BRA. Figure 4 and Figure 5 show a selection of the cases when the width w does not allow perfect reconstruction. In each case, the position of the wrongly reconstructed pixels is shown, and the corresponding redundancy rates (see Equation (6)) and percentages of reconstruction are provided. It is remarkable that a high percentage of reconstruction is preserved even for largely negative redundancies.
7.2
Discussion of the outputs
A same phantom has been reconstructed by means of different sets S. When S ∈ S(A), and w = w(S), namely in the grid model, we always get, as expected, perfect noise-free reconstructions. Each set of uniqueness S determines a different set E, as discussed in Section 4, whose structure influences the performance of BRA. Reconstructions are faster, in terms of number of iterations k, when λi + E does not intersect λt + E for i 6= t (see also Remark 10). Differently, a higher number of iterations is required, in order to compute the correct weights in Step 10 of BRA. Phantom 1 has been considered with two different sets of uniqueness. The first one, S = {(3, 5), (5, 3), (16, 15), (24, 23)}, is of the form {u1 , u2 , u3 , u4 = u1 + u2 + u3 }. As detailed in Example 11, overlaps occur between λi + E and λt + E for some indices i, t, i 6= t. The second one, S = {(1, 0), (0, 1), (24, 25), (25, 24)}, is of the form {u1 , u2 , u3 , u4 = u1 + u2 − u3 }, and determines no overlap. This explains the higher number of iterations required in the first case to get perfect reconstruction in the grid model. We can also observe that the angular separation among the four directions is small for the first set, and very large for the second one, which is a further reason for the better performance of BRA with the second set. This happens for each one of the methods exploited in the iterative step of BRA. However, from an applicative point of view, the first set should be preferable, since long directions are usually undesirable.
Phantom 1 - size 51 × 51 - n = 2601 S = {(3, 5), (5, 3), (16, 15), (24, 23)} Grid model method to x∗ k ♯ iterations ♯ wrong % reconstruction Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections
w=w(S)=0.03 - ♯proj.=3972 - Red = 0.527 C CG L S K CA 67 22 125 67 15 183 0 0 0 0 0 0 100 100 100 100 100 100 w = 0.04 - ♯ proj=3137 - Red = 0.206 CG K 28 29 0 0 100 100 0 0
w = 0.08-♯ proj=2279 - Red = −0.123 CG 70
150
300
6
5
4
99.76
99.80
1
0.9
70 7 99.73 1.4
150 6 99.76 1.2
Strip model method to x∗ k 70
150
♯ wrong
56
54
% wrong projections Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections
500
K
1000
70
150
300
500
3
3
8
6
6
5
5
99.84
99.88
99.88
99.69
99.76
99.76
99.8
99.8
0.7
0.5
0.5
1.4
1
1
0.9
0.9
w = 0.1 - ♯ proj=1997 - Red = −0.232 CG 300 500 1000 70 150 5 5 5 9 8 99.8 99.8 99.8 99.65 99.69 1 1 1 1.7 1.6
K 300 7 99.73 1.4
w = 0.2-♯ proj=1315 - Red = −0.494 CG
♯ iterations
% reconstruction
w = 0.06 - ♯ proj=2755 - Red = 0.059 CG K 69 169 0 0 100 100 0 0
500 7 99.73 1.4
1000
1000 7 99.73 1.4
K
300
500
1000
70
150
300
500
55
55
55
58
56
57
57
1000 54
97.84
97.92
97.88
97.88
97.88
97.77
97.84
97.8
97.8
97.92
12
11.86
11.78
11.78
11.78
12.85
12.31
12.39
12.39
11.86
70 101 96.04 24.91
150 103 96.11 25.58
w = 0.3-♯ proj=895 - Red = −0.655 CG 300 500 1000 70 150 98 99 99 109 106 98 99 99 95.80 95.92 24.35 24.35 24.35 25.25 25
K 300 103 96.04 25.02
500 103 96.04 25.58
1000 103 96.04 25.58
S = {(1, 0), (24, 25), (0, 1), (25, 24)} Grid model method to x∗ k ♯ iterations ♯ wrong % reconstruction Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections
w=w(S)=0.0289 - ♯proj.= 3900 - Red = 0.499 C CG L S K CA 10 4 26 10 1 27 0 0 0 0 0 0 100 100 100 100 100 100 w = 0.04-♯ proj= 2866 - Red = 0.101 CG K 24 17 0 0 100 100 0 0
Strip model method to x∗ k
w = 0.05 - ♯ proj=2330 - Red = −0.104 CG K 30 35 6 6 99.77 99.77 0.6 0.6
w = 0.06-♯ proj= 1966 - Red = −0.244 CG
K
♯ iterations
30
100
250
500
1000
30
100
250
500
♯ wrong
12
11
11
11
11
10
10
11
11
11
99.53
99.57
99.57
99.57
99.57
99.61
99.57
99.57
99.57
1.62
1.42
1.42
1.42
1.42
1.22
1.42
1.42
1.42
% reconstruction % wrong projections Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections Strip model method to x∗ k ♯ iterations ♯ wrong % reconstruction % wrong projections Strip model method to x∗ k ♯ iterations
100 20 99.23 3.2
100 35 98.65 7.9
200 20 99.23 3.2
200 35 98.65 7.9
1.22
w = 0.07 - ♯ proj=1718 - Red = −0.339 CG 400 800 1500 100 200 20 20 20 20 20 99.23 99.23 99.23 99.23 99.23 3.2 3.2 3.2 3.2 3.2
K 400 18 99.308 3.14
w = 0.09 - ♯ proj=1388 - Red = −0.466 CG 400 800 1500 100 200 35 35 35 34 34 98.65 98.65 98.65 98.69 98.69 7.9 7.9 7.9 7.7 7.7 w = 0.2 - ♯ proj=724 - Red = −0.721 CG
100
K 400 34 98.69 7.7
1500 18 99.308 3.14
800 34 98.69 7.7
1500 34 98.69 7.7
K
400
800
1500
100
200
400
800
1500
77
77
76
76
76
76
76
76
77
77
% reconstruction
97
97
97
21.27
21.27
21.27
800 18 99.308 3.14
200
♯ wrong
% wrong projections
99.61
1000
97
97
21.27
21.27
97
97
97
97
97
21.27
21.27
21.27
21.27
21.27
Table 3: Reconstructions of Phantom 1 with projections taken from two different sets S of directions, and increasing values of the width. In the grid model (w = w(S)), comparison are also presented among different methods in the iterative step of BRA. C=Cimmino, CG=CGLS, L=Landweber, S=SART, K=Kaczmarz, CA=CART. The outputs related to the shaded columns are shown in Figure 4-left side.
Phantom 2 - size 256 × 44 - n = 11264 S = {(61, 5), (40, 3), (10, 11), (111, 19)} Grid model 100% reconstruction w(S) = 0.0089 ♯ proj.= 16852 ♯ iterations=14 Red = 0.496 Strip model 100% reconstruction w = 0.01 ♯ proj.= 16098 ♯ iterations=27 Red = 0.429 Strip model w = 0.02 - ♯ proj.= 12412 - Red = 0.102 w = 0.03 - ♯ proj.= 9878 - Red = −0.123 ♯ iterations 30 100 300 500 1000 30 100 300 500 1000 ♯ wrong 299 115 76 67 63 947 735 641 629 627 % reconstruction 97.34 98.97 99.32 99.4 99.44 91.59 93.47 94.30 94.41 94.43 % wrong projections 6.89 2.86 1.98 1.73 1.5 20.49 16.71 15.62 15.51 15.45 Strip model w = 0.04 - ♯ proj.= 8244 - Red = −0.268 w = 0.06 - ♯ proj.= 6598 - Red = −0.414 ♯ iterations 100 300 500 800 1000 100 300 500 800 1000 ♯ wrong 1040 920 906 905 903 1344 1262 1235 1240 1240 % reconstruction 90.767 91.83 91.95 91.96 91.98 88.06 88.79 89.35 88.99 88.99 % wrong projections 24.92 22.10 21.70 21.83 21.84 30.191 27.81 27.14 27.084 27.02 S = {(71, 11), (47, −5), (30, 13), (88, −7)} Grid model 100% reconstruction w(S) = 0.0113 ♯ proj.= 17578 ♯ iterations=15 Red = 0.561 Strip model 100% reconstruction w = 0.015 ♯ proj.= 16049 ♯ iterations=20 Red = 0.425 Strip model 100% reconstruction w = 0.02 ♯ proj.= 13994 ♯ iterations=70 Red = 0.242 Strip model w = 0.03 - ♯ proj.= 11038 - Red = −0.020 w = 0.04 - ♯ proj.= 8477 - Red = −0.247 ♯ iterations 70 150 300 600 1000 70 150 300 600 1000 ♯ wrong % reconstruction % wrong projections Strip model ♯ iterations
64
46
99.43
99.59
35 99.69
37
35
99.67
99.69
1.9 1.5 1.16 1.23 1.15 w = 0.05 - ♯ proj.= 6849 - Red = −0.392 70 150 300 600 1000
464 95.88
454
450
450
450
95.96
96
96
96
14.95 14.852 14.78 14.78 14.78 w = 0.06 - ♯ proj.= 5757 - Red = −0.489 70 150 300 600 1000
♯ wrong
1084
1070
1074
1074
1074
1316
1317
1317
1317
1317
% reconstruction
90.37
90.5
90.46
90.46
90.46
88.32
88.30
88.30
88.30
88.30
% wrong projections
30.17
30.13
30.35
30.35
30.35
38.16
38.23
38.23
38.23
38.23
Table 4: Reconstructions of Phantom 2 by BRA, with projections taken from two different sets S of directions, and for increasing values of the width. The CGLS method has been employed in the iterative step of BRA. The outputs related to the shaded columns are shown in Figure 4-right side.
(a)
(a)
(b)
(c)
(b)
(c)
(d)
(d)
Figure 4: Left side. Reconstructions of Phantom 1 related to the shaded columns in Table 3 (upper line), and the corresponding position of wrongly reconstructed pixels (bottom line). Redundancy rates (Red.) and percentages of exact reconstruction (Rec.): (a) Red = −0.123, Rec. = 99.88%, (b) Red = −0.244, Rec. = 99.61%, (c) Red = −0.494, Rec. = 97.92%, (d) Red = −0.721, Rec. = 97%. Right side. Reconstructions of Phantom 2 related to the shaded columns in Table 4 (upper line), and the corresponding position of wrongly reconstructed pixels (bottom line). (a) Red = −0.02, Rec. = 99.69%, (b) Red = −0.247, Rec. = 95.88%, (c) Red = −0.392, Rec. = 90.5%, (d) Red = −0.489, Rec. = 88.32%.
Phantom 3 - size 128 × 128 - n = 16384 S = {(20, 13), (21, 20), (22, 25), (63, 58)} Grid model w(S) = 0.0116 ♯ proj.=26092 ♯ iterations=149 100% reconstruction Red = 0.593 Strip model w = 0.02 - ♯ proj.=21897 - Red = 0.336 w = 0.04 - ♯ proj.=16473 - Red = 0.005 ♯ iterations 150 300 600 1500 3000 150 300 600 1500 3000 ♯ wrong 95 96 90 85 85 1177 1119 1086 1067 1067 % reconstruction 99.4 99.4 99.5 99.5 99.5 92.8 93.2 93.3 93.5 93.5 % wrong projections 1.18 1.20 1.18 1.13 1.13 12.6 12.2 11.8 11.6 11.6 Strip model w = 0.06 - ♯ proj.=11329 - Red = −0.309 w = 0.084 - ♯ proj.=8153 - Red = −0.502 ♯ iterations 150 300 600 1500 3000 150 300 600 1500 3000 ♯ wrong 1722 1593 1535 1523 1523 1914 1693 1674 1663 1663 % reconstruction 89.5 90.3 90.6 90.7 90.7 88.3 89.7 89.8 89.9 89.9 % wrong projections 25.7 24.9 23.6 23.0 23.0 35.1 31.7 31.2 30.6 30.6 S = {(10, 11), (20, 21), (31, 30), (61, 62)} Grid model w(S) = 0.0114 ♯ proj.= 26246 ♯ iterations=143 100% reconstruction Red = 0.602 Strip model w = 0.02 - ♯ proj.= 21211 - Red = 0.295 w = 0.04 - ♯ proj.= 14283 - Red = −0.128 ♯ iterations 150 200 250 300 350 150 300 600 1500 3000 ♯ wrong
175
78
17
7
% reconstruction
98.9
99.5
99.98
99.95
% wrong projections Strip model ♯ iterations ♯ wrong % reconstruction % wrong projections
1.94 1.07 0.25 w = 0.06 - ♯ proj.= 150 300 600 880 646 476 94.6 96.1 97.1 13.2 12.0 10.7
1
588
377
228
137
138
99.99
96.4
97.7
98.6
99.2
99.2
0.11 0.01 7.4 6.5 4.5 3.2 3.3 10460 - Red = −0.362 w = 0.083 - ♯ proj.= 8128 - Red = −0.504 1500 3000 150 300 600 1500 3000 356 351 1104 878 657 562 562 97.8 97.9 93.3 94.6 96.0 96.6 96.6 9.1 9.1 18.4 17.8 17.0 15.7 15.7
S = {(19, 14), (21, 20), (22, 23), (62, 57)}. Grid model w(S) = 0.0118 ♯ proj.= 25738 ♯ iterations=61 Strip model w = 0.02 - ♯ proj.= 21676 - Red = 0.323 ♯ iterations 150 300 600 1500 3000 ♯ wrong 266 251 236 223 223 % reconstruction 98.4 98.5 98.6 98.7 98.7 % wrong projections 3.59 3.22 3.01 2.90 2.90 Strip model w = 0.06 - ♯ proj.= 11264 - Red = −0.313 ♯ iterations 150 300 600 1500 3000 ♯ wrong 2023 1648 1454 1427 1427 % reconstruction 87.7 89.9 91.1 91.3 91.3 % wrong projections 24.3 20.9 19.0 18.4 18.4
100% reconstruction Red = 0.571 w = 0.04 - ♯ proj.= 16433 - Red = 0.003 150 300 600 1500 3000 1415 1161 1100 1091 1091 91.4 92.9 93.3 93.3 93.3 15.4 12.3 11.4 11.1 11.1 w = 0.083 - ♯ proj.= 8188 - Red = −0.500 150 300 600 1500 3000 2158 1930 1655 1592 1592 86.8 88.2 89.9 90.3 90.3 32.4 30.2 26.0 24.8 24.8
S = {(27, 20), (30, −31), (14, −37), (43, 26)} Grid model w(S) = 0.0199 ♯ Strip model w = 0.03 ♯ Strip model w = 0.04 ♯ Strip model w = 0.05 ♯ iterations 20 ♯ wrong
140
proj.= 26078 ♯ iterations=13 proj.= 21040 ♯ iterations=16 proj.= 15933 ♯ iterations=72 - ♯ proj.= 12860 - Red = −0.215 50 100 150 200 66
62
63
62
270
99.62
99.61
99.62
98.35
% reconstruction
99.14
% wrong projections Strip model ♯ iterations
3.84 1.87 1.76 1.77 1.74 w = 0.07 - ♯ proj.= 9324 - Red = −0.431 20 50 100 150 200
♯ wrong
99.59
100% reconstruction Red = 0.592 100% reconstruction Red = 0.284 100% reconstruction Red = −0.028 w = 0.06 - ♯ proj.= 10803 - Red = −0.341 20 50 100 150 200
478
195 98.80
196
201
199
98.80
98.77
98.78
8.11 6.24 6.23 6.43 6.36 w = 0.08 - ♯ proj.= 8224 - Red = −0.498 20 50 100 150 200
564
490
480
478
690
568
558
559
561
% reconstruction
96.56
97.00
97.08
97.07
97.08
95.79
96.53
96.59
96.59
96.57
% wrong projections
16.79
14.77
14.28
14.28
14.19
21.44
18.37
18.15
18.08
18.12
Table 5: Reconstructions of Phantom 3 by BRA, and iterative step with CGLS. Comparison is presented among four different sets S of directions, for increasing values of the width. The outputs related to the shaded columns are shown in Figure 5-left side.
Phantom 4 - size 256 × 256 - n = 65536 S = {(60, 47), (39, 41), (20, 33), (119, 121)} Grid model 100% reconstruction w(S) = 0.0059 ♯ proj.=103402 ♯ iterations=59 Red = 0.578 Strip model w = 0.01 - ♯ proj.=87036 - Red = 0.328 w = 0.02 - ♯ proj.=62288 - Red = −0.050 ♯ iterations 300 500 800 1500 3000 300 500 800 1500 3000 ♯ wrong 154 150 152 151 151 1305 1261 1236 1194 1191 % reconstruction 99.765 99.77 99.768 99.768 99.768 98 98.07 98.114 98.17 98.18 % wrong projections 0.62 0.599 0.6 0.6 0.6 5.37 5.26 5.18 5.02 5.01 Strip model w = 0.04 - ♯ proj.= 33860 - Red = −0.483 w = 0.06 - ♯ proj.=22744 - Red = −0.653 ♯ iterations 300 500 800 1500 3000 300 500 800 1500 3000 ♯ wrong 4267 4195 4110 3845 3845 5321 5233 5122 4868 4868 % reconstruction 93.49 93.59 93.72 94.13 94.13 91.88 92 92.18 92.6 92.6 % wrong projections 22.4 22 21.6 20.1 20.1 33.33 33.30 32.94 31.7 31.7 S = {(59, 39), (41, 47), (20, 33), (120, 119)} Grid model 100% reconstruction w(S) = 0.0059 ♯ proj.=103200 ♯ iterations=19 Red = 0.575 Strip model 100% reconstruction w = 0.01 ♯ proj.=84125 ♯ iterations=271 Red = 0.284 Strip model w = 0.02 - ♯ proj.=59759 - Red = −0.088 w = 0.03 - ♯ proj.=42728 - Red = −0.348 ♯ iterations 300 500 800 1500 3000 300 500 800 1500 3000 ♯ wrong
86
81
81
81
81
764
99.87
99.87
98.83
99.86
% wrong projections Strip model ♯ iterations
0.52 0.49 0.49 0.49 0.49 w = 0.04 - ♯ proj.=32322 - Red = −0.507 300 500 800 1500 3000
♯ wrong
1659
% reconstruction % wrong projections
99.87
99.87
% reconstruction
750 98.85
753
753
753
98.85
98.85
98.85
5.36 5.27 5.26 5.26 5.26 w = 0.06 - ♯ proj.=21856 - Red = −0.667 300 500 800 1500 3000
1663
1661
1661
1661
3384
3397
3402
3402
3402
97.468
97.462
97.465
97.465
97.465
94.83
94.81
94.80
94.80
94.80
13.03
13.09
13.09
13.09
13.09
28.48
28.57
28.65
28.65
28.65
Table 6: Reconstructions of Phantom 4 by BRA, iterative step with CGLS, and two different sets S of directions. The outputs related to the shaded columns are shown in Figure 5-right side.
(a)
(b)
(c)
(d)
(a)
(b)
(c)
(d)
Figure 5: Left side. Reconstructions of Phantom 3 related to the shaded columns in Table 5 (upper line), and the corresponding position of wrongly reconstructed pixels (bottom line). Redundancy rates (Red.) and percentages of exact reconstruction (Rec.): (a) Red = 0.295, Rec. = 99.99%, (b) Red = −0.215 with 99.59%, (c) Red = −0.341 with 98.80% reconstruction, (d) Red = −0.431 with 97.07% reconstruction. Right side. Reconstructions of Phantom 4 related to the shaded columns in Table 6 (upper line), and the corresponding position of wrongly reconstructed pixels (bottom line). (a) Red = −0.088, Rec. = 99.87%, (b) Red = −0.348, Rec. = 98.85%, (c) Red = −0.507, Rec. = 97.468%, (d) Red = −0.667, Rec. = 94.83%.
From Table 3 we can see that, for increasing width, the percentage of correctly reconstructed pixels decreases very slowly. We can reconstruct more than 99% of the image with a number of projections considerably less than the number of pixels (|pS | = m = 1718 against n = 2601, when w = 0.07 and the second set is used), and around the 97% with m ≈ 0.28n (second set and w = 0.2, with a redundancy rate Red = −0.721). Of course, when w is large, the greater number of pixels that fall in a single strip of width w may cause some small negative update of the percentage of correctly reconstructed image for an increasing number of iterations. We can observe a weak manifestation of this behavior when w = 0.2 and w = 0.3. For instance, when w = 0.2 and the set S = {(3, 5), (5, 3), (16, 15), (24, 23)} is employed, there are 54 wrong pixels for k = 150, and 55 for k = 300. This also occurs using the second set S = {(1, 0), (0, 1), (24, 25), (25, 24)}, or in Phantom 3, but the difference is always restricted to the addition of 1-2 wrongly reconstructed pixels for growing k. Also for the other phantoms we can observe different behaviors for different sets S of uniqueness, which can be explained with the same arguments as above. The two sets employed for Phantom 2 lead to similar outputs, even if the second one is preferable. On the other side, the results for Phantom 3 are very different for different sets S. The first one S = {(20, 13), (21, 20), (22, 25), (63, 58)} provides perfect reconstruction in the grid model with a large number of iterations, and preserves around 90% of reconstruction with m ≈ n/2 (redundancy rate Red = −0.502). Here we have several overlaps of the enlarging regions presented in Definition 6, also among triples of them. The second set S = {(10, 11), (20, 21), (31, 30), (61, 62)} still implies overlaps, but less than in the previous case. This reflects in requiring about the same number of iterations to get perfect reconstruction in the grid model, but, on the other side, about the 97% of reconstruction is preserved even when m ≈ n/2 (Red = −0.504). The third set S = {(19, 14), (21, 20), (22, 23), (62, 57)} is a kind of middle way between the first two, while the fourth set S = {(27, 20), (30, −31), (14, −37), (43, 26)} is the best one, both in the grid model and for increasing values of w. This can be explained by the fact that no overlaps are determined, and, also, the directions have higher angular differences. Concerning Phantom 4, the two employed sets S are quite comparable, being of the same kind {u1 , u2 , u3 , u4 = u1 + u2 + u3 } and providing no overlaps. The outputs are similar but not identical, and the second set is surely preferable. Again, we can explain this slightly different behavior in terms of angular range among the employed directions, which is about 20◦ for the first set, and about 25◦ for the second set. As a general comment we remark that BRA does not seem to be greatly influenced by the size and by the structure of the image to be reconstructed, but it is mainly dependent on the choice of the employed set S of uniqueness. A good selection of S greatly reduces the number of iterations leading to perfect reconstruction in the grid model (compare for instance the sets employed in Phantom 1 or in Phantom 3), and also may allow exact reconstruction for w slightly greater than w(S). By increasing the width of the X-rays, the size of the projection array can be progressively decreased, still preserving quite good percentages of reconstruction even for largely negative redundancy rates, and all obtained in a running time of very few seconds (1 to about 6), depending on the number of iterations. A quantitative description of the performances can be gathered from the analysis of Tables 3-6, from Figure 4, and from Figure 5, where a selections of the outputs is shown.
8
Conclusion and comments
In this paper we have addressed two tomographic problems. The first one was to find an algorithm that provides perfect noise-free reconstruction of a binary image in a grid model, in case a set S of valid direction is employed. The second one intended to guarantee a high percentage of reconstruction even with a negative redundancy rate, that is, when the number of collected projections is less than the number of pixels to be reconstructed. Starting from the uniqueness Theorem 2, we have proved Theorem 12 and Corollary 13, which lead to Algorithm 1 (BRA) . It allows perfect reconstruction of binary solutions in the grid model, by binary rounding the real-valued solution of minimal Euclidean norm. The idea follows the same approach as in [2], but it differs from that due to Theorem 2, which guarantees since the beginning that, if a set S ∈ S(A) is employed, the solution in the lattice grid A exists and it is unique. This shows that BRA solves the first problem. Then we have explored how the quality of reconstruction can be preserved when the number of projections is reduced. This has been done by applying BRA to projections collected by means of X-rays, having increasing width. The outputs show that a quite good percentages of reconstruction is preserved. We have presented several experiments, and quantitatively commented the results.
In view of a reinforcement of the proposed approach, we would like to modify BRA in order to include also the cases when noisy projections are considered. As a further extension we wish to explore the same problems for gray-scale images. In this case, Theorem 2 is not valid anymore, so a first step should be devoted to a generalization of this theoretical result for integer-valued images. We remark that BRA shouldn’t be considered as an immediate counterpart to more sophisticated and well known reconstruction algorithms, but it is just intended as an easy implementation of the theoretical uniqueness result presented in [6], and holding in the grid model. The provided algorithm shows that explicit perfect reconstructions can in fact be obtained in the grid model with a very few number of iterations, and this approach reveals useful also when the number of projections is considerably reduced. Therefore, we think that the a priori selection of sets of directions according to Theorem 2 could be profitably included in usually employed strategies, in order to improve the speed and the quality of the reconstruction process. Acknowledgments The research of the third author has been partially supported by Fondazione Fratelli Confalonieri (http://www.fondazionefratelliconfalonieri.it/).
References [1] Sandra Van Aert, Kees J. Batenburg, Marta D. Rossell, Rolf P. Ern, and Gustaaf Van Tendeloo. Three-dimensional atomic imaging of crystalline nanoparticles. Nature, 470(7334):374–377, 2011. [2] Kees J. Batenburg, Wagner Fortes, Lajos Hajdu, and Robert Tijdeman. Bounds on the quality of reconstructed images in binary tomography. Discrete Appl. Math., 161(15):2236–2251, 2013. [3] Kees Joost Batenburg and Jan Sijbers. Dart: A practical reconstruction algorithm for discrete tomography. IEEE Transactions on Image Processing, 20(9):2542–2553, 2011. [4] Sara Brunetti, Paolo Dulio, Lajos Hajdu, and Carla Peri. Ghosts in discrete tomography. Journal of Mathematical Imaging and Vision, 53(2):210–224, 2015. [5] Sara Brunetti, Paolo Dulio, and Carla Peri. Characterization of { - 1, 0, + 1} valued functions in discrete tomography under sets of four directions. In Discrete Geometry for Computer Imagery - 16th IAPR International Conference, DGCI 2011, Nancy, France, April 6-8, 2011. Proceedings, pages 394–405, 2011. [6] Sara Brunetti, Paolo Dulio, and Carla Peri. Discrete tomography determination of bounded lattice sets from four X-rays. Discrete Appl. Math., 161(15):2281–2292, 2013. [7] Sara Brunetti, Paolo Dulio, and Carla Peri. On the non-additive sets of uniqueness in a finite grid. In Proceedings of DGCI, 2013, Lecture Notes in Comput. Sci., 7749, pages 288–299, Berlin, Heidelberg, 2013. Springer-Verlag. [8] Sara Brunetti, Paolo Dulio, and Carla Peri. Discrete tomography determination of bounded sets in Zn . Discrete Appl. Math., 183:20–30, 2015. [9] Shekhar Chandra, Imants D. Svalbe, and Jean-Pierre Gu´edon. An exact, non-iterative mojette inversion technique utilising ghosts. In David Coeurjolly, Isabelle Sivignon, Laure Tougne, and Florent Dupont, editors, DGCI, volume 4992 of Lecture Notes in Computer Science, pages 401–412. Springer, 2008. [10] Paolo Dulio, Andrea Frosini, and Silvia M.C. Pagani. A geometrical characterization of regions of uniqueness and applications to discrete tomography. Inverse Problems (to appear). [11] Paolo Dulio and Silvia M. C. Pagani. Stability results for sets of uniqueness in binary tomography. In MATEC Web of Conferences, volume 76, page 02046. EDP Sciences, 2016. [12] Richard J. Gardner and Peter Gritzmann. Discrete tomography: determination of finite sets by X-rays. Trans. Am. Math. Soc., 349(6):2271–2295, 1997. [13] Yan G´erard and Fabien Feschet. Application of a discrete tomography approach to computerized tomography. In Advances in Discrete Tomography and Its Applications, pages 367–386. Springer, 2007.
[14] Gene H. Golub and Charles F. Van Loan. Matrix Computations (3rd Ed.). Johns Hopkins University Press, Baltimore, MD, USA, 1996. [15] Alexandre Goupy and Silvia M. C. Pagani. Probabilistic reconstruction of hv-convex polyominoes from noisy projection data. Fundam. Inf., 135(1-2):117–134, January 2014. [16] Jean-Pierre Gu´edon and Nicolas Normand. The mojette transform: The first ten years. In Eric Andres, Guillaume Damiand, and Pascal Lienhardt, editors, Discrete Geometry for Computer Imagery, volume 3429 of Lecture Notes in Computer Science, pages 79–91. Springer Berlin Heidelberg, 2005. [17] Lajos Hajdu and Robert Tijdeman. Algebraic aspects of discrete tomography. J. Reine Angew. Math., 534:119–128, 2001. [18] Per Christian Hansen and Maria Saxild-Hansen. {AIR} tools — a {MATLAB} package of algebraic iterative reconstruction methods. Journal of Computational and Applied Mathematics, 236(8):2167 – 2178, 2012. Inverse Problems: Computation and Applications. [19] Gabor T. Herman and Attila Kuba. Discrete tomography: a historical overview. In Discrete tomography, Appl. Numer. Harmon. Anal., pages 3–34. Birkh¨auser Boston, Boston, MA, 1999. [20] Gabor T. Herman and Attila Kuba. Advances in Discrete Tomography and Its Applications (Applied and Numerical Harmonic Analysis). Birkhauser, 2007. [21] Joerg R. Jinschek, Kees J. Batenburg, Hector A. Calderon, Roar Kilaas, Velimir Radmilovic, and Christian Kisielowskii. 3-d reconstruction of the atomic positions in a simulated gold nanocrystal based on discrete tomography: Prospects of atomic resolution electron tomography. Ultramicroscopy, 108(6):589 – 604, 2008. [22] Myron Katz. Questions of uniqueness and resolution in reconstruction from projections / Myron Bernard Katz. Springer-Verlag Berlin ; New York, 1978. [23] Nicolas Normand and Jean-Pierre Gu´edon. La transform´ee mojette: une repr´esentation redondante pour l’image. Comptes Rendus de l’Acad´emie des Sciences - Series I - Mathematics, 326(1):123 – 126, 1998. ´ [24] Nicolas Normand, Andrew Kingston, and Pierre Evenou. A geometry driven reconstruction algorithm for the mojette transform. In Attila Kuba, L´ aszl´oG. Ny´ ul, and K´alm´an Pal´agyi, editors, Discrete Geometry for Computer Imagery, volume 4245 of Lecture Notes in Computer Science, pages 122–133. Springer Berlin Heidelberg, 2006. ¨ [25] Johann Radon. Uber die Bestimmung von Funktionen durch ihre Integralwerte l¨angs gewisser Mannigfaltigkeiten. Akad. Wiss., 69:262–277, 1917. [26] Myriam Servieres, Nicolas Normand, Jean-Pierre V. Gu´edon, and Yves Bizais. The mojette transform: Discrete angles for tomography. Electronic Notes in Discrete Mathematics, 20:587–606, 2005. [27] L´ aszl´o Varga, P´eter Bal´azs, and Antal Nagy. Projection selection dependency in binary tomography. Acta Cybern., 20(1):167–187, January 2011. [28] L´ aszl´o Varga, L´ aszl´ o G. Ny´ ul, Antal Nagy, and Peter Bal´azs. Local uncertainty in binary tomographic reconstruction. In Proceedings of the IASTED International Conference on Signal Processing, Pattern Recognition and Applications, IASTED, pages 490–496, Calgary, AB Canada, 2013. ACTA Press. [29] Pierre Verbert, Vincent Ricordel, and Jean-Pierre Gued´on. Analysis of mojette transform projections for an efficient coding. In Proceedings of Workshop on Image Analysis for Multimedia Interactive Services, WIAMIS, pages 1–4, 2004. [30] Jiehua Zhu, Xiezhang Li, Yangbo Ye, and Ge Wang. Analysis on the strip-based projection model for discrete tomography. Discrete Applied Mathematics, 156(12):2359–2367, 2008.