Keywords

1 Objectives of the Study

The Mojette transform is an exact discrete form of the Radon transform [1] defined for specific rational projection angles. Guédon et al. originally developed this transform and its corresponding inverse in 1995, in order to represent an image as a set of discrete projections which can be chosen highly redundant (i.e. a frame description). Since 1995, the MT proprieties have been largely explored (spline MT, reconstructability of convex regions, MT in high dimensions, multi-resolution MT, etc.), and a lot of applications have been found (data communication and storage, Mojette discrete tomography, Mojette based security, etc.). Nevertheless, the MT has been mainly defined, studied and applied using the lattice \(Z^n\) (where n is the dimension of the initial lattice to transform). We propose to study this transform when using densest lattices, because we expect that the lattice high compacity will improve the MT performances when representing the data. In the paper we naturally start the study by considering the first dimensions 2 and 3 for which the densest lattices are known.

The paper is organised as follows: in the second section, basics on MT and lattices are given. We focus on the MT proprieties (direct/inverse transform, projection matrix, conditions of reconstructability) that are used in the paper, and the densest lattices for the dimensions 2 and 3 (namely the lattice \(A^2\) and the face-centered cubic lattice \(A^3\)) are also presented, the lattice density will be also defined at this level. A fair comparison method between the two MT schemes has to be defined, in order to compare the legacy MT using \(Z^n\), versus the new MT using \(A^n\). The comparison methodology is detailed in the third section where we explain in particular how to generate the truncated lattice containing the data to transform, and how to generate the projection angles by exploiting the lattice symmetries and by reordering the Haros-Farey series. The fourth section gives the experimental results, and it explains the statistic criteria used to analyse the specific nature of the information distribution on the MT projections. A conclusion and perspectives are given in the last section.

2 Basics on Mojette Transform and Lattices

2.1 The Mojette Transform

Direct Transform. The Mojette transform is an exact discrete form of the Radon transform defined for specific rational projection angles. Following the work of M. Katz [2], Guédon et al. originally developed this transform and its corresponding inverse in 1995, in order to represent an image as a set of discrete projections. The rational projection angles \(\theta _i\) are defined by a set of discrete vectors \(( p_i, q_i )\) as \(\theta _i = \tan ( q_i, p_i) \), with the condition that \(q_i\) and \(p_i\) are coprime (i.e. \(\gcd (p_i, q_i) = 1\)), and \(q_i\) is restricted to be positive except for the case \(\{ p_i, q_i\} = (1, 0)\). The transform domain of an image (or any truncated 2D lattice) is a set of projections where each element (called bin) corresponds to the sum of the pixels centered on the line of projection. This is a linear transform defined for each projection angle by the operator:

$$\begin{aligned}{}[\mathcal {M}f](b, p, q) = proj_{p, q}(b) = \sum ^{\infty }_{k = -\infty } \sum ^{\infty }_{l = -\infty } f(k, l) \varDelta (b + kq - lp); \end{aligned}$$
(1)

where (kl) defines the location of an image pixel, b is the index of a bin, and \(\varDelta (n)\) is the Kronecker delta function, equals to 1 when \(n = 0\) and 0 otherwise. The line of projection is represented by \(b = kq - lp\), and then \(\varDelta (b + kq - lp)\) is equal to 1 only for the pixels on this line. The previous Eq. 1 can be rewritten in a matrix form:

$$\begin{aligned} \begin{aligned}{}[\mathcal {M}f](b, p, q)&= \sum _{k} \sum _{l} f(k, l) \varDelta \left( \mathcal {B} - \mathcal {P}_{2 \rightarrow 1}\begin{bmatrix} k\\ l \end{bmatrix} \right) ; \\&= \sum _{k} \sum _{l} f(k, l) \varDelta \left( \begin{bmatrix} b \end{bmatrix} - \begin{bmatrix} -q&p \end{bmatrix}\begin{bmatrix} k\\ l \end{bmatrix}\right) ; \end{aligned} \end{aligned}$$
(2)

where \( \mathcal {P}_{2 \rightarrow 1}\begin{bmatrix} k\\ l \end{bmatrix} \) is the projection matrix.

Equation (2) can be generalised to higher dimensions. In 3D, a projection plane is defined by a discrete vector (pqr) with \(gcd(p, q, r) = 1\). In the same way, the projection planes are built from a discrete 3D volume f(klm). Bins are discrete points onto the projected plane, indexed by a vector \(\mathcal {B} = \begin{bmatrix} b_1&b_2 \end{bmatrix}^t\). The 3D Mojette transform can then be defined as [1, Chap. 3], [3]:

$$\begin{aligned} \begin{aligned} \mathcal {M}f(b_1, b_2, p, q, r)&= \sum _{k, l, m} f(k, l, m) \varDelta \left( \mathcal {B} - \mathcal {P}_{3 \rightarrow 2}\begin{bmatrix} k\\ l\\ m\end{bmatrix} \right) ; \\&= \sum _{k, l, m} f(k, l, m) \varDelta \left( \begin{bmatrix} b_1 \\ b_2 \end{bmatrix} - \mathcal {P}_{3 \rightarrow 2}\begin{bmatrix} k\\ l\\ m\end{bmatrix} \right) . \end{aligned} \end{aligned}$$
(3)

Moreover, in order to obtain a simple and unique index method for the vector of projection, the following conventions are taken [1, Chap. 3]: \(r \ge 0\) and \(q \ge 0\) if \(r = 0\). The projection \(\mathcal {P}_{3 \rightarrow 2}\) matrix can then be defined as following [1, Chap. 3]:

$$\begin{aligned} \mathcal {P}_{3 \rightarrow 2} = {\left\{ \begin{array}{ll} \begin{bmatrix} 1 &{} 0 &{} -\frac{p}{r} \\ 0 &{} 1 &{} -\frac{q}{r} \end{bmatrix} &{} \text {if}\,\, r \ne 0\,\, \text {and}\,\, q \ne 0; \\ &{} \\ \begin{bmatrix} 1 &{} -\frac{p}{q} &{} 0 \\ 0 &{} 0 &{} 1 \end{bmatrix} &{} \text {if}\,\, r = 0 \,\,\text {and}\,\, q \ne 0; \\ &{} \\ \begin{bmatrix} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 1 \end{bmatrix} &{} \text {if}\,\, r = 0 \,\,\text {and}\,\, q = 0. \end{array}\right. } \end{aligned}$$
(4)

This matrix is not optimal as it does not use entire displacement (i.e. ratios are used in this matrix) which creates point with non integer coordinates. Other matrices \(\mathcal {P}\) exist and can be generated from the direction projections as presented in DGCI 2005 [4]. The full and detailed explanations in order to generate the matrix \(\mathcal {P}\) from the direction projection \((v_1, v_2, \dots , v_n)\) are given in [4, 5].

The projection of a 3D regular lattice on a plane with the vector (pqr) always produces a 2D regular lattice, according to the vector (pqr) [3].

Projection Matrix and Reconstructibility. The reconstructability is the ability to ensure the exact reconstruction of any information using only a set of viewpoints. In other words, a region is reconstructible by a set of projections if a unique correspondence exists between the region and the set of projections [6]. The conditions determining if a set of Mojette projections is sufficient for inverting the transform depends strongly on the discrete shape of the region support under projection. Simple rules exist when the shape is convex [1, Chap. 4]. For rectangular regions, the Katz criterion solves this problem [2]. The reconstruction conditions for any convex region were derived by Normand [1, Chap. 4].

In 2D, each projection direction vector \((p_i, q_i)\) is associated with a two-pixels structuring element \(B_i\) (2PSE). Taking G as the region support formed by the successive dilations of the structuring elements \(B_i\), the convex region is reconstructible if and only if it can not contain G [6]. In other words, a convex region (i.e. an image) is not reconstructible if and only if the dilation result by 2PSE is not included in the image support [1, Chap. 4]. This can be also rephrased as: an image of convex support C is reconstructible if and only if the successive erosions of the C formed by the structuring elements \(B_i\) gives an empty set [6].

In 3D, the method is extended [3, Chap. 4]: each projection direction vector \((p_i, q_i, r_i)\) is associated with a two-voxels structuring element, and any convex 3D region R is reconstructible by a set of projections \(S_I\), if the dilation of the two-voxels structuring elements produces a form D than is not included in R.

2.2 The Lattices

Lattices. A lattice \(\varLambda \) is a regular arrangement of points in a n-dimensional space. \(\varLambda \) is characterised by its basis [7, (Chap. 1)] or correspondingly by its generator matrix:

$$\begin{aligned} M_\varLambda = \begin{bmatrix} v_{11}&v_{12}&\dots&v_{1m} \\ v_{21}&v_{22}&\dots&v_{2m} \\ \vdots&\vdots&\vdots&\vdots \\ v_{n1}&v_{n2}&\dots&v_{nm} \end{bmatrix}. \end{aligned}$$
(5)

By combination of the basis vectors, the lattice fundamental parallelotope is constructed. This parallelotope, when repeated, can fill the whole space with just one lattice point in each copy.

Different lattices have been studied to solve different problems as sphere packing problem, sphere covering problem, kissing number, fast quantization, etc. In the paper we focus on the \(Z^n\) lattice, and on the densest lattices for the dimensions 2 and 3, respectively \(A^2\) and \(A^3\).

A sphere packing is an arrangement of non-overlapping identical spheres within a containing space. The lattice is then constituted with the spheres centers, and the densest packing maximises the volume occupied by the spheres. The lattice density can be defined by:

$$\begin{aligned} \varDelta = \frac{\text {vol. of one sphere}}{\text {vol. of the fundamental region}} = \frac{\text {vol. of one sphere}}{det(MM^{tr})^{\frac{1}{2}}}. \end{aligned}$$
(6)

\({{\varvec{Z}}}^{{\varvec{n}}}\) lattices. The integer lattice is defined as [7, (Chap. 4)]:

$$\begin{aligned} Z^n = \{ (x_1, \dots , x_n) | x_i \in \mathbb {Z}\}. \end{aligned}$$
(7)

Its generator matrix is the identity matrix. The densities of the lattices \(Z^2\) and \(Z^3\) are respectively \(\varDelta _{Z^2} = \frac{\pi }{4} = 0.785...\) and \(\varDelta _{Z^3} = \frac{\pi }{6} = 0.524...\)

We will exploit the lattice symmetries for the MT. The \(Z^n\) automorphism group consists of all possible symmetries that are obtained by vector coordinate permutation and/or sign change, the set of permutations has a cardinality of \((2^n n! )\). So, after removing the sign changes (e.g. (ab) and \((-a, -b)\) are the same vector but with opposite direction), \(Z^2\) and \(Z^3\) counts respectively 4 (see Fig. 1) and 24 symmetries (see Fig. 2).

Fig. 1.
figure 1

Symmetries in \(Z^2\) (without sign change).

Fig. 2.
figure 2

Symmetry in \(Z^3\) (without sign change).

\({{\varvec{A}}}^{{\varvec{n}}}\) lattices. The \(A^n\) lattice (for \(n \ge 1\)) can be defined as [7, Chap. 4]:

$$\begin{aligned} A^n = \{ (x_0, x_1, \dots , x_n) \in Z^{n+1} | x_0 + x_1 + \dots + x_n = 0 \}. \end{aligned}$$
(8)

The generator matrix is

$$\begin{aligned} M_{A^n} = \begin{bmatrix} -1&1&0&0&\dots&0&0 \\ 0&-1&1&0&\dots&0&0 \\ 0&0&-1&1&\dots&0&0 \\ \vdots&\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\ 0&0&0&0&\dots&-1&1 \end{bmatrix}. \end{aligned}$$
(9)

\(A^n\) is the densest lattice for dimensions 2 and 3. \(A^3\) is also known as the face-centered cubic lattice (FCC). The densities of the lattices \(A^2\) and \(A^3\) are respectively \(\varDelta _{A^2} = \frac{\pi }{\sqrt{12}} = 0.9069...\) and \(\varDelta _{A^3} = \frac{\pi }{\sqrt{18}} = 0.7405...\).

The set of permutations of the automorphism group of the lattice \(A^2\) (respect. \(A^3\)) has a cardinality of 16 (respect. 48). After removing the sign changes, 6 symmetries (respect. 12 symmetries) remain [7, Chap. 4] (see also the Figs. 3 and 4).

Fig. 3.
figure 3

Symmetries in \(A^2\) (without sign changes).

Fig. 4.
figure 4

Neighbors of the point (0, 0, 0) in \(A^3\) [8]

2.3 Projections and Haros-Farey Sequences

The Haros-Farey sequence gives the set of rational angles in a centered square or cube, this sequence is used to enumerate the MT projections (up to the reconstructability conditions).

In 2D, the Haros-Farey sequence of order N, denoted \(F_N\), is the ordered sequence of irreducible ratios included between 0 and 1, where the denominator is less than or equal to N. In order to get \(F_{N+1}\) from \(F_N\), a median ratio \(\frac{a_{12}}{b_{12}}\) is inserted between each ratio \(\frac{a_1}{b_1}\) and \(\frac{a_2}{b_2}\) of \(F_N\), such as \(a_{12} = a_1 + a_2\) and \(b_{12} = b_1 + b_2\) if \(a_{12} < N + 1\) and \(b_{12} < N + 1\) [5]. \(F_1, F_2, F_3\) are given as an example:

$$\begin{aligned} F_1 = \left\{ \frac{0}{1}, \frac{1}{1} \right\} ; ~ F_2 = \left\{ \frac{0}{1}, \frac{1}{2}, \frac{1}{1} \right\} ; ~ F_3 = \left\{ \frac{0}{1}, \frac{1}{3}, \frac{1}{2}, \frac{2}{3}, \frac{1}{1} \right\} . \end{aligned}$$
(10)

Each ratio \((\frac{q}{p})\) of the sequence is used in order to generate a corresponding projection (pq) of the 2D MT.

In 3D, according to [5], the Haros-Farey sequence of order N, denoted by \(\widehat{F}_N\), is the set of points \((\frac{y}{x}, \frac{z}{x})\) such that \(gcd(x, y, z) = 1\), between [0, 0] and [1, 1], and which denominator x does not exceed N. In other words, a point \((\frac{y}{x}, \frac{z}{x}) \in \widehat{F}_N\) if \(x \le N\), \(0 \le y \le x\), \(0 \le z \le x\) and \(gcd(x, y, z) = 1\). Let \(A_1 (\frac{y_1}{x_1}, \frac{z_1}{x_1})\) and \(A_2 (\frac{y_2}{x_2}, \frac{z_2}{x_2})\), two points of \(\widehat{F}_{N - 1}\) such as \(x_1 + x_2 = N\). The middle point between \(A_1\) and \(A_2\) has the coordinates \((\frac{y_1 + y_2}{x_1 + x_2}, \frac{z_1 + z_2}{x_1 + x_2})\) [5]. Below, \(\widehat{F}_1, \widehat{F}_3, \widehat{F}_3\) are given as an example, where each point \((\frac{y}{x}, \frac{z}{x})\) is written as (xyz) [5]:

$$\begin{aligned} \begin{aligned} \widehat{F}_1&= \left\{ (1, 0, 0), (1, 1, 0), (1, 1, 1) \right\} ; \\ \widehat{F}_2&= \left\{ (1, 0, 0), (1, 1, 0), (1, 1, 1), (2, 1, 0), (2, 1, 1), (2, 2, 1) \right\} ; \\ \widehat{F}_3&= \widehat{F}_2 \bigcup \left\{ (3, 1, 0), (3, 1, 1), (3, 2, 0), (3, 2, 1), (3, 2, 2), \right. \\&\left. (3, 3, 1), (3, 3, 1) \right\} . \end{aligned} \end{aligned}$$
(11)

The sequence is used in order to generate the (pqr) projections of the 3D MT, with (pqr) representing the point \((\frac{q}{p}, \frac{r}{p})\).

3 Comparison

This section explains how the truncated lattices were constructed and how the projections were selected. The proposed criteria of comparison are also presented.

3.1 Methodology of Comparison

The goal is to compare the legacy MT using the \(Z^n\) lattice, with the MT using the densest lattice. Each lattice (\(Z^n\) or \(A^n\)) is truncated such that they have the same number of points \(N_{points}\).

Construction of the Truncated Lattices. The first step is to create the truncated lattice. In order to do that, an iterative process is used, where from the 0 point, at each loop, we find the lattice points on successive embedded spheres. Locally, a basic pattern is used which gives for a lattice point its closed neighbours (see Figs. 2 and 4). The growing lattice process is stoped when the number of points \(N_{points}\) is reached (\(N_{points}\) is given by the user). Each point of the truncated lattices is set to a unitary value.

Selection of Projections. The minimal number of projections are chosen for the truncated lattice to be exactly reconstructible. Projection vectors are produced by sorting fractions of Haros-Farey series according to their squared Euclidean norms, i.e., respectively \(x^2+y^2\), \(x^2+y^2+z^2\), \(k^2+l^2-kl\) and \(xx + yy + zz - yz - xz\) in lattices \(Z^2\), \(Z^3\), \(A^2\) and \(A^3\). For example, with \(F_5\) sorted:

(12)

Before choosing another projection in the Haros-Farey, all equivalent projections by rotation are generated. The number of equivalent projections by rotation depends on the lattice (for instance, 3 other projections for the \(Z^2\) lattice, and 5 other projections for the \(A^2\) lattice).

In order to know if the truncated lattice is exactly reconstructible using the set of selected projections, the shape of successive dilatations of the projections directions is generated, as explained in Sect. 2.1. The truncated lattice is exactly reconstructible only when its radius is inferior or equal to the radius of the generated figure.

3.2 Comparison Criteria

Global criteria were used to compare the information distribution on the MT projections.

Redundancy. Redundancy is given by the following equation [1, Chap. 3]:

$$\begin{aligned} Red = \frac{nb_{bins}}{nb_{points}} - 1. \end{aligned}$$
(13)

If redundancy is positive, it represents the percentage of extra bins compared to the number of points. If redundancy is negative, then there is no reconstructability of the truncated lattice. Here, by construction, Red is positive but small.

Number of Bins. \(B_i\) is the number of bins on the i-th projection (i.e. the i-th projection length). The mean \(\bar{B}\), and the variance Var(B), can be then calculated as following:

$$\begin{aligned} \bar{B} = \frac{1}{n} \sum ^n_{i=1} B_i, ~~~ Var(B) = \frac{1}{n}\sum ^n_{i = 1} (B_i - \bar{B})^2, \end{aligned}$$
(14)

where n is the number of projections in the set. This criteria measures the difference of the number of bins in the projections. The smaller Var(B) for different projections, the higher those projections carry the same amount of information.

Number of Points per Bin. For the test case, each lattice point is set to 1, so each bin value (on every projections) equals to the number of points that contribute to the bin. The mean (considering all projections) is computed as:

$$\begin{aligned} Mean(\text {points per bin}) = \bar{b} = \frac{1}{m}\sum ^m_{i = 1} b_i, \end{aligned}$$
(15)

where m is the total number of bins (considering all projections) and \(b_i\) is the value of the i-th bin. The higher the mean, the higher bins represent more points. This is directly related to the density of the lattice.

4 Experimental Results

In this section, the main results are presented and discussed. All the experiments were done in 2D and 3D, but we shall concentrate here onto the 3D case because it generalises the 2D case.

Fig. 5.
figure 5

Truncated lattice radius (a), Total number of bins (b), and Redundancy (c). The blue (resp. red) curves characterise the \(A^3\) (resp. \(Z^3\)) lattice. (Color figure online)

The first feature displayed on Fig. 5(a) is the truncated lattice radius value computed from \(N_{points}\), the number of generated points. For \(N_{points} > 400\), the curves show the higher compacity of \(A^3\) on \(Z^3\).

The higher total number of bins of \(Z^3\) (see Fig. 5(b)) explains its higher redundancy (see Fig. 5(c)).

The next features are the number of bins Mean (Fig. 6(a)) and Variance (Fig. 6(b)) according to the number of generated points. Concerning these 2 features, it seems that the two lattices perform almost equally, but the Fig. 6(c) shows that the projections number is different for the 2 lattices, a finer analysis at the projections level is then necessary.

Fig. 6.
figure 6

Number of bins: Mean (a) and Variance (b), and Number of projections (c). The blue (resp. red) curves characterise the \(A^3\) (resp. \(Z^3\)) lattice. (Color figure online)

We then use histograms. The Fig. 7 compares the projections densities considering the number of points Mean per projection. And the Fig. 8 compares the projections densities considering their lengths. The histograms with \(A^3\) are slightly more uniform than the ones with \(Z^3\), it shows the higher regularity of the projections when using \(A^3\), these results are due to the high compacity of this lattice.

Fig. 7.
figure 7

Histograms of the number of points Mean per projection for \(Z^3\) (a), and \(A^3\) (b).

Fig. 8.
figure 8

Histograms of the projections length for \(Z^3\) (a), and \(A^3\) (b).

5 Conclusion and Perspectives

In this paper, we examined the behaviour of densest lattices in 2D and 3D from their discrete Mojette projections point of view. Exactly, the study focused on the 3D case because it generalises the 2D one. The analysis of Mojette Transform projections, when comparing the legacy MT with \(Z^3\) versus the MT with \(A^3\), shows some interesting differences both in terms of dimensions and in terms of projections regularity. Since the software has been developed to manage any dimension and lattice, future work will focus on higher dimensions. Indeed it seems interesting to try higher dimensions in order to see if the gap between \(A^n\) and \(Z^n\) lattices still increases.