# Application of Mathematical Symmetrical Group Theory in the Creation Process of Digital Holograms

Authors: Agustín Pérez-Ramírez; Julian Guerrero Juk; Rafael Sanchez-Lara; Joel Antonio Trejo-Sánchez; Lelio de la Cruz-May
Journal: Mathematical Problems in Engineering
 (2017)

---

## Abstract

This work presents an algorithm to reduce the multiplicative computational complexity in the creation of digital holograms, where an object is considered as a set of point sources using mathematical symmetry properties of both the core in the Fresnel integral and the image. The image is modeled using group theory. This algorithm has multiplicative complexity equal to zero and an additive complexity(k-1)N2 for the case of sparse matrices or binary images, where k is the number of pixels other than zero and N2 is the total of points in the image.


---

## Body

## 1. Introduction

The problem of reducing the computational time in the creation of digital holograms is becoming a demanding research topic due to the growing range of applications in different areas [1] such as optical microscopy, interferometry, entertainment, security, medicine, and education. The creation time of holograms has been reduced by using increasingly faster algorithms and hardware such as FPGA (Field Programmable Gate Array) and parallel programming techniques [2] and precomputed lookup tables [3, 4]. Nevertheless, another challenging approach seeks to reduce the computational complexity since it also can reduce the processing time. This work only focuses on reducing the multiplicative computational complexity in the creation of digital holograms since the time depends on the hardware of the computer and the programming techniques used (parallel programming).Related work exists that has proposed the use of symmetry for reducing computational complexity and/or processing time. For example, run-length coding is used in [5]. Nevertheless, mathematical symmetry of the image is used only partially, because only the redundant color of the image in adjacent pixels is used. In [6], Jiao et al. use radial symmetric interpolation to reduce the size of the precomputed lookup table by considering the redundancy in data; however they do not use the global mathematical symmetry to reduce the complexity in computing the hologram. This work considers the global mathematical symmetry to reduce such computational complexity.Some authors use the symmetry of the principal fringe patterns [7], but the symmetry by reflection rather than the mathematical symmetry is considered. In [8], only a 45-degree diagonal of the zone plates is calculated, and the first quarter of the concentric circles quadrant of the zone plates is calculated from this diagonal using interpolation and data duplicity, and using the symmetry by reflection, the zone plates are fully calculated.In this work, an algorithm using group theory is proposed, where MCC (multiplicative computational complexity) is zero in the generation of digital holograms for 2D images, two colors, and different sizes. Unlike other works, it successfully explores the use of the global mathematical symmetry, a key consideration which allows reducing the MCC, which in turn contributes to increasing the speed of digital hologram generation. The memory size used to generate the hologram is the same as that reported [9]. The time to generate a hologram point is 0.009 ms compared to the N-LUT algorithm which takes 0.0170 ms. By this method, the computational complexity is reduced by approximately the half with respect to the N-LUT method.The rest of the paper is divided as follows. Section2 presents the development of the algorithm. Section 3 provides the results of computational complexity reduction of digital Fresnel holograms. Finally, Section 4 presents the concluding remarks.


## 2. Development

Group theory to reduce the computational complexity in the creation of digital holograms is used, by considering an object as a set of point sources [6, 10–12]. It is known that if the symmetry group of a problem is known, this can greatly simplify the process of creating digital holograms [13–15]. The problem of creating digital holograms depends on three components, namely: the image, the transform, and the hologram. Each one of these components has its own symmetry properties, which can be helpful to reduce the computational complexity [15, 16].If there exists redundancy in a digital image, particularly in the core of the transform or in the hologram itself, then it is possible to use mathematical symmetry to reduce the MCC of the digital hologram generation [5, 13, 14].A mathematical symmetry group is a set of permutations such that when they are applied to an object, the object remains invariant. It is worth mentioning that mathematical symmetry includes axial symmetry. Thus, a 2D image can be represented as vector where the same permutations of the same color pixel are applied without changing the original image. The total number of gray levels of an image is 256, whereas the image size in pixels is usually greater than 256. Thus, for a gray scale image (where colors are codified from 0 to 255), there will be some repetition of colors of pixels, based on the principle of the Dirichlet [17]. Therefore, there will always be a group of permutations acting over the same color pixels of the image without changing it, due to the fact that, in any 2D or 3D images, there are pixels with the same color; with processing purposes the pixels can be permuted without any change in the image; the same can be made for the hologram generated. Here the application of the core of the transform to an object is analyzed, so that the mathematical symmetry can be obtained.To use the symmetry of an image in the process of creating holograms to reduce the computational complexity, it is necessary to calculate the maximum symmetric group of the image. Mathematically, images can be two-dimensional, three-dimensional, orn-dimensional. In fact, an n-dimensional image with m colors can be presented as a set of tuples A.(1)A=x1,x2,…,xn;c1,c2,c3,…,cm,where x1,x2,x3,…,xn are the pixel coordinates of an n-dimensional image and c1,c2,c3,…,cm are the components of the color vector for each pixel.It is assumed that the image is transformed by an operatorT into a set of tuples A and that the inverse transform is T-1. The elements of the set A are the tuples that represent all pixels of the image. The place of the tuple in a set A represents the place of the corresponding pixel in the image.The transforms used to generate holograms are linear, so the generation process for each color can be carried out separately, thus only one componentc in the color vector can be assumed without loss of generality, as follows:(2)A=x1,x2,…,xn;c.Also, the next properties can be assumed for the digital images.Suppose thatN1,N2,…,Nn are the size of each dimension; then(3)x1=1,…,N1,x2=1,…,N2,⋮xn=1,…,Nn,c=0,…,M-1.Then, the set A can be partitioned according to the color c as follows:(4)A=A0⊕A1⊕A2⋯⊕AM-1,where(5)Ai=x1i,x2i,…,xni;i,i=0,…,M-1,and ⊕ is the operator for direct addition of groups.Then factoring the color,Ai can be represented as (6)Ai=i∗x1i,x2i,…,xni;1=i∗Bi,where ∗ is the multiplication operation for real numbers(7)Bi=x1i,x2i,…,xni;1,fori=0,…,M-1.Thus, in (6), the factor i multiplies only the last element of the tuple, which is the color. The set Bi(i=0,1,…,M-1) can be considered as a vector whose dimension is N1×N2×⋯×Nn. The set of values Bi(i=0,1,…,M-1) can be considered as a basis to represent the image as follows: (8)A=B0+∑i=1M-1i∗Bi.B0 is the set of pixels of the image with a gray level of zero; this is because the color component of its tuples does not need to be multiplied for some i. This means less multiplication operations. Equation (8) allows defining a maximum symmetric group (G) of the image:(9)G=S0card⁡A0×S1card⁡A1×⋯×SM-1card⁡AM-1,where card⁡(Ai) is the total number of elements of Ai. Si(card⁡(Ai))=Si is a symmetric group (permutation group) defined over Ai or Bi(i=0,1,…,M-1).It is evident that applying the groupSi to the sets Ai or Bi (considered as sets of pixels) modifies them, but it does not alter the corresponding images that are related to the set of tuples Ai or Bi. Applying group G to the image does not produce any changes to it. Therefore,(10)GA=S0B0+∑i=1M-1i∗SiBi=B0+∑i=1M-1i∗Bi=A.According to (8), the image can be stated as the sum of the partial images Bi(i=0,1,…,M-1). The values of the color of the pixels corresponding to the set of tuples Bi are equal and have a value of 1. Hence, the multiplicative computational complexity of creating digital holograms from images corresponding to the sets Bi(i=0,1,…,M-1) is zero (there are no multiplications). On the other hand, it must be taken into account that images corresponding to the set of tuples Bi are sparse and this can also minimize the additive computational complexity. Digital holograms of partial images corresponding to the set of tuples Bi are named “partial holograms” and they are denoted by D(Bi) which can be obtained by (15) and the methodology of [9]. Since the transformed images to generate the corresponding holograms are linear, according to (8), the hologram corresponding to the set of tuples A can be presented as follows:(11)DA=DB0+∑i=1M-1i∗DBi.From (11), the multiplicative computational complexity (MCC) of the hologram creation process from the set of tuples A is given by(12)MCC=M-1∗F1∗F2∗F3∗⋯∗Fk,where k is the number of dimensions of the hologram D(A) and Fi is the size of each dimension. For example, for images and two-dimensional holograms presented with size N×N and M=256, the multiplicative computational complexity has a value of(13)MCC=M-1∗N2=255∗N2.This is so because each point in the hologram is obtained with 255 multiplications and the whole hologram has a total of N×N points. In the extreme case that the image consists of two colors, for example, a blue cube with white background, the computational complexity is(14)MCC=2N2.On the other hand, the equation for obtaining a hologram H(x,y) is given by (15)Hx,y=Rx,y+Ox,y2=Rx,y2+Ox,y2+2Rx,yOx,y×cos⁡kr+kxsin⁡θR+φP,where O(x,y) is the complex amplitude of the hologram plane and R(x,y) is the reference beam defined as follows:(16)Ox,y=∑p=1Naprpexp⁡jkrp+φpRx,y=aRexp⁡jkxsin⁡θR,where(17)rp=x-xp2+y-yp2+zp2,k=2π/λ is the wave number, and λ is the wavelength.The N-LUT method which is like a convolution [18–21] can be applied only to the third element of (15) and the property of mathematical symmetry of the image; in this way the multiplicative computational complexity is reduced.For example, a binary image (black and white) would make zero multiplications and(k-1)N2 sums, where k is the number of pixels other than zero. For the case of sparse and binary images, where k is a small number, the multiplicative complexity is kept at zero while the additive complexity decreases a lot.To clarify the results above, let us consider the following example. For a hologram of one row 1 × 5 and one image of the same size, the distances from each image point to each hologram point depict a symmetry distance vector (d5,d4,d3,d2,d1,d2,d3,d4) as shown in Figure 1; each distance or its approximation obtained by using the MaClaurin polynomial is used in the core of the Fresnel integral.Figure 1
Redundant distances generated by symmetry for the 5 hologram points ((a), (b), (c), (d), and (e)) with respect to the image points.Once the distances from the first point have been calculated, these can be used to calculate the distances of other points of the hologram, so it is no longer necessary to make redundant calculations of distances. This can be extended to two dimensions as shown from Figure2 through Figure 5. Figure 2 shows the distance matrix from an image of 3 × 3 to the first point of the hologram.Figure 2
Distance matrix of a 3 × 3 image.Similarly, Figure3 shows the distance matrix can be obtained for all points of the hologram.Figure 3
Distance matrix for all points of the hologram.Figure4 shows how Figure 3 is obtained. The matrix of Figure 4(b) is obtained by reflecting to the left the last two columns of the matrix of Figure 4(a). The matrix of Figure 4(c) is obtained by reflecting the last two rows of the matrix of Figure 4(b) upwards.Figure 4
The sequence of (a), (b), and (c) shows how to obtain a distances symmetric matrix with respect tod1 in (c).
(a)
(b)
(c)Figure 5
Each point of the hologram is computed by performing the dot product between the image and the distance matrix. In this example, the size of both, the hologram and the image, is3×3 pixels.The hologram can be obtained from Figure4(c). To obtain the first point of the hologram, a 3×3 submatrix is used; in this first case, a 3×3 submatrix located in the lower right corner in Figure 4(c) is considered. The dimensions of this submatrix are the same as the dimensions of the original image. For the next point of the hologram, it is considered again a 3 × 3 submatrix but this time shifted one column to the left. This procedure is repeated until the row is completed (see Figure 5).Each submatrix is applied to the image as a dot product between matrices so that all points of this row of the hologram are calculated.To obtain the second row of the hologram, we use the 3 × 3 submatrix shown in the lower left corner of Figure5; the same process is repeated as in the first row, and so on, until the whole hologram is generated.Using this property of mathematical symmetry of the distances and image, the multiplicative computational complexity is reduced in the creation of digital holograms.


## 3. Results

Given a two-dimensional image, the hologram is created using the algorithm described in this work. It is worth mentioning that the algorithm does not improve the quality of the holograms of Fresnel using the N-LUT method and the peak signal-to-noise ratio (PSNR), and the structural similarity (SSIM) index is the same. This is because the methods of Ray-tracing, LUT, N-LUT, and the proposed method use the same equations to calculate the hologram. The difference is only the computational complexity of the algorithm.Let us now analyze the computational complexity through the image of Figure6(a) and its binary form of Figure 6(d). The hologram and reconstruction are shown in Figures 6(b) and 6(c) and Figures 6(e) and 6(f), respectively. The algorithm was programmed in Matlab and data from [22] was used.Figure 6
Different holograms and their reconstructions withλ=632 nm and z=0.516 (proposed algorithm). The image has a size of 128 × 128 pixels.
(a)
Original image bitmap of 128 × 128 (2794 no black pixels)
(b)
Hologram of (a)
(c)
Reconstruction of (b)
(d)
Original binary image bitmap of 128 × 128 (678 no black pixels)
(e)
Hologram of (d)
(f)
Reconstruction of (e)The time used to obtain each point of the hologram as well as the amount of memory required is shown in Table1. Table 2 shows the computational complexity of the N-LUT method and our method for obtaining the digital hologram of a grayscale image. The computational complexity of both methods for a digital hologram of a binary image is shown in Table 3.Table 1
Comparison of computation time and memory size for each method. For a grayscale image.
N-LUT
Proposed algorithm
Computation time for 1 point (ms)
0.0170
0.00993
Total memory size for LUT (megabytes)
0.0625
0.0625Table 2
Comparison of computation time and memory size for each method. For a binary image and sparse.
N-LUT
Proposed algorithm
Computation time for 1 point (ms)
0.00207
0.00207
Total memory size for LUT (megabytes)
0.0625
0.0625Table 3
Computational complexity for a grayscale image.
N-LUT
Proposed algorithm
Multiplicative computational complexity
N
4
255
∗
N
2
Additive computational complexity
N
4
N
4Note in Table4 that the computational complexity for a binary and sparse image is much lower than for a grayscale image.Table 4
Computational complexity for a binary image.
N-LUT
Proposed
Multiplicative computational complexity
0
0
Additive computational complexity, wherep is the number of pixels other than zero.
N
2
(
p
-
1
)
N
2
(
p
-
1
)


## 4. Conclusions

The use of group theory and image symmetry properties allow the reduction of the computational complexity in the creation of digital holograms.Our algorithm applied on two colors images has a positive impact on multiplicative computational complexity, which is reduced from255N2 to 0.It is relevant to mention that the algorithm for binary and sparse images has a very low or zero multiplicative computational complexity and it is independent of image size; however, the additive complexity has not been significantly reduced.The computational complexity for a grayscale image is reduced approximately to the half with respect to N-LUT algorithm.



---

*Source: 5612743-2017-07-31.xml*