Expand this Topic clickable element to expand a topic
Skip to content
Optica Publishing Group

Acceleration of polygon-based computer-generated holograms using look-up tables and reduction of the table size via principal component analysis

Open Access Open Access

Abstract

In this study, we first analyze the fully analytical frequency spectrum solving method based on three-dimensional affine transform. Thus, we establish a new method for combining look-up tables (LUTs) with polygon holography. The proposed method was implemented and proved to be accelerated about twice compared to the existing methods. In addition, principal component analysis was used to compress the LUTs, effectively reducing the required memory without artifacts. Finally, we calculated very complex objects on a graphics processing unit using the proposed method, and the calculation speed was higher than that of existing polygon-based methods.

© 2021 Optical Society of America under the terms of the OSA Open Access Publishing Agreement

1. Introduction

The vast potential of holography in true three-dimensional (3D) displays has attracted remarkable research attention [1,2]. Nevertheless, for many years, the calculation burden of computer-generated hologram (CGH) has hindered its application in real-time display. Many methods have been proposed to accelerate the computation [3,4]. Such methods include coherent ray tracing (CRT) [5], look-up tables (LUT) [610], and wave-front plane(WRP) [11,12] based on point-cloud distribution, fast Fourier transform (FFT) [1315] and analytical frequency spectrum (AFS) [1622] based on polygon-unit distribution, and angular-spectrum transfer [2326] based on layer distribution. Some of these methods combine hardware, such as graphics processing units (GPUs) and field programmable gate arrays (FPGAs) for computing in parallel [27,28]. Moreover, some methods improve the quality of reconstruction, such as Gerchber–Saxton (GS) algorithm [29,30], further combine improved coding methods, such as double phase-amplitude coding [31,32], to display complex amplitude on a spatial light modulator (SLM). In recent reports, neural network based on deep learning has been employed to build consumer-grade holographic generation frameworks, which have significantly improved reconstruction quality and calculation speed [33,34].

Admittedly, polygon-based methods have their distinct potential in some special applications, such as relatively smooth 3D models (e.g., the human face) and simple 3D projection without the high requirement for details like head-up display (HUD) [35]. The amount of calculation in polygon-based methods could be reduced compared with that of the point cloud–based methods. Nevertheless, expressions calculated using polygon-based methods are not as simple and flexible as the point cloud–based methods. The conventional FFT-based polygon methods have shown the possibilities and correctness of using polygon division to generate hologram, but it is time-consuming because of the FFTs and interpolations required [1315]. Ahrenberg et. al. [17], Pan et. al. [21] and Zhang et.al. [22] employed the polygon-based method in full analytical spectra expressions using affine transformation, which greatly saves much time for calculating spectra. Liu et. al. [19] developed the full analytical expressions in the spatial domain. To further improve polygon-based hologram, herein, we extract an idea of LUT used in the point-based method and implement it in the polygon-based method, which has been proved to improve calculation efficiency.

LUT methods are used to eliminate redundant computations for the point spread function. The diffractive field of a point with different z depth or x–, and y– coordinates comprises many identical operations, such as exponent, square-root, and several multiplications [8]. All repetitive operations are precalculated, and the data are stored in a memory or hard disk as LUTs, this is referred as offline calculation. Then, loading and look up data from LUTs calculate online diffractive field distribution at each hologram point; however, the LUT methods require a large memory size. Several methods based on LUT can reduce memory size from GigaByte-level [7] to KiloByte-level [8,10]. In addition, there are some repetitive operations in the full-analytical frequency spectrum expression of polygon-based methods [21,22]. The online calculation load must exhibit lightweight to eliminate redundant computations. Herein, we propose a novel analytical algorithm using LUT for polygon-based hologram called the analytical frequency spectrum-LUT method (AFS-LUT).

There are two primary steps to generate a polygon-based hologram: solving affine transformation matrix and computing spectra by analytical expression. Zhang’s method [22] employs a different idea from that of Pan’s method [21] to solve the affine matrix, bypassing the solution of the pseudo-inverse matrix. However, herein, we adopt Pan’s method to combine LUT due to its relative simplicity. Meanwhile, we improve the way of solving the affine transformation matrix to make it lighter. The most time-consuming part is computing analytical expressions, which are much more complicated than PSF used in point-cloud methods as they contain many multiplications, exponents, and even divisions.

The method proposed herein mainly pre-calculates AFSs and stores them in LUTs, thus eliminating the need for exponential calculations and reducing the number of multiplications in the online calculation. Experimental results show that the calculation speed is increased by almost twice compared to that of the full analytical calculation method [17,19,21,22]. However, AFSs have much redundant data, which would cause the need for large memory. Therefore, we performed a principal component analysis (PCA) on the LUTs, compressing much memory [36], which is employed in the point-based method [37]. Comparing the image quality between the proposed and existing methods using the peak signal-to-oise ratio (SNR) and structural similarity index measure (SSIM), we confirmed that the image obtained using the proposed method has the better image quality without visible artifact.

2. Proposed method

2.1 Solving an affine matrix simply

In Fig. 1(a), a triangle $\Gamma$ with vertexes $\left (x_{i},y_{i},z_{i}\right )$, $i=1,2,3$, and a primitive triangle $\Delta$ with vertexes $(x_{0i}, y_{0i}, z_{0i})$, $i=1,2,3$, show an affine relationship $\mathbf {T}: (x_{i},y_{i},z_{i})\mapsto (x_{0i}, y_{0i}, z_{0i})$ [21,22], which can be represented by

$${ \begin{bmatrix} x_{\tiny{1}} & x_{\tiny{2}} & x_{\tiny{3}}\\ y_{\tiny{1}} & y_{\tiny{2}} & y_{\tiny{3}}\\ z_{\tiny{1}} & z_{\tiny{2}} & z_{\tiny{3}} \end{bmatrix}= \begin{bmatrix} T_{11} & T_{12} & T_{13} & T_{14}\\ T_{21} & T_{22} & T_{23} & T_{24}\\ T_{31} & T_{32} & T_{33} & T_{34} \end{bmatrix} \begin{bmatrix} x_{\tiny{01}} & x_{\tiny{02}} & x_{\tiny{03}}\\ y_{\tiny{01}} & y_{\tiny{02}} & y_{\tiny{03}}\\ z_{\tiny{01}} & z_{\tiny{02}} & z_{\tiny{03}}\\ 1 & 1 & 1 \end{bmatrix}}.$$

The equation above can be simplified as $\left [\mathbf {x},\mathbf {y},\mathbf {z}\right ]^\intercal = \mathbf {T} [\mathbf {x}_{0}, \mathbf {y}_{0}, \mathbf {z}_{0},1]^\intercal$, where $\mathbf {x}, \mathbf {y}, \mathbf {z}$ and $\mathbf {x}_{0}, \mathbf {y}_{0}, \mathbf {z}_{0}$ are the coordinate vectors of the triangle $\Gamma$ and the triangle $\Delta$, respectively; the superscript $^\intercal$ denotes the transpose operation and $\mathbf {T}=[T_{ij}]_{3\times 4}$. In Fig. 1(a), three vertexes of the primitive triangle $(x_{0i}, y_{0i}, z_{0i})$ are $(1, 0, 0), (1, 1, 0)$, and $(0, 0, 0)$, respectively, so defining the non-square matrix $[\mathbf {x}_{0}, \mathbf {y}_{0}, \mathbf {z}_{0},1]^\intercal =\mathbf {A}=\left [\begin {smallmatrix}1 & 1 & 0\\0 & 1 & 0\\0 & 0 & 0\\1 & 1 & 1\end {smallmatrix}\right ]$. Because $\textrm {rank}(\mathbf {A})=3$, $\mathbf {A}$ is a full column rank matrix, there must exist a pseudo-inverse matrix $\mathbf {A}^{\dagger }$ satisfying the criteria of $\mathbf {A^{\dagger }A=\mathbf {I_3}}$, where the superscript $^\dagger$ denotes the pseudo-inverse operation of matrix. Through the pseudo-inverse matrix solution method cited in Ref. [38] that $\mathbf {A}^{\dagger }=(\mathbf {A}^{\intercal }\mathbf {A})^{-1}\mathbf {A}^{\intercal }$, we can pre-compute that $\left ([\mathbf {x}_{0}, \mathbf {y}_{0}, \mathbf {z}_{0},1]^\intercal \right ) ^{\dagger } =\mathbf {A}^{\dagger }= \left [\begin {smallmatrix}1 & -1 & 0 & 0\\0 & 1 & 0 & 0\\-1 & 0 & 0 & 1\end {smallmatrix}\right ]$. Therefore, the affine transform matrix can be solved by $\mathbf {T} =[\mathbf {x},\mathbf {y},\mathbf {z}]^\intercal \left ([\mathbf {x}_{0}, \mathbf {y}_{0}, \mathbf {z}_{0},1]^\intercal \right ) ^{\dagger }$, which is expanded as

$$\begin{cases} {T_{11}=x_2-x_1,\quad T_{12}=x_3-x_2, \quad T_{13}=0,\quad T_{14}=x_1} \\ {T_{21}=y_2-y_1,\quad T_{22}=y_3-y_2, \quad T_{23}=0,\quad T_{24}=y_1} \,.\\ {T_{31}=z_2-z_1,\quad T_{32}=z_3-z_2, \quad T_{33}=0,\quad T_{34}=z_1} \\ \end{cases}$$

 figure: Fig. 1.

Fig. 1. (a) Affine transformation of an arbitrary triangle $\Gamma$ to a primitive triangle $\Delta$. (b) Physical scene of a plane wave diffraction passing through a titled triangle aperture $\Gamma$.

Download Full Size | PDF

The triangle mesh is assumed to be a transmission aperture with the amplitude transmittance function $a(x,y,z)$, where $(x,y,z)$ are the coordinate points within the triangle $\Gamma$, as shown in Fig. 1(a). A planar wave illuminating to the triangle $\Gamma$ can be expressed as $\exp [j2\pi (x\cos \alpha +y\cos \beta )/\lambda )]$, where $\lambda$ is wavelength, and $j=\sqrt {-1}$. $\alpha$ and $\beta$ are the angles with regard to the $x-$ and $y-$ axis, respectively, as shown in Fig. 1(b). After the plane wave passes through the aperture, the complex amplitude immediately behind the triangle $\Gamma$ is represented by $E_0= \exp [j2\pi (x\cos \alpha +y\cos \beta )/\lambda )]\cdot a(x,y,z)\exp (j2\pi z\cos \gamma /\lambda )$, where $\cos \gamma =\sqrt {1-(\cos ^2\alpha +\cos ^2\beta )}$ and $\gamma$ is the angle with regard to $z-$axis. In this study, the planar wave illuminating to the triangle $\Gamma$ is assumed to propagate along the positive direction of $z-$axis toward the hologram plane(located at the $z=0$), which indicates $\cos \alpha =\cos \beta =0$, as shown by the black dashed line in Fig. 1(b). Thereby, $E_0=a(x,y,z)\cdot \exp (j2\pi z/\lambda )$, where $z=T_{31}x_{0}+T_{32}y_{0}+T_{33}z_{0}+T_{34}$ according to Eq. (1), $(x_0,y_0,z_0)$ represent the coordinate points within the triangle $\Delta$. Using angular spectrum $H=\exp (-j2\pi w_0z)$, where $w_0=(1/\lambda ^2-u_0^2-v_0^2)^{1/2}$, as transfer function to perform diffraction calculation, the frequency spectrum distribution of the triangle $\Gamma$ in the hologram plane can be expressed as

$$\begin{aligned} F(u_0,v_0)&=\iint_\Gamma E_0\cdot \exp\left[{-}j2\pi\cdot (xu_0+yv_0) \right]dxdy\cdot H\\ &=\iint_\Gamma a(x,y,z)\cdot \exp\left[{-}j2\pi\cdot (u_0x+v_0y+w_0z-\frac{z}{\lambda}) \right]dxdy\,. \end{aligned}$$
where $(u_0,v_0)$ are the frequency coordinates in the global system $O_{xyz}$.. Here, we consider the aperture as uniform transmittance that means $a(x,y,z)\equiv 1$ when $(x,y,z)\in \Gamma$. Due to affine relationship by the triangle $\Gamma$ and $\Delta$: $(x,y,z)\mapsto (x_0, y_0, z_0)$, Eq. (3) can be further derived as
$$F(u_0,v_0)={J\cdot \exp({-}j2\pi w')\cdot \iint_\Delta \exp({-}j2\pi (u' x_0+v' y_0))dx_0dy_0 }\, ,$$
where
$$\begin{cases} u'=T_{11}u_0+T_{21}v_0+T_{31}w_0-\frac{T_{31}}{\lambda}\\ v'=T_{12}u_0+T_{22}v_0+T_{32}w_0-\frac{T_{32}}{\lambda} \ ,\\ w'=T_{14}u_0+T_{24}v_0+T_{34}w_0-\frac{T_{34}}{\lambda}\\ \end{cases}$$
and $J=T_{11}\cdot T_{22}-T_{12}\cdot T_{21}$ that is Jacobian factor.

It is worth noting that, different from the other methods, e.g., Ref. [14,19,21] and [22], the Eq. (5) indicates that the zero-frequency of the new frequency coordinates $(u', v')$ lies in the center of the sampling frequency coordinates $(u_0,v_0)$ without artificially subtracting a frequency offset whose value is $\frac {T_{31}}{\lambda }$ and $\frac {T_{32}}{\lambda }$ in Ref. [21]. This is because if the light waves passing through the triangle $E_0$ is not defined, it will be defaulted to propagate along the normal direction of triangle, as shown by the red dashed line in Fig. 1(b). The triangular spectrum therefore produces the frequency offset due to the triangle $\Gamma$ being tilted in general, and thus, it may exceed the frequency sampling limit of the hologram plane, i.e., $(u_0)_{max}$, as shown by the red spectrum in Fig. 1(b). Here we can learn that subtracting the factors of $\frac {T_{31}}{\lambda }$ and $\frac {T_{32}}{\lambda }$ is physically represented as light propagating along the $z-$axis instead of its normal axis.

2.2 Solving analytical frequency spectrum by LUT

Because $w_0$ can be expanded by the Taylor series as $w_0\approx 1/\lambda -(\lambda /2)(u^2_0+v^2_0)$, Eq. (5) can be further expressed as

$$\begin{cases} u'= (T_{11}u_0-\frac{\lambda}{2}T_{31} u_0^2 )+ (T_{21}v_0-\frac{\lambda}{2} T_{31} v_0^2 )\\ v'= (T_{12}u_0-\frac{\lambda}{2}T_{32} u_0^2) +( T_{22}v_0-\frac{\lambda}{2} T_{32} v_0^2) \, .\\ \end{cases}$$

In addition, solving the integral for Eq. (4), we can obtain AFS as follows:

$$F(u_0,v_0)=J\cdot \exp({-}j 2\pi w')\cdot \begin{cases} {\frac{1}{2}} & {u'=v'=0}\\ { \frac{1-\exp({-}j2\pi v')}{(2\pi v')^2} -\frac{j}{2\pi v'} } & {u'=0, v' \neq 0}\\ { \frac{\exp({-}j2\pi u')-1}{(2\pi u')^2} +\frac{j\cdot \exp({-}j2\pi u')}{2\pi u'} } & {u' \neq 0, v'=0}\qquad . \\ { \frac{1-\exp({-}j2\pi u')}{(2\pi v')^2}+\frac{j}{2\pi v'} } & {u'+v'=0, v'\neq 0}\\ { \frac{\exp({-}j2\pi u')-1}{(2\pi)^2 u'v'}+\frac{1-\exp[{-}j2\pi (u'+v'])}{(2\pi)^2(u'+v')v' } } & \mbox{otherwise}\\ \end{cases}$$

In the AFS expression, the main workload is the last term (when $u'$ and $v'$ and $u'+v'$ are not equal to $0$). Therefore, we will focus on the last term to implement the LUT method. For the last term,

$${F_{main}(u_0,v_0)=J\cdot \exp({-}j 2\pi w')\cdot \left\{\frac{\exp({-}j2\pi u')-1}{(2\pi)^2 u'v'}+\frac{1-\exp[{-}j2\pi (u'+v')]}{(2\pi)^2(u'+v')v' } \right\} } \, ,\\$$
the three exponential and two division operations are the main time-consuming loads. The entire Eq. (8) is difficult to be stored as a single LUT since every element of the matrix $\mathbf {T}$ is a variable. Fortunately, the exponential operations that contain many redundant calculations can be easily precomputed and stored in the LUTs.

2.2.1 For the $\exp (-j2\pi u')$ and $\exp [-j2\pi (u'+v')]$ term

Firstly, for the $\exp (-j2\pi u')$ terms, $u'$ can be deduced from Eq. (6) in a perfect square expression as

$$u' = \begin{cases} {\left [-\frac{\lambda}{2}(v_0-\frac{T_{21}}{T_{31}}\frac{1}{\lambda})^2 \cdot T_{31} \right] +\left [-\frac{\lambda}{2}(u_0-\frac{T_{11}}{T_{31}}\frac{1}{\lambda})^2 \cdot T_{31} \right] + \frac{T_{11}^2+T_{21}^2}{T_{31}} \frac{1}{2\lambda}} & {T_{31}\neq 0} \\ {T_{21}v_0+T_{11}u_0} & {T_{31}=0}\,. \end{cases}$$

Thus, we define the following four tables for storing pre-calculated data,

$$\begin{cases} {\textrm{TU1}(u_0,\delta x, \delta z)=\exp\left[j2\pi \frac{\lambda}{2}(u_{\tiny 0}-\frac{\delta x}{\delta z}\frac{1}{\lambda})^2 \cdot \delta z \right] }\\ {\textrm{TV1}(v_0,\delta y, \delta z)=\exp\left[j2\pi \frac{\lambda}{2}(v_{\tiny 0}-\frac{\delta y}{\delta z}\frac{1}{\lambda})^2 \cdot \delta z \right]} \\ {\textrm{TU2}(u_0, \delta x)=\exp({-}j2\pi \cdot \delta x\cdot u_0)}\\ {\textrm{TV2}(v_0,\delta y)=\exp({-}j2\pi \cdot \delta y\cdot v_0)} \end{cases},$$
where $\delta x$, $\delta y$ and $\delta z$ are variables, $u_0$ and $v_0$ are the constant vector with length of $n$ and $m$, respectively. Taking $\delta x= T_{11}$, $\delta y =T_{21}$ and $\delta z=T_{31}$ as arguments of TU1, TV1, TU2, and TV2, respectively, the $\exp (-j2\pi u')$ term can be solved by
$$\exp({-}j2\pi u') =[\mbox{F1}]_{n\times m}= \begin{cases} \left[\mbox{TV1}(v_0,T_{21},T_{31})\right]\left[\mbox{TU1}(u_0,T_{11},T_{31})\right]\cdot C_1 & T_{31}\neq 0\\ \left[\mbox{TV2}(v_0, T_{21})\right]\left[\mbox{TU2}(u_0, T_{11})\right] & T_{31}=0\\ \end{cases}$$
where $C_1=\exp (-j2\pi \frac {T_{11}^2+T_{21}^2}{T_{31}} \cdot \frac {1}{2\lambda })$ that is a constant. The value of $\exp (-j2\pi u')$ is defined as F1, which is an $n\times m$ matrix. From Eq. (1), $T_{11}$ = $x_2-x_1$, $T_{21}$ = $y_2-y_1$ and $T_{31}$ =$z_2-z_1$, the three of which are small values because the triangle meshes that make up the 3D object are small. Here, we suppose that $T_{11}$ and $T_{21}$ have $p$ sampling points because they are in the same range, and $T_{31}$ has $q$ sampling points. Thus, the 3D tables, $[$TU1$]_{n\times p \times q}$ and $[$TV1$]_{m\times p \times q}$ , require memory with $(n\times p\times q \times 2 \times 8)$ bytes and $(m \times p\times q\times 2\times 8)$ bytes, respectively, both of which are of Gb-level in general. Herein, the PCA technique is used to compress the memory of TU1 and TV1 to Mb-level, which is discussed in Section 2.3. However, unlike TU1 and TV1, because $[$TU2$]_{n\times p}$ and $[$TV2$]_{m\times p}$ are 2D tables, the memory required for both are $(n\times p\times 2\times 8)$ bytes and $(m\times p\times 2\times 8)$ bytes, respectively, which are about several M-bytes.

For the $\exp [-j2\pi (u'+v')]$ term in Eq. (8), $(u'+v')$ can similarly be expanded as

$$u'+v' = \begin{cases} \left [-\frac{\lambda}{2}(v_0-\frac{T_{21}+T_{22}}{T_{31}+T_{32}}\frac{1}{\lambda})^2 \cdot (T_{31}+T_{32}) \right] \\ \quad + \left [-\frac{\lambda}{2}(u_0-\frac{T_{11}+T_{12}}{T_{31}+T_{32}}\frac{1}{\lambda})^2 \cdot(T_{31}+T_{32}) \right]+ \frac{(T_{11}+T_{12})^2+(T_{21}+T_{22})^2}{T_{31}+T_{32}} \frac{1}{2\lambda} & (T_{31}+T_{32})\neq 0 \\ {(T_{21}+T_{22})v_0+(T_{11}+T_{12})u_0} & {(T_{31}+T_{32})=0}\,. \end{cases}$$

From Eq. (2), $T_{11}+T_{12}=x_3-x_1$, $T_{21}+T_{22}=y_3-y_1$ and $T_{31}+T_{32}=z_3-z_1$, which are in the same range as $T_{11}$, $T_{21}$ and $T_{31}$. Therefore, the three of them are used as input arguments ($\delta x$, $\delta y$ and $\delta z$) for TU1, TV1, TU2, and TV2 tables, respectively. Then, the $\exp [-j2\pi (u'+v')]$ term can be solved by

$$\begin{aligned}\exp[{-}j2\pi (u'+v')] &=[\mbox{F1}']_{n\times m}\\ &= \begin{cases} \left[\mbox{TV1}(v_0, T_{21}+T_{22}, T_{31}+T_{32})\right]\left[ \mbox{TU1}(u_0,T_{11}+T_{12}, T_{31}+T_{32})\right]\cdot C_1' \\ \hspace{7.2cm}(T_{31}+T_{32})\neq 0 \, \\ [\mbox{TV2}(v_0, T_{21}+T_{22})] [\mbox{TU2}(u_0, T_{11}+T_{12})] \qquad\qquad (T_{31}+T_{32})=0\\ \end{cases} \end{aligned},$$
where $C_1'=\exp \left [-j2\pi \frac {(T_{11}+T_{12})^2+(T_{21}+T_{22})^2}{T_{31}+T_{32}} \frac {1}{2\lambda }\right ]$ that is a constant. The value of $\exp [-j2\pi (u'+v')]$ is defined as F1$'$, which is an $n\times m$ matrix.

Eqs. (11) and (13) indicate that both $\exp (-j2\pi u')$ and $\exp [-j2\pi (u'+v')]$ can be obtained from the same set of tables, TU1, TV1, TU2, and TV2. Figure 2 illustrates the process for computing F1 online using TU1 and TV1 (computing F1 if $T_{31}=0$ using TU2 and TV2 is straightforward and not shown in Fig. 2). Then, we can obtain the final $[$F1$]_{n\times m}$ by multiplying with the constant factor $C_1$. $[$F1$']_{n\times m}$ can be computed following the same procedure.

 figure: Fig. 2.

Fig. 2. Schematic diagram of the holographic plane spectrum obtained using TV1 and TU1.

Download Full Size | PDF

2.2.2 $\exp (-j2\pi w')$ term

Next, we analyze the $\exp (-j2\pi w')$ term in Eq. (8). Based on Eq. (5), similar to Eq. (9), $w'$ in $\exp (-j2\pi w')$ can be expanded as

$${w'= \left [-\frac{\lambda}{2}(v_0-\frac{T_{24}}{T_{34}}\frac{1}{\lambda})^2 \cdot T_{34} \right] +\left [-\frac{\lambda}{2}(u_0-\frac{T_{14}}{T_{34}}\frac{1}{\lambda})^2 \cdot T_{34} \right] + \frac{T_{14}^2+T_{24}^2}{T_{34}} \frac{1}{2\lambda}} \, .\\$$

Similarly, we define two LUTs as follow,

$$\begin{cases} {\textrm{TU0}(s_1, z)=\exp\left[j2\pi \frac{\lambda}{2}(u_{\tiny 0}-s_1)^2 \cdot z \right] }\\ {\textrm{TV0}(s_2, z)=\exp\left[j2\pi \frac{\lambda}{2}(v_{\tiny 0}-s_2)^2 \cdot z \right] } \\ \end{cases},$$
where $s_1$, $s_2$ and $z$ are variables that are used as arguments for TU0 and TV0, respectively. Unlike the table TU1 and TV1, we consider $\frac {T_{14}}{T_{34}}\frac {1}{\lambda }$ and $\frac {T_{24}}{T_{34}}\frac {1}{\lambda }$ as a whole as the arguments $s_1$ and $s_2$, respectively, which will be explained in detail later. Therefore, $\exp (-j2\pi w')$ defined as $[$F0$]_{n\times m}$ can be solved as
$$\exp({-}j2\pi w') =[\mbox{F0}]_{n\times m}= \mbox{TV0}(v_0-\frac{T_{24}}{T_{34}}\frac{1}{\lambda}, T_{34}) \times \mbox{TU0}(u_0-\frac{T_{14}}{T_{34}}\frac{1}{\lambda}, T_{34})\cdot C_0,$$
where $C_0= \exp (-j2\pi \frac {T_{14}^2+T_{24}^2}{T_{34}} \cdot \frac {1}{2\lambda })\cdot \exp (-j2\pi \frac {T_{34}}{\lambda })$ that is a constant. From Eq. (1), $T_{14}=x_1$, $T_{24}=y_1$ and $T_{34}=z_1$ (Note that $\forall \, T_{34}\neq 0$). Thus, $T_{14}$, $T_{24}$ and $T_{34}$ are not small values, and their range spans the entire object size. If we still take all the sampling points of $T_{14}$, $T_{24}$ and $T_{34}$ as variables, as $T_{11}$, $T_{21}$ and $T_{31}$ in Section 2.2.1, to make a 3D table, the data table should be extremely large, about tens of Gb memory.

However, considering the practical situation of holographic calculations, the distance from the 3D object to the hologram plane is generally much greater than the hologram size in the xy-direction. Thus, $\frac {T_{14}}{T_{34}}$=$\frac {x_1}{z_1}$, is a finite range of values because the denominator $z_1$ is much greater than the numerator $x_1$, and $\frac {T_{14}}{T_{34}} \frac {1}{\lambda }$ will be scaled up because $\frac {1}{\lambda }$ is a value in thousands of millimeters, thus reducing the requirement of $\frac {T_{14}}{T_{34}} \frac {1}{\lambda }$ for precision. As a result, $\frac {T_{14}}{T_{34}} \frac {1}{\lambda }$ is treated as a single variable $s_1$, where $s_1\in \left [ \frac {(T_{14})_{min}}{(T_{34})_{max}}\frac {1}{\lambda }, \frac {(T_{14})_{max}}{(T_{34})_{min}}\frac {1}{\lambda }\right ]$. Similarly, $\frac {T_{24}}{T_{34}} \frac {1}{\lambda }$ is named $s_2$. Further analysis shows that the vector $[u_0-s_1]_{1\times i}$ in table TU0 and the vector $[v_0-s_2]_{k\times 1}$ in table TV0 can be discretely sampled with the period defined as $S_p$. $i$ and $k$ are the sampling amounts, which are expressed as

$$\begin{cases} i=\frac{(u_0-s_1)_{max}-(u_0-s_1)_{min}}{{S_p}}\\ k=\frac{(v_0-s_2)_{max}-(v_0-s_2)_{min}}{{S_p}} \end{cases}$$

The sampling period $S_p$ is also regarded as the precision of $s_1$ and $s_2$. In general, $S_p$ is set to the order of magnitude of $\frac {T_{14}}{T_{34}} \frac {1}{\lambda }$ divided by $10^3$, which has been experimentally confirmed to produce no significant error. As an example, herein, the 3D object size is set to be comparable to SLM, i.e., $x\in [−8,8]mm$, and the position on the $z$-axis is set between 450 and 500$mm$. Thus, $(s_1)_{min}\approx$ −30, $(s_1)_{max}\approx$ 33, its order of magnitude is $10^{1}$, then ${S_p}=10^1/10^3=0.01$.

In Eq. (16), we define $l$ as the sampling number of $T_{34}$. Therefore, the 2D table $[$TU0$]_{i\times l}$ requires $(i \times l\times 2\times 8)$ bytes of memory, and $[$TV0$]_{k\times l}$ requires $(k\times l\times 2\times 8)$ bytes of memory, which are much smaller than the memory of TU1 and TV1 because both are 2D tables.

When computing Eq. (16) online, as shown in Fig. 3, $s_1$ and $s_2$ are first obtained according to $T_{14}$ , $T_{24}$ and $T_{34}$ , respectively. Next, the starting position and step length($S_l=s_1/S_p$ or $s_2/S_p$) in LU0 and LV0 are computed. Then, considering the data from TV0 and TU0 based on $S$, the matrix $[$F0$]_{m\times n}$ with the same size as the hologram is obtained by multiplying the column vector $[$TV0$]_{m\times 1}$ with the row vector $[$TU0$]_{1\times n}$ and the constant $C_{0}$.

 figure: Fig. 3.

Fig. 3. Schematic diagram of the holographic plane spectrum obtained using TV0 and TU0.

Download Full Size | PDF

2.3 PCA to compress the memory of tables

As mentioned in Section 2.2, LUTs require large memory, especially TU1 and TV1. Herein, PCA is used to further compress the LUT size. PCA extracts the principal components from the data set and removes data redundancy, maintaining almost the features of the original data [36]. The outline of PCA and how to apply it to the proposed method are as follows:

Take a data matrix $[\mathbf {X}]_{n\times p}$ as an example that has already shifted the sample mean of each column to zero, and $n$ and $p$ are the numbers of samples and variables, respectively. First, we solve the covariance matrix between different variables in matrix $\mathbf {X}$, named $[\mathbf {K}]_{p\times p}$, given by

$$\mathbf{K}_{i,j}=cov[\mathbf{X}_{i},\mathbf{X}_{j}]\, ,$$
where $i, j\in [1, p]$, ${\mathbf {X}_{i}}$ and ${\mathbf {X}_{j}}$ are the $i^{\,th}$ and $j^{\, th}$ column vectors of $[\mathbf {X}]_{n\times p}$, respectively. The operator $cov[\,,]$ denotes the covariance value of its argument. Then, solving for the eigenvector and eigenvalue of the covariance matrix $\mathbf {K}$, defined as $[\mathbf {V}]_{p\times p}$ and $[\mathbf {D}]_{p\times p}$, respectively. We can obtain the relation
$$\mathbf{V}^{{-}1}\mathbf{KV}=\mathbf{D} \,.$$

We define $\mathbf {V}_{i}$ as the $i^{\,th}$ column eigenvector with corresponding eigenvalue $D_{ii}$, where $D_{ii}$ is the diagonal element of the diagonal matrix $\mathbf {D}$. Next, the corresponding eigenvectors are reordered in the order of eigenvalues $D_{ii}$ from largest to smallest. Set $W_i=\frac {D_{ii}}{\sum _{i=1}^{p}D_{ii}}$, it means that the $i^{\,th}$ eigenvector accounts for the weight $W_i$ of the original matrix $\mathbf {X}$. There must exist a $k$ that satisfies that $\sum _{i=1}^{k}W_i \approx 1$, which $k\ll p$. This implies that only the first $k$ eigenvectors in $\mathbf {V}$ approximate the features of $\mathbf {X}$. Finally, let $[\mathbf {C}]_{p\times k}=[\mathbf {V}_{1}, \mathbf {V}_{2},\dots, \mathbf {V}_{k}]$ as the coefficient of the principal component of $\mathbf {X}$, which the principal component is defined as $\mathbf {P}$ obtained by

$$\mathbf{P}=\mathbf{X} \mathbf{C}.$$

As shown in Eq. (20), since $k\ll p$, the principal component matrix $\mathbf {P}$ and the coefficient matrix $\mathbf {C}$ require only small memory. Thus $\mathbf {P}$ and $\mathbf {C}$ are stored as LUTs instead of the original matrix $\mathbf {X}$. When calculating online, the original data $\mathbf {X}$ can be approximately retrieved by

$$\mathbf{X}\approx \mathbf{P}\,\mathbf{C}^{{-}1}.$$

Notable, $\mathbf {C}$ is an orthogonal matrix, so $\mathbf {C}^{-1}=\mathbf {C}^{^\intercal }$. Finally, we can compress all LUTs used in Eqs. (11) and (16) by the PCA.

3. Implementation of the method

3.1 Algorithm

The proposed method was implemented in the MATLAB environment. This sub-section presents the pseudo–code of the proposed algorithm, AFS-LUT, based on the parameters defined in Table 1.

Tables Icon

Table 1. Definition of parameter symbols in the algorithm.

In Table 1, the precision of $dx$, $dy$, and $dz$ are determined by the physical size of the object. In general, the object size is treated the same as the hologram size. In the $z$–direction, the polygon-based method does not require as many layers as in the point-based method. Here, the sampling interval $dz$ is set as $0.04$mm at a depth range of $20$mm, which is sufficient to describe the object in details without changing its shape. The pseudo–codes for offline and online calculations are listed in Table 2.

Tables Icon

Table 2. Pseudo MATLAB-like codes of the proposed algorithm, AFS-LUT.

3.2 Results and performance evaluation

To verify the proposed method, here, we present the calculated results for 3D objects with several triangles. The program developed using MATLAB 2021a was implemented on a personal computer configured with CPU: AMD Ryzen 5-3600 @3.59GHz RAM: 32GB. Parallel computing in GPU(Nvidia GeForce RTX 3070) was implemented by calling the CUDA functions in MATLAB.

Figure 4 shows two 3D models composed of different numbers triangles. Considering occlusion, the actual polygons involved in the calculation are 3084 triangles for a teapot and 27,619 triangles for a human head. The parameters used for the calculation are listed in Table 1. To evaluate the performance of the proposed method, Table 3 lists the evaluation criteria in comparison with the AFS method [19,21,22] for the calculated result of the teapot. Compared to the AFS method, the proposed AFS-LUT method achieves higher computational efficiency mainly because the exponential operation is eliminated and extra multiplication operations do not increase the load. On the other hand, three types of data tables require a large amount of memory because all possible values of the exponential term are stored. Here, the PCA technique is used to compress the redundant data about four times without much loss in the image quality as revealed by PSNR and SSIM. Based on the parameters in Table 1, Table 4 lists the actual memory required for each LUTs and compares them with that required by PCA. LU2 and LV2 are not compressed by PCA due to very small memory.

 figure: Fig. 4.

Fig. 4. 3D models composed of triangles and the corresponding numerical reconstructed image. (a) 3084 triangles of the teapot, (b) the reconstructed image of teapot at 520mm, (c) 27, 619 triangles of the human’s head, (d) the reconstructed image of human’s head at 500mm.

Download Full Size | PDF

Tables Icon

Table 3. Performance comparison among methods for calculating "teapot" model.

Tables Icon

Table 4. Memory of each table compared with PCA compression(Unit in MB)."P" and "C" denote the principal component and its coefficient matrices.

Figure 5(a) depicts the performance difference of each method in calculating different numbers of triangles. Parallel calculation implemented using "gpu" functions in MATLAB greatly improves the calculating speed. Based on this, the proposed method, AFS-LUT, accelerates further about twice compared with the AFS method in GPU [17,21,22]. The specific time consumed is listed at the bottom of Fig. 5(b). Notably, as the number of triangles increases, the AFS-LUT with PCA method performs faster than the AFS method, because the time spent to restore the LUTs is constant. The more the number of triangles, the lower the proportion of time to restore the LUTs. In addition, the required memory does not change as the number of polygons increases, as shown in the right axes of Fig. 5(a). At the top of Fig. 5(b), the highly consistent PSNR and SSIM values indicate that no artifacts are produced even with PCA.

 figure: Fig. 5.

Fig. 5. Performance comparison among methods for calculating five 3D objects. (a) Elapsed time by different methods (left axis) and memory required with and without PCA (right axis). (b) Top: PSNR (left axis) and SSIM (right axis) with and without PCA compared to AFS; Bottom: Specific time elapsed corresponding to (a).

Download Full Size | PDF

3.3 Experimental reconstruction

The holograms calculated by the proposed method are optically reconstructed by a reflective liquid crystal on silicon(LCoS) of Holoeye GAEA-2 phase-only SLM with 4160$\times$2464 pixels. The maximum angle of diffraction by the SLM is $(\theta )_{max}=\arcsin {(\frac {\lambda }{2p}})\approx 4^{\circ }$, where $p=3.74\mu m$ is the pixel pitch of the SLM and $\lambda =532nm$. By loading a virtual off-axis grating as the reference light, the complex amplitude hologram, $H_{\mu }$, can be represented by

$$H_{\mu}(x,y)=\mathcal{F}^{{-}1}(F(u_0,v_0))\cdot \exp\left({-}j2\pi\frac{x sin\theta_x+y sin\theta_y}{\lambda}\right),$$
where $\mathcal {F}^{-1}$ denotes the inverse Fourier transform operation. We used the angles from the normal to the hologram as $\theta _x=3^{\circ }$ and $\theta _y=0^{\circ }$ to separate the reconstructed image from the zero-order light. The complex amplitude holograms obtained in Eq. (22) are encoded as a positive-real number ranging from 0 to 1 by the double-phase coding method [31,32].

The experimental optics framework is shown in Fig. 6(a). Due to the property of the SLM, the phase of only horizontally polarized light (p light) is modulated by the liquid crystal molecules of the SLM, and the vertically polarized light (s light) will be the background noise for the reflected light. Two polarizers are used to weaken the background light of SLM, thus increasing the contrast. The "Lens" in the figure is designed to produce a frequency spectrum in the focal plane, and the aperture in the figure is used to filter out the zero-order light spectra and to pass through the reconstructed image. The reconstructed images are captured by a camera (Sony $\alpha$7R-II) with a zoom lens (vari-focal: 24–240 mm), as shown in Figs. 6(b) and (c).

 figure: Fig. 6.

Fig. 6. (a) Schematic diagram of optical experiment reconstructions. (b) and (c) reconstruction images in the optical experiment.

Download Full Size | PDF

4. Conclusion

In this study, we investigated algorithms for generating holograms using the polygon-based method. We first propose a new method called AFS-LUT, which employs LUTs. Then, to solve the problem of the large memory required in the LUTs, PCA was used to compress the memory from GB- to MB-level. By computing different numbers of polygons and comparing the calculation efficiencies, the AFS-LUT method was confirmed to improve the calculation speed by twice. Considering PSNR and SSIM, we found that the image reconstructed by the proposed method has almost no artifacts. Further, we implemented parallel calculations in GPU by evoking the build-in functions in MATLAB, which could increase the calculation speed several tens of times compared with the calculations in the CPU. The proposed method was verified by reconstructing in simulation and optical experiments.

Funding

Japan Society for the Promotion of Science (19H01097, 19H04132); National Natural Science Foundation of China (11762009, 61865007); Yunnan Key Research and Development Program (2019FA025).

Acknowledgments

Thanks to the Ministry of Education, Culture, Sports, Science and Technology (MEXT) of Japan for their support.

Disclosures

The authors declare no conflicts of interest.

Data availability

Data underlying the results presented in this paper are not publicly available at this time but may be obtained from the authors upon reasonable request.

References

1. C. Slinger, C. Cameron, and M. Stanley, “Computer-generated holography as a generic display technology,” Computer 38(8), 46–53 (2005). [CrossRef]  

2. J. Geng, “Three-dimensional display technologies,” Adv. Opt. Photonics 5(4), 456–535 (2013). [CrossRef]  

3. T.-C. Poon and J.-P. Liu, Introduction to modern digital holography: with MATLAB (Cambridge University, 2014).

4. P. Tsang, T.-C. Poon, and Y. Wu, “Review of fast methods for point-based computer-generated holography,” Photonics Res. 6(9), 837–846 (2018). [CrossRef]  

5. A. D. Stein, Z. Wang, and J. S. Leigh Jr, “Computer-generated holograms: A simplified ray-tracing approach,” Comput. Phys. 6(4), 389–392 (1992). [CrossRef]  

6. M. E. Lucente, “Interactive computation of holograms using a look-up table,” J. Electron. Imaging 2(1), 28–34 (1993). [CrossRef]  

7. S.-C. Kim and E.-S. Kim, “Effective generation of digital holograms of three-dimensional objects using a novel look-up table method,” Appl. Opt. 47(19), D55–D62 (2008). [CrossRef]  

8. Y. Pan, X. Xu, S. Solanki, X. Liang, R. B. A. Tanjung, C. Tan, and T.-C. Chong, “Fast cgh computation using s-lut on gpu,” Opt. Express 17(21), 18543–18555 (2009). [CrossRef]  

9. Z. Yang, Q. Fan, Y. Zhang, J. Liu, and J. Zhou, “A new method for producing computer generated holograms,” J. Opt. 14(9), 095702 (2012). [CrossRef]  

10. J. Jia, Y. Wang, J. Liu, X. Li, Y. Pan, Z. Sun, B. Zhang, Q. Zhao, and W. Jiang, “Reducing the memory usage for effectivecomputer-generated hologram calculation using compressed look-up table in full-color holographic display,” Appl. Opt. 52(7), 1404–1412 (2013). [CrossRef]  

11. T. Shimobaba, N. Masuda, and T. Ito, “Simple and fast calculation algorithm for computer-generated hologram with wavefront recording plane,” Opt. Lett. 34(20), 3133–3135 (2009). [CrossRef]  

12. P. Tsang and T.-C. Poon, “Review on theory and applications of wavefront recording plane framework in generation and processing of digital holograms,” Chin. Opt. Lett. 11(1), 010902 (2013). [CrossRef]  

13. D. Leseberg and C. Frère, “Computer-generated holograms of 3-d objects composed of tilted planar segments,” Appl. Opt. 27(14), 3020–3024 (1988). [CrossRef]  

14. K. Matsushima, H. Schimmel, and F. Wyrowski, “Fast calculation method for optical diffraction on tilted planes by use of the angular spectrum of plane waves,” J. Opt. Soc. Am. A 20(9), 1755–1762 (2003). [CrossRef]  

15. K. Matsushima, “Computer-generated holograms for three-dimensional surface objects with shade and texture,” Appl. Opt. 44(22), 4607–4614 (2005). [CrossRef]  

16. H. Kim, J. Hahn, and B. Lee, “Mathematical modeling of triangle-mesh-modeled three-dimensional surface objects for digital holography,” Appl. Opt. 47(19), D117–D127 (2008). [CrossRef]  

17. L. Ahrenberg, P. Benzie, M. Magnor, and J. Watson, “Computer generated holograms from three dimensional meshes using an analytic light transport model,” Appl. Opt. 47(10), 1567–1574 (2008). [CrossRef]  

18. H. Sakata and Y. Sakamoto, “Fast computation method for a Fresnel hologram using three-dimensional affine transformations in real space,” Appl. Opt. 48(34), H212–H221 (2009). [CrossRef]  

19. Y.-Z. Liu, J.-W. Dong, Y.-Y. Pu, B.-C. Chen, H.-X. He, and H.-Z. Wang, “High-speed full analytical holographic computations for true-life scenes,” Opt. Express 18(4), 3345–3351 (2010). [CrossRef]  

20. W. Lee, D. Im, J. Paek, J. Hahn, and H. Kim, “Semi-analytic texturing algorithm for polygon computer-generated holograms,” Opt. Express 22(25), 31180–31191 (2014). [CrossRef]  

21. Y. Pan, Y. Wang, J. Liu, X. Li, and J. Jia, “Improved full analytical polygon-based method using Fourier analysis of the three-dimensional affine transformation,” Appl. Opt. 53(7), 1354–1362 (2014). [CrossRef]  

22. Y.-P. Zhang, F. Wang, T.-C. Poon, S. Fan, and W. Xu, “Fast generation of full analytical polygon-based computer-generated holograms,” Opt. Express 26(15), 19206–19224 (2018). [CrossRef]  

23. Y. Zhao, L. Cao, H. Zhang, D. Kong, and G. Jin, “Accurate calculation of computer-generated holograms using angular-spectrum layer-oriented method,” Opt. Express 23(20), 25440–25449 (2015). [CrossRef]  

24. A. Gilles and P. Gioia, “Real-time layer-based computer-generated hologram calculation for the fourier transform optical system,” Appl. Opt. 57(29), 8508–8517 (2018). [CrossRef]  

25. H. Zhang, L. Cao, and G. Jin, “Computer-generated hologram with occlusion effect using layer-based processing,” Appl. Opt. 56(13), F138–F143 (2017). [CrossRef]  

26. J.-S. Chen and D. Chu, “Improved layer-based method for rapid hologram generation and real-time interactive holographic display applications,” Opt. Express 23(14), 18143–18155 (2015). [CrossRef]  

27. N. Masuda, T. Ito, T. Tanaka, A. Shiraki, and T. Sugie, “Computer generated holography using a graphics processing unit,” Opt. Express 14(2), 603–608 (2006). [CrossRef]  

28. T. Nishitsuji, Y. Yamamoto, T. Sugie, T. Akamatsu, R. Hirayama, H. Nakayama, T. Kakue, T. Shimobaba, and T. Ito, “Special-purpose computer horn-8 for phase-type electro-holography,” Opt. Express 26(20), 26722–26733 (2018). [CrossRef]  

29. R. W. Gerchberg and W. O. Saxton, “A practical algorithm for the determination of phase from image and diffraction plane pictures,” Optik 35, 237–250 (1972).

30. C. Chang, J. Xia, L. Yang, W. Lei, Z. Yang, and J. Chen, “Speckle-suppressed phase-only holographic three-dimensional display based on double-constraint gerchberg–saxton algorithm,” Appl. Opt. 54(23), 6994–7001 (2015). [CrossRef]  

31. C.-K. Hsueh and A. A. Sawchuk, “Computer-generated double-phase holograms,” Appl. Opt. 17(24), 3874–3883 (1978). [CrossRef]  

32. A. Maimone, A. Georgiou, and J. S. Kollin, “Holographic near-eye displays for virtual and augmented reality,” ACM Trans. Graph. 36(4), 1–16 (2017). [CrossRef]  

33. Y. Peng, S. Choi, N. Padmanaban, and G. Wetzstein, “Neural holography with camera-in-the-loop training,” ACM Trans. Graph. 39(6), 1–14 (2020). [CrossRef]  

34. L. Shi, B. Li, C. Kim, P. Kellnhofer, and W. Matusik, “Towards real-time photorealistic 3d holography with deep neural networks,” Nature 591(7849), 234–239 (2021). [CrossRef]  

35. P. Coni, N. Damamme, and J.-L. Bardon, “The future of holographic head-up display,” IEEE Consumer Electronics Magazine 8(5), 1–2 (2019). [CrossRef]  

36. K. Pearson, “Liii. on lines and planes of closest fit to systems of points in space,” The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 2(11), 559–572 (1901). [CrossRef]  

37. S. Jiao, Z. Zhuang, and W. Zou, “Fast computer generated hologram calculation with a mini look-up table incorporated with radial symmetric interpolation,” Opt. Express 25(1), 112–123 (2017). [CrossRef]  

38. X.-D. Zhang, Matrix analysis and applications (Cambridge University, 2017).

Data availability

Data underlying the results presented in this paper are not publicly available at this time but may be obtained from the authors upon reasonable request.

Cited By

Optica participates in Crossref's Cited-By Linking service. Citing articles from Optica Publishing Group journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (6)

Fig. 1.
Fig. 1. (a) Affine transformation of an arbitrary triangle $\Gamma$ to a primitive triangle $\Delta$. (b) Physical scene of a plane wave diffraction passing through a titled triangle aperture $\Gamma$.
Fig. 2.
Fig. 2. Schematic diagram of the holographic plane spectrum obtained using TV1 and TU1.
Fig. 3.
Fig. 3. Schematic diagram of the holographic plane spectrum obtained using TV0 and TU0.
Fig. 4.
Fig. 4. 3D models composed of triangles and the corresponding numerical reconstructed image. (a) 3084 triangles of the teapot, (b) the reconstructed image of teapot at 520mm, (c) 27, 619 triangles of the human’s head, (d) the reconstructed image of human’s head at 500mm.
Fig. 5.
Fig. 5. Performance comparison among methods for calculating five 3D objects. (a) Elapsed time by different methods (left axis) and memory required with and without PCA (right axis). (b) Top: PSNR (left axis) and SSIM (right axis) with and without PCA compared to AFS; Bottom: Specific time elapsed corresponding to (a).
Fig. 6.
Fig. 6. (a) Schematic diagram of optical experiment reconstructions. (b) and (c) reconstruction images in the optical experiment.

Tables (4)

Tables Icon

Table 1. Definition of parameter symbols in the algorithm.

Tables Icon

Table 2. Pseudo MATLAB-like codes of the proposed algorithm, AFS-LUT.

Tables Icon

Table 3. Performance comparison among methods for calculating "teapot" model.

Tables Icon

Table 4. Memory of each table compared with PCA compression(Unit in MB)."P" and "C" denote the principal component and its coefficient matrices.

Equations (22)

Equations on this page are rendered with MathJax. Learn more.

[ x 1 x 2 x 3 y 1 y 2 y 3 z 1 z 2 z 3 ] = [ T 11 T 12 T 13 T 14 T 21 T 22 T 23 T 24 T 31 T 32 T 33 T 34 ] [ x 01 x 02 x 03 y 01 y 02 y 03 z 01 z 02 z 03 1 1 1 ] .
{ T 11 = x 2 x 1 , T 12 = x 3 x 2 , T 13 = 0 , T 14 = x 1 T 21 = y 2 y 1 , T 22 = y 3 y 2 , T 23 = 0 , T 24 = y 1 . T 31 = z 2 z 1 , T 32 = z 3 z 2 , T 33 = 0 , T 34 = z 1
F ( u 0 , v 0 ) = Γ E 0 exp [ j 2 π ( x u 0 + y v 0 ) ] d x d y H = Γ a ( x , y , z ) exp [ j 2 π ( u 0 x + v 0 y + w 0 z z λ ) ] d x d y .
F ( u 0 , v 0 ) = J exp ( j 2 π w ) Δ exp ( j 2 π ( u x 0 + v y 0 ) ) d x 0 d y 0 ,
{ u = T 11 u 0 + T 21 v 0 + T 31 w 0 T 31 λ v = T 12 u 0 + T 22 v 0 + T 32 w 0 T 32 λ   , w = T 14 u 0 + T 24 v 0 + T 34 w 0 T 34 λ
{ u = ( T 11 u 0 λ 2 T 31 u 0 2 ) + ( T 21 v 0 λ 2 T 31 v 0 2 ) v = ( T 12 u 0 λ 2 T 32 u 0 2 ) + ( T 22 v 0 λ 2 T 32 v 0 2 ) .
F ( u 0 , v 0 ) = J exp ( j 2 π w ) { 1 2 u = v = 0 1 exp ( j 2 π v ) ( 2 π v ) 2 j 2 π v u = 0 , v 0 exp ( j 2 π u ) 1 ( 2 π u ) 2 + j exp ( j 2 π u ) 2 π u u 0 , v = 0 . 1 exp ( j 2 π u ) ( 2 π v ) 2 + j 2 π v u + v = 0 , v 0 exp ( j 2 π u ) 1 ( 2 π ) 2 u v + 1 exp [ j 2 π ( u + v ] ) ( 2 π ) 2 ( u + v ) v otherwise
F m a i n ( u 0 , v 0 ) = J exp ( j 2 π w ) { exp ( j 2 π u ) 1 ( 2 π ) 2 u v + 1 exp [ j 2 π ( u + v ) ] ( 2 π ) 2 ( u + v ) v } ,
u = { [ λ 2 ( v 0 T 21 T 31 1 λ ) 2 T 31 ] + [ λ 2 ( u 0 T 11 T 31 1 λ ) 2 T 31 ] + T 11 2 + T 21 2 T 31 1 2 λ T 31 0 T 21 v 0 + T 11 u 0 T 31 = 0 .
{ TU1 ( u 0 , δ x , δ z ) = exp [ j 2 π λ 2 ( u 0 δ x δ z 1 λ ) 2 δ z ] TV1 ( v 0 , δ y , δ z ) = exp [ j 2 π λ 2 ( v 0 δ y δ z 1 λ ) 2 δ z ] TU2 ( u 0 , δ x ) = exp ( j 2 π δ x u 0 ) TV2 ( v 0 , δ y ) = exp ( j 2 π δ y v 0 ) ,
exp ( j 2 π u ) = [ F1 ] n × m = { [ TV1 ( v 0 , T 21 , T 31 ) ] [ TU1 ( u 0 , T 11 , T 31 ) ] C 1 T 31 0 [ TV2 ( v 0 , T 21 ) ] [ TU2 ( u 0 , T 11 ) ] T 31 = 0
u + v = { [ λ 2 ( v 0 T 21 + T 22 T 31 + T 32 1 λ ) 2 ( T 31 + T 32 ) ] + [ λ 2 ( u 0 T 11 + T 12 T 31 + T 32 1 λ ) 2 ( T 31 + T 32 ) ] + ( T 11 + T 12 ) 2 + ( T 21 + T 22 ) 2 T 31 + T 32 1 2 λ ( T 31 + T 32 ) 0 ( T 21 + T 22 ) v 0 + ( T 11 + T 12 ) u 0 ( T 31 + T 32 ) = 0 .
exp [ j 2 π ( u + v ) ] = [ F1 ] n × m = { [ TV1 ( v 0 , T 21 + T 22 , T 31 + T 32 ) ] [ TU1 ( u 0 , T 11 + T 12 , T 31 + T 32 ) ] C 1 ( T 31 + T 32 ) 0 [ TV2 ( v 0 , T 21 + T 22 ) ] [ TU2 ( u 0 , T 11 + T 12 ) ] ( T 31 + T 32 ) = 0 ,
w = [ λ 2 ( v 0 T 24 T 34 1 λ ) 2 T 34 ] + [ λ 2 ( u 0 T 14 T 34 1 λ ) 2 T 34 ] + T 14 2 + T 24 2 T 34 1 2 λ .
{ TU0 ( s 1 , z ) = exp [ j 2 π λ 2 ( u 0 s 1 ) 2 z ] TV0 ( s 2 , z ) = exp [ j 2 π λ 2 ( v 0 s 2 ) 2 z ] ,
exp ( j 2 π w ) = [ F0 ] n × m = TV0 ( v 0 T 24 T 34 1 λ , T 34 ) × TU0 ( u 0 T 14 T 34 1 λ , T 34 ) C 0 ,
{ i = ( u 0 s 1 ) m a x ( u 0 s 1 ) m i n S p k = ( v 0 s 2 ) m a x ( v 0 s 2 ) m i n S p
K i , j = c o v [ X i , X j ] ,
V 1 K V = D .
P = X C .
X P C 1 .
H μ ( x , y ) = F 1 ( F ( u 0 , v 0 ) ) exp ( j 2 π x s i n θ x + y s i n θ y λ ) ,
Select as filters


Select Topics Cancel
© Copyright 2024 | Optica Publishing Group. All rights reserved, including rights for text and data mining and training of artificial technologies or similar technologies.