Fast Subaperture Stitching Algorithm Using Partial Derivatives
 Author: Chen Yiwei, Miao Erlong, Sui Yongxin, Yang Huaijiang
 Publish: Current Optics and Photonics Volume 19, Issue1, p84~87, 25 Feb 2015

ABSTRACT
For large optical elements which are tested by many subapertures, it takes too much time for a subaperture stitching algorithm to get the stitching result. To solve this problem, we propose a fast subaperture stitching algorithm to quickly compensate for piston, tilt, and defocus errors. Moreover, the new algorithm is easy to understand and program. We use partial derivatives of measurement data to separately solve piston, tilt, and defocus errors. First, we show that the new algorithm has a lower time complexity than the currently used algorithm. Although simulation results indicate that the accuracy of the new algorithm is lower than the current algorithm in all 20 simulations, our experimental results validate the algorithm and show it is sufficiently accurate for general use.

KEYWORD
Optical testing , Interferometer , Large optical elements , Subaperture stitching algorithm

I. INTRODUCTION
With the development of astronomical optics, space optics [13] and inertial confinement fusion, largeaperture optical systems have been widely used. For very large optical elements, however, the aperture may be too large for the interferometer to test in one pass. In 1982, C. J. Kim solved this problem with the subaperture stitching method [4]. However, location errors are inevitable with this method. Thus, researchers use overlapping areas between the subapertures to compensate for location errors [59] such as piston, tilt, defocus, clocking, and position errors. In most cases, only piston, tilt, and defocus errors are corrected. For large optical elements which are tested by many subapertures, it takes much time for a subaperture stitching algorithm to get the stitching result. To quickly compensate for piston, tilt, and defocus errors, we develop a fast algorithm, which is easy to understand and program.
In Section 2, we briefly introduce our algorithm. In Section 3, we compare the time complexity of our algorithm with the current algorithm. In Section 4, we study the accuracy of our algorithm using simulation. In Section 5, we discuss an experimental result demonstrating the effectiveness of the proposed algorithm. Finally, we present our conclusions in Section 6.
II. FAST ALGORITHM FOR SUBAPERTURE STITCHING
The current algorithm uses a leastsquares method to remove relative piston, tilt and defocus errors directly. In our algorithm, we calculate the partial derivative of data before using a leastsquares method to remove relative piston, tilt and defocus errors. The reason for calculating the partial derivative of data is that it makes the leastsquares method much easier. Actually, using the leastsquares method after calculating the partial derivative of data is just averaging, so it makes the algorithm faster than current algorithm.
For convenience, we only discuss the testing of spherical optical elements in this article; however, with some modifications, this algorithm can be easily applied to the testing of both flat and aspheric optical elements.
One subaperture, usually the center subaperture, is selected as the reference subaperture. The remaining subapertures have nonzero piston, tilt, and defocus errors that are relative to the reference subaperture. Thus, we compensate for relative piston, tilt and defocus errors [9] as follows:
where
x andy are the coordinates of pixels;z _{i}(x ,y ) is the testing value measured for the ith subaperture;z_{i} * (x ,y ) is the value after compensation; ai andb_{i} are the coefficients of the relative tilt of the ith subaperture in thex andy directions, respectively,c_{i} is the coefficient of the relative piston value of the ith subaperture, andd_{i} is coefficient of relative defocus.Assuming that there are N subapertures and that the reference subaperture is number 1, current subaperture stitching algorithms use the leastsquares method to directly calculate the necessary compensations [59]:
In our algorithm, we first calculate the secondorder partial derivative of Equation 1 with respect to the independent variable x:
Then, we use the leastsquares method to calculate the needed compensation between two adjacent subapertures:
Solving Equation 4, we obtain the following overdetermined linear equations:
As we can see, using a leastsquares method after calculating the partial derivative of data is just averaging. Here, N_{ij} is the total number of pixels in the overlapping area of the ith subaperture and the jth subaperture, and N_{k} is the total number of pixels in the overlapping area of 1st subaperture and kth subaperture.
We can easily use the weighted leastsquares method to solve the overdetermined linear equations by setting the weight equal to the total number of pixels in the corresponding overlapping area.
Using the calculated coefficients of the relative defocus, we compensate the defocus errors:
where
f_{i} (x ,y ) is the data of the ith subaperture after compensating for the defocus error. According to Equation 2 and Equation 6, we obtainTo compensate for the relative tilt errors, we calculate the firstorder partial derivative of Equation 7 with respect to independent variable x and the independent variable y:
We use a similar procedure to calculate
a_{i} andb_{i} . Then, we compensate for the tilt errors:where
g_{i} (x ,y ) is the data of ith subaperture after compensating for the tilt and defocus errors.Finally, we use the same method to compensate for the piston errors and stitch the resulting measurement data to obtain a fullaperture result.
III. TIME COMPLEXITY OF THE ALGORITHM
In this section, we assume that there are only two subapertures, where one subaperture is the reference subaperture, and the overlapping area is a square (n × n pixels).
In the algorithm currently in use, Equation 2 leads to linear equations:
where ∆(
x ,y )is the disparity between the two measurements (z _{1}(x ,y )z _{2}(x ,y )).Solving Equation 11, we obtain the coefficients
a ,b ,c , andd , and we can use Equation 1 to compensate for the errors. In the current algorithm, we use about 12n ^{2} multiplication operations and about 18n ^{2} addition operations (shown in Table 1).In our new algorithm, we use differences to calculate partial derivatives. For instance, we find the firstorder partial derivative using
where ∆
x is the distance between two adjacent pixels. In our method, we do not divide (f_{i} (x + ∆x ,y ) f_{i} (x ,y )) +f_{i} (x ,y ) f_{i} (x ∆x ,y )) by 2∆x for each point. For instance, when we obtainwe calculate it using
Thus, we use about 5
n ^{2} multiplication operations and about 12n ^{2} addition operations in our algorithm (shown in Table 1).In Table 1, we can see that our algorithm has a much lower time complexity than the current algorithm.
IV. SIMULATION
In the simulation, a measurement result (501 × 801 pixels, shown in Fig. 1) was first divided into two subapertures. After dividing the measurement result into subapertures, we add random noise ([0.001, 0.001] wavelength) and piston, tilt, and defocus errors to each subaperture. We use both the current algorithm and the new algorithm to calculate the compensators. We repeated the simulation calculations 20 times. In all 20 simulations, the accuracy of the new algorithm is lower than that of the current algorithm. We present one typical result in Table 2.
V. EXPERIMENT
In this section, we test a convex spherical surface (caliber of 100 mm and radius of 76.56 mm) using a subaperture stitching interferometer (a Fizeau interferometer whose working wavelength is 632.8 nm) with a reference surface whose Fnumber is 1.5. A real system including a real sample is shown in Fig. 2. The layout of the subapertures is shown in Fig. 3. The measurement results using our algorithm are shown in Fig. 4(a). Comparing with the measurement results obtained using a fullaperture interferometer (shown in Fig. 4(b)), the root mean squared error was 0.003014
λ and the residual error image is shown in Fig. 5.VI. CONCLUSION
We propose a fast algorithm for subaperture stitching to quickly compensate for piston, tilt, and defocus errors. We prove that our algorithm runs more than two times faster than the current algorithm. Although the simulation results demonstrate that the accuracy of the new algorithm is lower than that of the current algorithm in all 20 simulations, the new algorithm is sufficiently accurate for generally use. Using an experimental measurement, we verified the validity of the new algorithm and demonstrated successful subaperture stitching.

[]

[]

[]

[]

[]

[]

[]

[]

[]

[]

[]

[TABLE 1.] Time complexity

[]

[]

[]

[FIG. 1.] Measurement result used for the simulation. All units are in wavelengths.

[TABLE 2.] Simulation results

[FIG. 2.] Real system including real sample.

[FIG. 3.] Layout of the subapertures.

[FIG. 4.] Experimental results: (a) stitched using our algorithm; (b) fullaperture measurement.

[FIG. 5.] Residual error image.