16 April 2014 Improved iterative algorithm for the three-flat test
Abstract
An iterative algorithm has been successfully used to process data from the three-flat test. On the basis of the iterative algorithm proposed by Vannoni, which is much faster and more effective than the Zernike polynomial fitting method, an improved algorithm is presented. By optimizing the iterative steps and removing the scaling factors, the surface shape can be easily computed in a few iterations. The validity of the method is proved by computer simulation, and the interpolation error and principle error are analyzed.

## 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.38 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 algorithm916 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.

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

## Fig. 1

Four configurations and corresponding measurements.

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.$
In Eq. (1), $K$, $L$, and $M$ denote the surfaces of the three flats to be measured. ${L}_{\mathrm{R}}$ denotes the surface data of $L$ after rotation by an angle about the optical axis and ${L}_{\mathrm{F}}$ represents the flipped data of $L$ about the $y$-axis. Naturally, the flat after two flips is equal to the unflipped pattern. Further, the flat after rotation back by the same angle is equal to the unrotated pattern.

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)

${\left({W}_{2}\right)}_{-\mathrm{R}}={K}_{-\mathrm{R}}+L,\phantom{\rule{0ex}{0ex}}{\left({W}_{3}\right)}_{\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}+{\left({W}_{2}\right)}_{-\mathrm{R}}+{\left({W}_{3}\right)}_{\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}.$
Then, the iterative algorithm is as follows:

• 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

## (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}+{\left({W}_{2}\right)}_{-\mathrm{R}}+{\left({W}_{3}\right)}_{\mathrm{F}}}{3}\phantom{\rule{0ex}{0ex}}-\frac{{K}_{\mathrm{new}}+{\left({K}_{\mathrm{new}}\right)}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=\frac{{W}_{3}+{W}_{4}}{2}-\frac{{K}_{\mathrm{new}}+{\left({L}_{\mathrm{new}}\right)}_{\mathrm{F}}}{2}.$
Equation (4) can be written 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}}+{\left({K}_{\mathrm{new}}\right)}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=Z-\frac{{K}_{\mathrm{new}}+{\left({L}_{\mathrm{new}}\right)}_{\mathrm{F}}}{2},$
where $X$, $Y$, and $Z$ are defined as

## (6)

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

• 3. Establish the iterative estimation rule. The difference between the reconstructed data and the real measurement data is calculated as follows:

## (7)

${E}_{1}={W}_{1}-{K}_{\mathrm{new}}-{L}_{\mathrm{new}},\phantom{\rule{0ex}{0ex}}{E}_{2}={W}_{2}-{K}_{\mathrm{new}}-{\left({L}_{\mathrm{new}}\right)}_{\mathrm{R}},\phantom{\rule{0ex}{0ex}}{E}_{3}={W}_{3}-{\left({L}_{\mathrm{new}}\right)}_{\mathrm{F}}-{M}_{\mathrm{new}},\phantom{\rule{0ex}{0ex}}{E}_{4}={W}_{4}-{K}_{\mathrm{new}}-{M}_{\mathrm{new}}.$
From Eq. (7), we can obtain

## (8)

$\mathrm{EF}=\sqrt{{E}_{1}^{2}+{E}_{2}^{2}+{E}_{3}^{2}+{E}_{4}^{2}},$
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.

## Fig. 2

Schematic flow chart of the iterative algorithm.

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

## Fig. 3

Surface maps of (a) $K$, (b) $L$, and (c) $M$.

${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.

## Fig. 4

Wavefronts of (a) ${W}_{1}$, (b) ${W}_{2}$, (c) ${W}_{3}$, and (d) ${W}_{4}$.

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.

## Fig. 5

Error function versus number of iteration cycles.

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

## Fig. 6

Residual maps of $L$ after 128 iterations: (a) Vannoni’s method and (b) our method.

## 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

## (9)

$L={\left({L}_{\mathrm{R}}\right)}_{-\mathrm{R}}.$

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-{\left({L}_{\mathrm{R}}\right)}_{-\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}}+{\left({K}_{\mathrm{new}}\right)}_{-\mathrm{R}}+{M}_{\mathrm{F}}}{3}+\frac{{L}_{\mathrm{new}}}{3}-\frac{{\left[{\left({L}_{\mathrm{new}}\right)}_{\mathrm{R}}\right]}_{-\mathrm{R}}}{3},\phantom{\rule{0ex}{0ex}}{M}_{\mathrm{new}}=Z-\frac{{K}_{\mathrm{new}}+{\left({L}_{\mathrm{new}}\right)}_{\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.

## Fig. 7

Residual maps of $L$ after 128 iterations: our method (a) before modification and (b) after modification.

## 4.2.

### Principle Error

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

## (11)

$L\left(r,\theta \right)={\sum }_{m,n}{U}_{n}^{m}\left(r\right)\left[{L}_{n}^{m}\mathrm{cos}\left(m\theta \right)+{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}\left(m\theta \right)\right]$
and the surface ${L}_{\mathrm{F}}$ is given by

## (12)

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

Equation (12) can be expressed as

## (13)

${L}_{\mathrm{F}}\left(r,\theta \right)={\sum }_{m,n}{U}_{n}^{m}\left(r\right)\left[{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}\left(m\theta \right)-{L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{cos}\left(m\theta \right)\right]$
and the surface ${L}_{R}$ is

## (14)

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

## (15)

$\overline{{L}_{n}^{m}}={L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{cos}\left(m\varphi \right)-{L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{sin}\left(m\varphi \right),\phantom{\rule{0ex}{0ex}}\overline{{L}_{n}^{-m}}={L}_{n}^{-m}\text{\hspace{0.17em}}\mathrm{cos}\left(m\varphi \right)+{L}_{n}^{m}\text{\hspace{0.17em}}\mathrm{sin}\left(m\varphi \right),$
and $\phi$ is the rotation angle. When $m\phi$ is a multiple of 360 deg, Eq. (15) becomes

## (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

## (17)

$L\left(r,\alpha \right)={L}_{\mathrm{even}}+{L}_{\mathrm{odd}}.$
Thus,

## (18)

${L}_{\mathrm{F}}\left(r,\alpha \right)={L}_{\mathrm{even}}-{L}_{\mathrm{odd}},$
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,$
where ${w}_{1}$, ${w}_{2}$, ${w}_{3}$, and ${w}_{4}$ include only the part that is a multiple of 360 deg and $\phi$.

According to Eq. (19), ${L}_{\text{even}}$ is

## (20)

${L}_{\mathrm{even}}=\frac{{w}_{1}+{w}_{3}-{w}_{4}}{2}.$

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.

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

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

## References

1. G. SchulzJ. Schwider, “Precise measurement of planeness,” Appl. Opt. 6(6), 1077–1084 (1967).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.6.001077 Google Scholar

2. G. SchulzJ. Schwider, “Establishing an optical flatness,” Appl. Opt. 10(4), 929–934 (1971).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.10.000929 Google Scholar

3. B. S. Fritz, “Absolute calibration of an optical flat,” Opt. Eng. 23(4), 379–383 (1984).OPEGAR0091-3286 http://dx.doi.org/10.1117/12.7973304 Google Scholar

4. J. GrzannaG. Schulz, “Absolute testing of flatness standards at square-grid points,” Opt. Commun. 77(2), 107–112 (1990).OPCOB80030-4018 http://dx.doi.org/10.1016/0030-4018(90)90417-R Google Scholar

5. G. SchulzJ. Grzanna, “Absolute flatness testing by the rotation method with optimal measuring error compensation,” Appl. Opt. 31(19), 3767–3780 (1992).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.31.003767 Google Scholar

6. G. Schulz, “Absolute flatness testing by an extended rotation method using two angles of rotation,” Appl. Opt. 32(7), 1055–1059 (1993).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.32.001055 Google Scholar

7. V. Grecoet al., “Absolute measurement of planarity with Fritz’s method: uncertainty evaluation,” Appl. Opt. 38(10), 2018–2027 (1999).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.38.002018 Google Scholar

8. C. XuL. ChenJ. Yin, “Method for absolute flatness measurement of optical surfaces,” Appl. Opt. 48(13), 2536–2540 (2009).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.48.002536 Google Scholar

9. M. VannoniG. Molesini, “Iterative algorithm for three flat test,” Opt. Express 15(11), 6809–6816 (2007).OPEXFF1094-4087 http://dx.doi.org/10.1364/OE.15.006809 Google Scholar

10. F. MorinS. Bouillet, “Absolute interferometric measurement of flatness: application of different methods to test a 600 mm diameter reference flat,” Proc. SPIE 6616, 66164G (2007).PSISDG0277-786X http://dx.doi.org/10.1117/12.725974 Google Scholar

11. M. VannoniG. Molesini, “Absolute planarity with three flat test: an iterative approach with Zernike polynomials,” Opt. Express 16(1), 340–354 (2008).OPEXFF1094-4087 http://dx.doi.org/10.1364/OE.16.000340 Google Scholar

12. M. VannoniG. Molesini, “Three-flat test with plates in horizontal posture,” Appl. Opt. 47(12), 2133–2145 (2008).APOPAI0003-6935 http://dx.doi.org/10.1364/AO.47.002133 Google Scholar

13. C. MorinS. Bouillet, “Absolute calibration of three reference flats based on an iterative algorithm: study and implementation,” Proc. SPIE 8169, 816915 (2011).PSISDG0277-786X http://dx.doi.org/10.1117/12.896784 Google Scholar

14. M. VannoniG. Molesini, “Absolute planarity test with multiple measurements and iterative data reduction algorithm,” presented at SPIE-Optifab, Rochester, Poster TD06–62 (May 11–14 2009). Google Scholar

15. M. VannoniA. SordiniG. Molesini, “Calibration of absolute planarity flats: generalized iterative approach,” Opt. Eng. 51(8), 081510 (2012).OPEGAR0091-3286 http://dx.doi.org/10.1117/1.OE.51.8.081510 Google Scholar

16. M. Vannoni, “Absolute flatness measurement using oblique incidence setup and an iterative algorithm: a demonstration on synthetic data,” Opt. Express 22(3), 3538–3546 (2014).OPEXFF1094-4087 http://dx.doi.org/10.1364/OE.22.003538 Google Scholar

## Biography

Bo Gao is an assistant professor at the Fine Optical Engineering Research Center. He received his BS and MS degrees in optical engineering from Nanjing University of Science and Technology in 2006 and 2008, respectively. His research focuses on optical manufacturing and testing.

Biographies of the other authors are not available.

© The Authors. Published by SPIE under a Creative Commons Attribution 3.0 Unported License. Distribution or reproduction of this work in whole or in part requires full attribution of the original publication, including its DOI.
Bo Gao, Bo Gao, Qiang Li, Qiang Li, Yuhang He, Yuhang He, Liqun Chai, Liqun Chai, } "Improved iterative algorithm for the three-flat test," Optical Engineering 53(9), 092004 (16 April 2014). https://doi.org/10.1117/1.OE.53.9.092004 . Submission:
JOURNAL ARTICLE
6 PAGES

SHARE
KEYWORDS