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

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 usingmathematical 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.


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 45degree 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.Section 2 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.

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][11][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][14][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 twodimensional, three-dimensional, or -dimensional.In fact, an -dimensional image with  colors can be presented as a set of tuples .
It is assumed that the image is transformed by an operator  into a set of tuples  and that the inverse transform is  −1 .The elements of the set  are the tuples that represent all pixels of the image.The place of the tuple in a set  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 component  in the color vector can be assumed without loss of generality, as follows: Also, the next properties can be assumed for the digital images.Suppose that  1 ,  2 , . . .,   are the size of each dimension; then Then, the set  can be partitioned according to the color  as follows: where and ⊕ is the operator for direct addition of groups.
Then factoring the color,   can be represented as where * is the multiplication operation for real numbers Thus, in (6), the factor  multiplies only the last element of the tuple, which is the color.The set   ( = 0, 1, . . .,  − 1) can be considered as a vector whose dimension is  1 ×  2 × ⋅ ⋅ ⋅ ×   .The set of values   ( = 0, 1, . . .,  − 1) can be considered as a basis to represent the image as follows: 0 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 .This means less multiplication operations.Equation ( 8) allows defining a maximum symmetric group () of the image: where card(  ) is the total number of elements of   .  (card(  )) =   is a symmetric group (permutation group) defined over   or   ( = 0, 1, . . .,  − 1).
It is evident that applying the group   to the sets   or   (considered as sets of pixels) modifies them, but it does not alter the corresponding images that are related to the set of tuples   or   .Applying group  to the image does not produce any changes to it.Therefore, According to (8), the image can be stated as the sum of the partial images   ( = 0, 1, . . .,  − 1).The values of the color of the pixels corresponding to the set of tuples   are equal and have a value of 1.Hence, the multiplicative computational complexity of creating digital holograms from images corresponding to the sets   ( = 0, 1, . . .,  − 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   are sparse and this can also minimize the additive computational complexity.Digital holograms of partial images corresponding to the set of tuples   are named "partial holograms" and they are denoted by (  ) 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  can be presented as follows: From ( 11), the multiplicative computational complexity (MCC) of the hologram creation process from the set of tuples  is given by where  is the number of dimensions of the hologram () and   is the size of each dimension.For example, for images and two-dimensional holograms presented with size  ×  and  = 256, the multiplicative computational complexity has a value of This is so because each point in the hologram is obtained with 255 multiplications and the whole hologram has a total of ×  points.In the extreme case that the image consists of two colors, for example, a blue cube with white background, the computational complexity is where (, ) is the complex amplitude of the hologram plane and (, ) is the reference beam defined as follows: where = 2/ is the wave number, and  is the wavelength.The N-LUT method which is like a convolution [18][19][20][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 ( − 1) 2 sums, where  is the number of pixels other than zero.For the case of sparse and binary images, where  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.
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 Figure 2 through Figure 5. Figure 2 shows the distance matrix from an image of 3 × 3 to the first point of the hologram.
Similarly, Figure 3 shows the distance matrix can be obtained for all points of the hologram.The hologram can be obtained from Figure 4(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 Figure 5; 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.

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 Raytracing, 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 Figure 6  The algorithm was programmed in Matlab and data from [22] was used.The time used to obtain each point of the hologram as well as the amount of memory required is shown in Table 1.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.Note in Table 4 that the computational complexity for a binary and sparse image is much lower than for a grayscale image.

Figure 4
Figure 4 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.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 Figure4(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 Figure5).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

Figure 3 :
Figure 3: Distance matrix for all points of the hologram.

Figure 4 :HologramFigure 5 :
Figure 4: The sequence of (a), (b), and (c) shows how to obtain a distances symmetric matrix with respect to 1 in (c).
(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.

Figure 6 :
Figure 6: Different holograms and their reconstructions with  = 632 nm and  = 0.516 (proposed algorithm).The image has a size of 128 × 128 pixels.

Table 1 :
Comparison of computation time and memory size for each method.For a grayscale image.

Table 2 :
Comparison of computation time and memory size for each method.For a binary image and sparse.

Table 3 :
Computational complexity for a grayscale image.

Table 4 :
Computational complexity for a binary image.