## 1.

## Introduction

The three-flat test method is generally adopted to measure absolute flatness. Schulz and Schwider proposed and developed the earliest three-flat test method, which required three flats to be compared in pairs.^{1}^{,}^{2} Three measurements could determine only the profile of one diameter. To reconstruct the three-dimensional surface data, many methods have been introduced in which additional measurements are added, e.g., one of the three plates is rotated at least once. Among these methods, the Zernike polynomial fitting method proposed by Fritz is one of the most remarkable.^{3}4.5.6.7.^{–}^{8} To cover more frequencies of the reconstructed surface, more polynomials must be fitted, so the computation is much more intensive. To solve this problem, in recent years Vannoni and Molesini proposed an iterative algorithm^{9}10.11.12.13.14.15.^{–}^{16} to reconstruct the surface shape numerically. The principle of this method is to reconstruct three virtual flats by comparing combinations of their real measurements. Fitting is replaced by rotation or flipping operations, which can be easily and quickly performed.

Vannoni’s paper proved the validity of the iterative algorithm. To achieve convergence toward the minimum, thousands of iterations are required. By optimizing the iterative steps and removing scaling factors, the iterative approach we present requires fewer iterations and is less time consuming than Vannoni’s method. In this paper, the principle of the new iterative algorithm is introduced, and the validity and advantages of the method are demonstrated by computer simulation. Finally, the interpolation error and principle error are analyzed.

## 2.

## Principle

First, an additional rotational measurement is introduced in addition to the traditional three measurements. The Cartesian coordinates and test sequence of the four measurements are shown in Fig. 1.

The four measurements can be expressed as

## (1)

$${W}_{1}=K+L,{W}_{2}=K+{L}_{\mathrm{R}},\phantom{\rule{0ex}{0ex}}{W}_{3}={L}_{\mathrm{F}}+M,{W}_{4}=K+M.$$We denote rotating back by the subscript “$-\mathrm{R}$.” Therefore, if ${W}_{2}$ is rotated back and ${W}_{3}$ is flipped about the $y$-axis, we can express them as

## (2)

$${({W}_{2})}_{-\mathrm{R}}={K}_{-\mathrm{R}}+L,\phantom{\rule{0ex}{0ex}}{({W}_{3})}_{\mathrm{F}}=L+M{}_{\mathrm{F}}.$$Thus, according to Eqs. (1) and (2), $K$, $L$, and $M$ can be expressed as

## (3)

$$K=\frac{{W}_{1}+{W}_{2}+{W}_{4}}{3}-\frac{M+{L}_{\mathrm{R}}+L}{3},\phantom{\rule{0ex}{0ex}}L=\frac{{W}_{1}+{({W}_{2})}_{-\mathrm{R}}+{({W}_{3})}_{\mathrm{F}}}{3}-\frac{K+{K}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}M=\frac{{W}_{3}+{W}_{4}}{2}-\frac{K+{L}_{\mathrm{F}}}{2}.$$1. Initialize the surface data for the three flats ($K$, $L$, and $M$) at zero, which corresponds to starting with the absolute plane.

2. Correct the surface data. The new surface data, ${K}_{\text{new}}$, ${L}_{\text{new}}$, and ${M}_{\text{new}}$, can be calculated as

Equation (4) can be written as## (4)

$${K}_{\mathrm{new}}=\frac{{W}_{1}+{W}_{2}+{W}_{4}}{3}-\frac{M+{L}_{\mathrm{R}}+L}{3},\phantom{\rule{0ex}{0ex}}{L}_{\mathrm{new}}=\frac{{W}_{1}+{({W}_{2})}_{-\mathrm{R}}+{({W}_{3})}_{\mathrm{F}}}{3}\phantom{\rule{0ex}{0ex}}-\frac{{K}_{\mathrm{new}}+{({K}_{\mathrm{new}})}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=\frac{{W}_{3}+{W}_{4}}{2}-\frac{{K}_{\mathrm{new}}+{({L}_{\mathrm{new}})}_{\mathrm{F}}}{2}.$$where $X$, $Y$, and $Z$ are defined as## (5)

$${K}_{\mathrm{new}}=X-\frac{M+{L}_{\mathrm{R}}+L}{3},\phantom{\rule{0ex}{0ex}}{L}_{\mathrm{new}}=Y-\frac{{K}_{\mathrm{new}}+{({K}_{\mathrm{new}})}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=Z-\frac{{K}_{\mathrm{new}}+{({L}_{\mathrm{new}})}_{\mathrm{F}}}{2},$$respectively. Because ${W}_{1}$, ${W}_{2}$, ${W}_{3}$, and ${W}_{4}$ do not vary, Eq. (6) can be calculated before the iterative process.## (6)

$$X=\frac{{W}_{1}+{W}_{2}+{W}_{4}}{3},\phantom{\rule{0ex}{0ex}}Y=\frac{{W}_{1}+{({W}_{2})}_{-\mathrm{R}}+{({W}_{3})}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}Z=\frac{{W}_{3}+{W}_{4}}{2},$$3. Establish the iterative estimation rule. The difference between the reconstructed data and the real measurement data is calculated as follows:

From Eq. (7), we can obtain where EF denotes the reconstruction error. The root-mean-square (rms) value of the EF is calculated and compared with a prespecified threshold. The algorithm should return to step 2 if the threshold is exceeded, and finish otherwise. Figure 2 shows a flow chart of the algorithm.## (7)

$${E}_{1}={W}_{1}-{K}_{\mathrm{new}}-{L}_{\mathrm{new}},\phantom{\rule{0ex}{0ex}}{E}_{2}={W}_{2}-{K}_{\mathrm{new}}-{({L}_{\mathrm{new}})}_{\mathrm{R}},\phantom{\rule{0ex}{0ex}}{E}_{3}={W}_{3}-{({L}_{\mathrm{new}})}_{\mathrm{F}}-{M}_{\mathrm{new}},\phantom{\rule{0ex}{0ex}}{E}_{4}={W}_{4}-{K}_{\mathrm{new}}-{M}_{\mathrm{new}}.$$

## 3.

## Experiment

To verify the accuracy of the method and compare it with Vannoni’s method, three flats were measured, and the data were processed using the proposed iterative algorithm. In Fig. 3, $K$, $L$, and $M$ are the three measured surfaces, which are all circular pupils 920 pixels in diameter.

${W}_{1}$, ${W}_{2}$, ${W}_{3}$, and ${W}_{4}$ are the four wavefronts processed according to Eq. (1), as shown in Fig. 4. In our case, $L$ is rotated by 54 deg, and $L$ is flipped about the $y$-axis.

The two methods were tested using the same personal computer with a 3.0 GHz CPU and 2 GB of memory. As Fig. 5 shows the EF of our iterative algorithm approaches the minimum after 10 iterations, whereas Vannoni’s approaches the minimum after more than 100 iterations. Apparently our iterative algorithm converges more quickly than that of Vannoni.

In addition, a residual error in $L$ is generated after 128 iterations through subtraction of the actual surface shown in Fig. 5. The rms of the residual error generated by our method is 0.28 nm, whereas that of Vannoni’s method is 0.36 nm. Moreover, Vannoni’s method leaves many low frequencies, as shown in Fig. 6(a).

## 4.

## Error Analysis

The main error sources in this method are the interpolation error and principle error.

## 4.1.

### Interpolation Error

The flaw in our method is that the residual error between the reconstructed surface and the measured surface will not decrease after 100 iteration steps, as confirmed by the computer simulation. The main reason is that the error caused by the rotation matrix will accumulate with every iterative loop. In Eq. (2), we assumed that

Actually, the surface data are discrete, so there is an interpolation error due to the rotation operation, which will accumulate.

To eliminate this error, we introduce the term $L-{({L}_{\mathrm{R}})}_{-\mathrm{R}}$ into Eq. (2). Consequently, Eq. (5) in step 2 becomes

## (10)

$${K}_{\mathrm{new}}=X-\frac{M+{L}_{\mathrm{R}}+L}{3},\phantom{\rule{0ex}{0ex}}{L}_{\mathrm{new}}=Y-\frac{{K}_{\mathrm{new}}+{({K}_{\mathrm{new}})}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3}+\frac{{L}_{\mathrm{new}}}{3}-\frac{{[{({L}_{\mathrm{new}})}_{\mathrm{R}}]}_{-\mathrm{R}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=Z-\frac{{K}_{\mathrm{new}}+{({L}_{\mathrm{new}})}_{\mathrm{F}}}{2}.$$Figure 7 shows the residual map between the reconstructed surface $L$ and the measured one after 128 iterations. Figures 7(a) and 7(b) are the results of subtraction computed using Eqs. (5) and (10), respectively. The rms of the error shown in Fig. 7(b) is only one-half of that shown in Fig. 7(a). From the image, we can see that the interpolation error is almost eliminated.

## 4.2.

### Principle Error

The arbitrary surface can be fitted by a Zernike polynomial. Thus, the surface $L$ is given by

## (11)

$$L(r,\theta )={\sum}_{m,n}{U}_{n}^{m}(r)[{L}_{n}^{m}\mathrm{cos}(m\theta )+{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}(m\theta )]$$## (12)

$${L}_{\mathrm{F}}(r,\theta )={\sum}_{m,n}{U}_{n}^{m}(r)[\overline{{L}_{n}^{m}}\text{\hspace{0.17em}}\mathrm{cos}\text{\hspace{0.17em}}m(\pi -\theta )+\overline{{L}_{n}^{-m}}\text{\hspace{0.17em}}\mathrm{sin}\text{\hspace{0.17em}}m(\pi -\theta )].$$Equation (12) can be expressed as

## (13)

$${L}_{\mathrm{F}}(r,\theta )={\sum}_{m,n}{U}_{n}^{m}(r)[{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}(m\theta )-{L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{cos}(m\theta )]$$## (14)

$${L}_{\mathrm{R}}(r,\theta )=L(r,\theta -\phi )={\sum}_{m,n}{U}_{n}^{m}(r)[\overline{{L}_{n}^{m}}\text{\hspace{0.17em}}\mathrm{cos}(m\theta )+\overline{{L}_{n}^{-m}}\text{\hspace{0.17em}}\mathrm{sin}(m\theta )],$$## (15)

$$\overline{{L}_{n}^{m}}={L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{cos}(m\varphi )-{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}(m\varphi ),\phantom{\rule{0ex}{0ex}}\overline{{L}_{n}^{-m}}={L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{cos}(m\varphi )+{L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{sin}(m\varphi ),$$## (16)

$$\overline{{L}_{n}^{m}}={L}_{n}^{m},\phantom{\rule{0ex}{0ex}}\overline{{L}_{n}^{-m}}={L}_{n}^{-m}.$$Therefore, Eq. (14) is the same as Eq. (11). Further, ${W}_{1}$ is equal to ${W}_{2}$ in Eq. (1). Here, we assume that

Thus, where $\alpha $ is a multiple of 360 deg and $\phi $.Equation (1) becomes

## (19)

$${w}_{1}=K+{L}_{\mathrm{even}}+{L}_{\mathrm{odd}},\phantom{\rule{0ex}{0ex}}{w}_{2}={w}_{1},\phantom{\rule{0ex}{0ex}}{w}_{3}={L}_{\mathrm{even}}-{L}_{\mathrm{odd}}+M,\phantom{\rule{0ex}{0ex}}{w}_{4}=K+M,$$According to Eq. (19), ${L}_{\text{even}}$ is

According to Eqs. (19) and (20), we can obtain

## (21)

$$K+{L}_{\mathrm{odd}}=\frac{{w}_{1}-{w}_{3}+{w}_{4}}{2},\phantom{\rule{0ex}{0ex}}M-{L}_{\mathrm{odd}}=\frac{{w}_{3}-{w}_{1}+{w}_{4}}{2},\phantom{\rule{0ex}{0ex}}K+M={w}_{4}.$$Obviously we cannot obtain the exact value of ${L}_{\text{odd}}$ from Eq. (21). Thus, the part that is a multiple of 360 deg and $\phi $ in $K$, $L$, and $M$ cannot be reconstructed by our iterative algorithm.

## 5.

## Comparison of the Two Algorithms

Our approach is generally faster than that of Vannoni. The main reason is that the iterative algorithm computes the updated surfaces directly from the measurements, without a real “adjustment” of a previous surface profile. Every computation directly influences the next one, so this algorithm is in principle faster than the earlier one. The adjustment factor used in the original algorithm is critical if we want to optimize the algorithm for maximum speed, and the number of iterations will decrease when the adjustment factor is larger. However, the new algorithm (including the rotation adjustment) is still faster, but we can see that the difference between it and Vannoni’s algorithm is reduced.

Note that the improved algorithm is more accurate than the original one only if we stop both of them after 100 iterations. If we allow them to run until the end, they produce identical results.

## 6.

## Conclusion

We present an improved iterative algorithm for the three-flat test based on Vannoni’s method. A numerical simulation showed that the process we designed is faster than that of Vannoni. Our method can be applied for absolute flatness measurement, especially when the number of pixels of the interferometer CCD is increased by thousand folds.