## Abstract

This paper proposes a robust noise and phase jump detection scheme for noisy phase maps containing height discontinuities. The detection scheme has two primary functions, namely to detect the positions of noise and to locate the positions of the phase jumps. Generally speaking, the removal of noise from a wrapped phase map causes a smearing of the phase jumps and therefore leads to a loss of definition in the unwrapped phase map. However, in the proposed scheme, the boundaries of the phase jump regions are preserved during the noise detection process. The validity of the proposed approach is demonstrated using the simulated and experimental wrapped phase maps of a 3D object containing height discontinuities, respectively. It is shown that the noise and phase jump detection scheme enables the precise and efficient detection of three different types of noise, namely speckle noise, residual noise, and noise at the lateral surfaces of the height discontinuities. Therefore, the proposed scheme represents an ideal solution for the pre-processing of noisy wrapped phase maps prior to their treatment using a filtering algorithm and phase unwrapping algorithm.

©2011 Optical Society of America

## 1. Introduction

In optical interference imaging techniques such as holographic interferometry, moire’ deflectometry and electronic speckle pattern interferometry (ESPI), the interferograms of the object are generally converted into a wrapped phase map containing phase values in the range 0 ~2π using a phase-shift algorithm such as the Hariharan algorithm [1,2]. However, the presence of noise within these phase maps causes the subsequent phase unwrapping algorithms to fail. Accordingly, various experimental [3,4] and numerical [5] methods have been proposed for removing or reducing speckle noise from the phase map prior to the unwrapping process. However, many interferometers (particularly microscope interferometers) have a limited depth of field and a discrete diffraction limit. Thus, for objects with a height outside of the depth of field or close to the diffraction limit, a blurring of the interferogram occurs in the regions of the height discontinuities. The blurred pixels are converted into noise in the wrapped phase map, and hence a loss of definition occurs in the corresponding regions of the unwrapped phase map [6–10]. In addition to speckle noise and the noise at the points of height discontinuities, the wrapped phase map also generally includes noise induced by environmental effects or contamination of the optical system and sample. Such noise is referred to as residual noise [11] and further constrains the performance of the phase unwrapping scheme used to process the wrapped phase map.

Linear filters such as that proposed in [12] provide the means to remove speckle noise from the interferogram prior to the phase unwrapping process. However, the application of such filters results in a smearing of the interferogram, and thus the edges of the 2π phase jumps converted from the Hariharan algorithm are smoothed, resulting in a loss of definition in the subsequent unwrapping process. Moreover, linear filters are ineffective when applied to interferograms containing excessive noise at the lateral surfaces of the height discontinuities of the scanned object. Existing phase unwrapping algorithms can be broadly classified as temporal [9,13,14], spatial [15–23], and period-coding [24] techniques. Furthermore, the spatial phase unwrapping algorithms are classified as the path-dependent [16], path-independent [17–19], or miscellaneous [15,20–23]. Path-dependent phase unwrapping algorithms commence the unwrapping process from a fixed starting pixel and then proceed along fixed line paths. As a result, fixed paths offer a fast unwrapping speed. However, when noise exists within one or more of the fixed-wrapping paths, the resulting unwrapping error is accumulated line (path) – by - line (path). Thus, significant errors exist in the unwrapped phase map; particularly when the original phase map contains excessive noise in the regions of the height discontinuities. In path-independent phase unwrapping algorithms, all the possible unwrapping paths between two pixels are sought, and thus the unwrapping speed is very slow since the algorithm spends a significant amount of time in searching paths which ultimately prove to be useless. Furthermore, the presence of noise at the lateral surfaces of the height discontinuities in the phase map may cause the algorithm to miss certain useful phase unwrapping paths, and thus the algorithm is not only time-consuming but may also fail to converge.

In [9], the authors attempted to resolve this problem by using an experimental method to detect the positions of the height discontinuities such that these positions could be avoided during the phase unwrapping process. However, this method has the disadvantage that the sensor spends much time to record a sequence of maps (about 20-30 maps) in order to find the positions of height discontinuities. And this method is not appropriate when the speckle noise and the residual noise exist in the phase map. Accordingly, the present study proposes a noise and phase jump detection scheme capable of detecting not only the noise at the lateral surfaces of the height discontinuities, but also the speckle noise and the residual noise using a direct numerical method. The validity of the proposed approach is demonstrated using the simulated and experimental wrapped phase maps of a 3D object containing significant height discontinuities. It is shown that the proposed detection scheme not only enables the efficient and precise detection of all three types of noise (which is illustrated in the noise map), but also preserves the edges of the phase jumps (which is illustrated in the phase jump map) and therefore improves the performance of the subsequent unwrapping process.

## 2. Principles of proposed noise and phase jump detection scheme

Generally speaking, the phase difference between two neighboring pixels is very small if the two pixels have continuous phase values. However, even though the phase difference of noisy pixels is greater than the phase difference of non-noisy pixels, an ambiguity arises when the phase difference between two neighboring noisy pixels is close to that between the two non-noisy pixels. This study wants to separate the noisy pixels and non-noisy pixels more accurately, especially the case of an ambiguity. Consequently, the robust noise and phase jump detection scheme proposed in this study is based on the phase difference between four neighboring pixels, and it is more effective than those based on two neighboring pixels. Figure 1(a) presents the top view of four neighboring pixels, while Fig. 1(b) shows a frontal view of the corresponding 3D phase map. In Fig. 1(b), the solid line denotes the actual edge of the phase jumps, while the dashed line indicates the smeared edge of the phase jump following the application of a linear filter such as that proposed in [12]. Furthermore, the symbols •, ▲, ×, and + indicate the phase values of the corresponding pixels shown in Fig. 1(a). The proposed noise and phase jump detection scheme comprises four comparative phase parameters, namely

*i, j*) is the pixel position;

*ϕ*is the corresponding phase value in the phase map; [ ] indicates a rounding operation; and ${\sigma}_{{\rm A}}$ is the noise and phase jump detection threshold parameter.

It can be seen that parameter S1 in Eq. (1) uses four terms to calculate the phase difference between two neighboring pixels. The first term, i.e.$[\frac{\varphi (i+1,j)-\varphi (i,j)-{\sigma}_{{\rm A}}}{2\pi}]$, is defined as Path 1, while the second term, i.e.$[\frac{\varphi (i+1,j+1)-\varphi (i+1,j)+{\sigma}_{{\rm A}}}{2\pi}]$, is defined as Path 2. Similarly, $[\frac{\varphi (i,j+1)-\varphi (i+1,j+1)-{\sigma}_{{\rm A}}}{2\pi}]$ is defined as Path 3, while $[\frac{\varphi (i,j)-\varphi (i,j+1)+{\sigma}_{{\rm A}}}{2\pi}]$ is defined as Path 4. As shown in Fig. 1(a), each path is composed of the phase difference between two neighboring pixels and Paths 1, 2, 3 and 4 of S1 are defined in the counterclockwise direction. Similarly, Paths 1, 2, 3 and 4 in parameters S2~S4 in Eq. (1) are also defined in the counterclockwise direction.

For convenience, the region of the phase difference map close to the 2π phase jumps is defined hereafter as Condition I, while that away from the phase jumps is defined as Condition II (see Fig. 1(b)). The particular characteristics of the two regions are discussed in the following sub-sections. It is shown that the pixels in both conditions can be treated as continuous (i.e. non-noisy) provided that the condition S1 = S2 = S3 = S4 = 0 in Eq. (1) holds.

#### 2.1 Characteristics of Condition I pixels

Consider the ideal case in which the phase values of four neighboring pixels in the phase jump region of the phase map are equal to$\varphi (i,j)=2\pi $, $\varphi (i+1,j)=0$, $\varphi (i,j+1)=2\pi $, and $\varphi (i+1,j+1)=0$, respectively. Substituting these values into Eq. (1) gives

*ϕ*(

*i, j*),

*ϕ*(

*i + 1, j*),

*ϕ*(

*i, j + 1*), and

*ϕ*(

*i + 1, j + 1*) in the region of the 2π phase jump are treated as continuous phase value pixels (i.e. non-noisy pixels) in the proposed noise and phase jump detection scheme.

#### 2.2 Characteristics of Condition II pixels

The four neighboring pixels shown in Fig. 1(a) can be treated as continuous pixels if their phase values, i.e. *ϕ*(*i, j*), *ϕ*(*i + 1, j*), *ϕ*(*i, j + 1*), and *ϕ*(*i + 1, j + 1*), are sufficiently close. That is, given the condition$0\le {\sigma}_{{\rm A}}<\pi \text{}$, each of the four terms in S1, S2, S3 and S4 in Eq. (1) is equal to zero, i.e.

*i, j*) as noisy pixel if any one of S1, S2, S3 or S4 has a value other than zero.

Let *PD* denote the phase difference between any two neighboring continuous pixels at any position in the 2 × 2 area. In other words, $PD$
*= *
$\varphi (i+1,j)-\varphi (i,j)$, $\varphi (i+1,j+1)-\varphi (i+1,j)$, $\varphi (i,j+1)-\varphi (i+1,j+1)$, or $\varphi (i,j)-\varphi (i,j+1)$. As a result, Eq. (3) can be further expressed as

*i, j*) is defined as a “good pixel”. Conversely, if the absolute phase difference of any two neighboring pixels falls outside the range $\pi -{\sigma}_{{\rm A}}$, more than one of S1, S2, S3 or S4 is not equal to zero, and thus pixel (

*i, j*) is defined as a “bad pixel”.

In summary, the noise and phase jump detection scheme given in Eq. (1) enables the 2π phase jump in the Condition I region of the phase map to be retained irrespective of the value assigned to the threshold parameter${\sigma}_{{\rm A}}$, and treats the Condition II region of the phase map as a continuous region if $\left|PD\right|$ satisfies the constraint given in Eq. (7). Note that although Fig. 1(b) only shows the straight phase regarding to the specific geometric shape, the other cases, such as the curved or arbitrary phase, also can be discussed identically by Conditions I and II. As a result, all of the phase cases can be concluded in Eq. (7). From above, the noise and phase jump detection scheme in Eq. (1) can be applied to express two maps, namely “the noise map” and “the phase jump map”. The noise map illustrates the noise positions where one of S1-S4 is not zero, and the phase jump map illustrates the positions where more than one path in S1 (or S2-S4) is not equal to zero and the sum of four paths in S1 (or S2-S4) are zero. It should be noticed that the threshold parameter, ${\sigma}_{{\rm A}}$, is decided from Eq. (7), where the value of $\pi -{\sigma}_{{\rm A}}$ is specified in accordance with the spatial resolution of the phase map. However, as compared the noise map with the phase jump map, the value of ${\sigma}_{{\rm A}}$also can be precisely determined, and this is discussed later in this study.

## 3. Simulation results

The simulations use a “regular” PC equipped with an AMD Athion 64 × 2 Dual Core Processor 4400 + 2.31GHz and 2 GB of RAM. The noise and phase jump detection scheme described in the previous section is capable of detecting three different types of noise, namely speckle noise, residual noise and the noise at the lateral surfaces of the height discontinuities in the phase map. In this subsection, the performance of the proposed scheme was evaluated by performing a series of MATLAB simulations based on the five simulated interferograms. Prior to the noise and phase jump detection simulations, the five simulated interferograms of height discontinuities were produced using MATLAB software and were then converted into a single raw wrapped phase map with dimensions of 294 × 246 pixels (rows × columns).

As shown in Fig. 2(a)
, the raw wrapped phase map contains speckle noise (marked as “Noise A” within the rectangular region), residual noise (marked as “Noise B” within the square and circular regions), and lateral surface noise at the points of height discontinuities (marked as “Noise C” along the red line). The 1st, 2nd, and 3rd positions illustrated in Fig. 2(a) were discussed later. Because the speckle noise was the multiplicative noise, the speckle noise was generated using the “imnoise” function in MATLAB with an intensity parameter setting of 0.08, written as “*imnoise (each of five interferograms, 'speckle', 0.08).”* And the speckle noise (i.e. Noise A) is confined to a rectangular area with a size of 100 x 246 pixels. Meanwhile, the residual noise (Noise B) was produced by the “imnoise” function with the salt and pepper noise. In order to mimic the effects of dust or some other form of environmental contamination in the experimental interferometry process, the intensity parameter was setting of 0.35, written as “*imnoise (each of five interferograms, 'salt & pepper', 0.35).”* Finally, the noise at the lateral surfaces of the height discontinuities was produced by the written program which considers not only the signals at the low and high positions of discontinuity but also the “imnoise” function of Noise B with the intensity parameter of 0.01. As a result, it generates the effects of depth of field and diffraction limit constraints in the experimental process. Figure 2(b) presents a 3D cross-sectional view of the phase map shown in Fig. 2(a) at a position corresponding to the 125th pixel column (denoted by the horizontal blue dotted line in Fig. 2(a)). In Figs. 2(a) and 2(b), the ellipses indicate the region of a significant phase jump in the wrapped phase map. In the following discussions, it is shown that the proposed noise and phase jump detection scheme successfully identifies all the noisy pixels within the wrapped phase map irrespective of their origin whilst simultaneously preserving the boundaries of the 2π phase jumps, thereby improving the performance of the subsequent phase unwrapping algorithm of filtering algorithm.

#### 3.1 Simulation Results on the 1st, 2nd, and 3rd positions by detection scheme

The following discussions describe the application of the proposed noise and phase jump detection scheme to three different positions of the phase map in Fig. 2(a), namely the 1st, 2nd, and 3rd positions. The 1st position of interest is that corresponding to the four pixels located at x = 250 and 251 and y = 25 and 26, respectively. From an inspection of Fig. 2(a), these four neighboring pixels are found to be non-turbulent, i.e. the four pixels have continuous phase values. The 2nd position of interest is located at x = 45 and 46 and y = 30 and 31. From inspection, these pixels are found to contain speckle noise, i.e. the four neighboring pixels have turbulent phase values. The 3rd position of interest is located at x = 111 and 112 and y = 122 and 123. As shown in Fig. 2(a), these pixels fall within the region of the phase map containing the phase jump. Note that an inspection of the absolute phase values and spatial resolution in Fig. 2(a) shows that the absolute-maximum phase difference, $\pi -{\sigma}_{{\rm A}}$, is equal to 0.74, and thus the threshold parameter, ${\sigma}_{{\rm A}}$, is assigned a value of 2.4 in each of the three regions of interest.

### 3.1.1 1st position (no turbulence)

The phase values of the four neighboring pixels in the first position of interest are$\varphi (250,25)=\text{4 .3568}$, $\varphi (251,25)=\text{4 .3114}$, $\varphi (250,26)=\text{4 .4075}$, and $\varphi (251,26)=\text{4 .3552}$, respectively. Thus, the terms in Paths 1, 2, 3 and 4 in S1 are as follows:Path 1:

### 3.1.2 2nd position (turbulent speckle noise)

The phase values of the four neighboring pixels in the second position of interest are $\varphi (43,33)=\text{1 .4545}$, $\varphi (44,33)=\text{0 .6497}$, $\varphi (43,34)=\text{1 .2163}$, and $\varphi (44,34)=\text{0 .5446}$, respectively. In this case, Paths 1, 2, 3 and 4 in S1 are not all equal to zero, and therefore S1 has a value of −1. Furthermore, one of the four phase difference values between neighboring pixels ($\left|PD\right|$: |-0.8048|, |-0.1051|, |0.6717|, and |0.2382|) is greater than$\pi -{\sigma}_{{\rm A}}=0.74$. As a result, according to the definition given in Section 2.2, the noise and phase jump detection scheme classifies the pixel (*i, j*) as the noisy pixel. It should be noted here that if the phase difference values of the four neighboring pixels are very close to$\pi -{\sigma}_{{\rm A}}$, S1 may fail to detect the noise. However, the noisy pixels will still be detected via the calculated results for S2~S4. Consequently, at least one of the four calculated results for S1~S4 enables the noise to be successfully detected.

### 3.1.3 3rd position (containing phase jump)

The phase values of the four neighboring pixels in the third position of interest are$\varphi (113,121)=0$,$\varphi (114,121)=\text{0 .0070}$,$\varphi (113,122)=\text{0}$, and $\varphi (114,122)=\text{6 .2769}$, respectively. In this case, Paths 1 and 4 in S1 are equal to zero, Path 2 is equal to 1, and Path 3 is equal to −1. Thus, S1 is equal to zero. Similarly, S2~S4 are also all equal to zero. As a result, the definition given in Section 2.1 (Condition I) is satisfied, and hence the noise and phase jump detection scheme treats the four pixels as non-noisy pixels, i.e. the phase jump is retained.

It is concluded that the detection scheme not only passes the pixel at 1st position but also detects the speckle noise at 2nd position and retains the phase jumps at 3rd position.

#### 3.2 Noise map obtained from detection scheme

In subsections 3.2 and 3.3, the noise and phase jump maps obtained by the detection scheme are discussed, respectively. Figures 3(a) –3(d) illustrate the pixel-by-pixel results obtained from Eq. (1) for parameters S1, S2, S3 and S4, respectively, when using a threshold parameter setting of ${\sigma}_{{\rm A}}$ = 2.4. As discussed earlier, the proposed noise and phase jump detection scheme regards a pixel as “good” if all the corresponding values of S1~S4 are equal to zero, and regards a pixel as “bad” if any one of S1~S4 has a non-zero value (i.e. + 1 or −1). Figure 4(a) shows the noise positions (marked as “x” and corresponding to non-zero values of S1, S2, S3 or S4) for the case in which the noise is detected by S2 (Fig. 3(b)) but is not detected by S1 (Fig. 3(a)). Similarly, Fig. 4(b) shows the noise positions marked as “x” for the case in which the noise is detected by S4 (Fig. 3(d)) but is not detected by S3 (Fig. 3(c)). As expected, the residual noise marked as Noise B within the square region in Fig. 2 is not reproduced in Figs. 4(a) or 4(b). However, when the four figures presented in Fig. 3 are combined into the single figure, namely the noise map, shown in Fig. 5(a) , the square region of Noise B is clearly visible. In other words, it is confirmed that if the noise is missed by any one of S1~S4, respectively, it will still be detected by at least one of the other three components of the noise and phase jump detection scheme.

Figure 5(b) presents the noise and phase jump detection results when the threshold parameter value is reduced from ${\sigma}_{{\rm A}}$ = 2.4 to ${\sigma}_{{\rm A}}$ = 1.4. From an inspection of Fig. 2(b), it can be seen that the residual noise (marked as Noise B within the square and circular regions) is more turbulent than the speckle noise (marked as Noise A within the rectangular region). Therefore, the phase difference between any two neighboring pixels in the square or circular region is greater than that between any two neighboring pixels in the rectangular region. In Fig. 5(a), corresponding to ${\sigma}_{{\rm A}}$ = 2.4, the noise and phase jump detection scheme detects all three types of noise in the wrapped phase map (i.e. the noise at the lateral surfaces of the height discontinuities, the residual noise, and the speckle noise) since the range $\pi -{\sigma}_{{\rm A}}$ is less than the phase difference values of these three types of noise. However, in Fig. 5(b), corresponding to${\sigma}_{{\rm A}}$ = 1.4, the noise and phase jump detection scheme detects only the noise at the lateral surfaces of the height discontinuities and the residual noise since the range$\pi -{\sigma}_{A}$is greater than the phase difference values of the speckle noise. Therefore, the value of ${\sigma}_{{\rm A}}$ = 2.4 is the suitable value for the noisy wrapped phase map of Fig. 2(a).

#### 3.3 Phase jump map obtained from detection scheme

Figures 6(a) and 6(b) indicate the positions of the phase jumps in Fig. 2(a) as determined in accordance with the definition in Section 2.1 (i.e. $S1(i,j)=S2(i,j)=S3(i,j)=S4(i,j)=0$) for threshold parameter values of ${\sigma}_{{\rm A}}$ = 2.4 and ${\sigma}_{{\rm A}}$ = 1.4, respectively. In Fig. 6(a), the two ellipses contain a thin phase jump region and a thick phase jump region, respectively. The thick phase jump is the result of speckle noise and can be easily resolved using the linear filter or methods described elsewhere [5,12]. Meanwhile, the phase jump pixels in the circular and square regions in Fig. 6(a) are the result of detection errors in the noise and phase jump detection scheme caused by excessive turbulence of the phase values of the pixels in these regions of the phase map. In Fig. 6(b), corresponding to a lower threshold parameter value of ${\sigma}_{{\rm A}}$ = 1.4, the circular region contains only one phase jump pixel. However, compared to Fig. 6(a), it can be seen that Fig. 6(b) contains a far greater number of phase jump pixels along the lateral surfaces of the height discontinuities (i.e. the marked red regions). The presence of phase jumps at the lateral surfaces of the height discontinuities degrades the performance of the subsequent phase unwrapping process. In other words, Fig. 6(a) provides a better basis for the phase unwrapping process than Fig. 6(b).

Similarly, Fig. 5(a), obtained using a threshold parameter setting of${\sigma}_{{\rm A}}$ = 2.4, detects all three types of noise in the phase map, whereas Fig. 5(b), obtained using a threshold parameter setting of ${\sigma}_{{\rm A}}$ = 1.4, detects only the noise at the lateral surfaces of the height discontinuities and the residual noise. Thus, it is evident that ${\sigma}_{{\rm A}}$ = 2.4 represents a more appropriate setting of the detection threshold parameter when applied to the wrapped phase map as shown in Fig. 2(a).

#### 3.4 Choosing Suitable parameter of ${\sigma}_{{\rm A}}$ from the noise and phase jump maps

Comparing Figs. 5(a) and 5(b), it is seen that the noise and phase jump detection scheme considers the pixels within the phase jump region to be “good” pixels in both cases. In other words, the noise and phase jump detection scheme preserves the phase jump features in the wrapped phase map irrespective of the value assigned to the threshold parameter${\sigma}_{A}$ . However, a lower value of $\pi -{\sigma}_{{\rm A}}$ enables the noise and phase jump detection scheme to detect a greater number of noisy pixels. As discussed earlier, the value of $\pi -{\sigma}_{{\rm A}}$ is determined from an inspection of the pixel resolution in the phase map. And, a suitable threshold value can also be determined by qualitatively comparing the noise maps (i.e. Fig. 5) and phase jump maps (i.e. Fig. 6) obtained using different values of the threshold parameter in order to evaluate which value provides the best solution in both cases. The purpose of the noise map is to visualize the noise distribution within the phase map while the purpose of the phase jump map is to visualize the phase jump distribution within the phase map. Thus, $\pi -{\sigma}_{{\rm A}}$ can also be set to a suitable value based on a joint consideration of the position of noise within the phase map and the distribution of the phase jump pixels.

Significantly, when ${\sigma}_{{\rm A}}$ = 0, Eq. (1) reduces to Eq. (12), which is the basis of the branch cut method proposed in [25], i.e.

*i, j*) when applied to the wrapped phase map shown in Fig. 2. Note that for convenience, the positions of the pixels which return a value of + 1 are marked as “O” while those of the pixels which return a value of −1 are marked as “X”. It is evident that Eq. (12) fails to detect all the noisy pixels in the unwrapped phase map; particularly those in the speckle noise region. By contrast, the results presented in Fig. 5(a) show that the proposed noise and phase jump detection scheme provides a far better approximation of the noise distribution provided that an appropriate value of the threshold parameter is assigned (i.e. ${\sigma}_{A}$ = 2.4 in the present example). Furthermore, the improved detection precision is obtained without incurring a significantly higher time overhead, i.e. all of the running times in the cases of${\sigma}_{A}$ = 2.4 and ${\sigma}_{A}$ = 1.4, and ${\sigma}_{A}$ = 0 (i.e. Fig. 5, Fig. 6, and Fig. 7) are less than 10 second, respectively.

## 4. Experimental setup and results

The interference experiment was conducted using a microscope (OLYMPUS BH2-UMA) with interferential objectives with Mirau (20XDI, NA 0.4, WD 4.7, Nikon JAPAN) configurations, a CCD camera (JAI CV-A11 monochrome progressive scan 1/3 inch), and a lens (6-60mm, F:1.6, Kenko, JAPAN). The step height standard sample fabricated by MEMS (Micro Electro-Mechanical Systems) Etching was used as the sample of 80nm-height discontinuities with an area of about 230µm x 230µm. In this subsection, speckle noise and the noise at the lateral surface of the height discontinuities are discussed. A white-light LED (LP-1201H-3-IO, EXLITE) was used as a source and five interferograms were obtained in the experiment. The five interferograms were then converted into the raw wrapped phase map using the Hariharan algorithm, as illustrated in Fig. 8(a) . In order to determine the robustness of the proposed detection scheme in handling speckle noise, another raw wrapped phase map was obtained using a He-Ne laser (MODEL 1135P, JDS Uniphase) as the light source, as illustrated in Fig. 8(b). The images in Figs. 8(a) and 8(b) are 230 × 230 pixels (rows × columns). The image in Fig. 8(a) only contains noise at the lateral surface; however, the image in Fig. 8(b) contains not only noise at the lateral surface, but also speckle noise. As expected, the speckle noise in Fig. 8(b) is quite serious due to the use of a He-Ne laser as the light source.

#### 4.1 Noise and phase jump map results

A detection scheme with ${\sigma}_{{\rm A}}$ = 2.4 was used to detect the image in Fig. 8(a). The noise and phase jump map results are shown in Figs. 9(a) and 9(b), respectively. The pixels in the area of noise at the lateral surface and phase jump are not well extracted do not show good extraction. In Fig. 9(b), the pixels within the red regions are not the positions of the phase jumps. Thus, a detection scheme with ${\sigma}_{{\rm A}}$ = 2.75 was used. The positions of noise at the lateral surface and the phase jump, as shown in Figs. 10(a) and 10(b), respectively, were effectively detected.

For the He-Ne laser experiments, the image in Fig. 8(b) was also detected by a detection scheme with ${\sigma}_{{\rm A}}$ = 2.4; the results are shown in Figs. 11(a) and 11(b). In Fig. 11(a), the positions of the speckle noise and noise at the lateral surface are not clearly extracted. The pixels within the red regions in Fig. 11(b) are not the positions of the phase jumps. A detection scheme with ${\sigma}_{{\rm A}}$ = 2.75 was used to detect the image in Fig. 8(b); the results are shown in Figs. 12(a) and 12(b). In Fig. 12(a), the speckle noise and noise at lateral surface are effectively detected. Although a few non-phase-jump pixels exist in Fig. 12(b), most phase jump pixels are detected.

The run times required for the detection schemes with ${\sigma}_{{\rm A}}$ = 2.75 and ${\sigma}_{{\rm A}}$ = 2.4 for the white-light source and He-Ne laser were all about 5 seconds. The proper ${\sigma}_{{\rm A}}$value was determined using noise and phase jump maps.

#### 4.2 Phase unwrapping results

The filtering algorithms were combined with the proposed detection scheme to produce Filters A and B. Filter A comprises the detection scheme and the adaptive median filter [26], whereas Filter B replaces the pixels of the noise map detected by the detection scheme with the median phase value of an *N* x *N* mask centered on the noisy pixel. The work of Filters A and B is as follows. First, the detection scheme detects the positions of noise and phase jumps. Then, Filter A is used to pre-process the wrapped phase map, which removes most noise. During the phase unwrapping process with the MACY algorithm [16], Filter B removes noise missed by Filter A. In the processes of Filters A and B, the positions of phase jumps are saved by the detection scheme. In all of the noise maps, the error pixel at the corresponding phase jump position is not appeared. Therefore, phase jump pixels are preserved and without being filtered by Filters A and B. The raw wrapped phase map in Fig. 8(a) was filtered by Filters A and B with ${\sigma}_{{\rm A}}$ = 2.75. In other words, Filters A and B removed the noisy pixels in Fig. 10(a). Figure 13(a)
shows the unwrapping results and Fig. 13(b) shows the cross-sections with column and row equal to 115, respectively. From the figure, noise at the lateral surfaces was effectively detected by the proposed detection scheme, which led to good phase unwrapping results. The noise map in Fig. 12(a) extracted by the detection scheme with ${\sigma}_{{\rm A}}$ = 2.75 was filtered by Filters A and B. Figure 14(a)
shows the unwrapping results for Fig. 8(b). The column and row cross-sections are illustrated in Fig. 14(b). The results show that the proposed detection scheme is rather robust; it can effectively detect speckle noise from a He-Ne laser and obtain a good unwrapped phase map with Filters A and B and the MACY algorithm.

A good unwrapped phase map with Filters A and B and the MACY algorithm is also obtained. The detail expression in the phase unwrapping algorithm in MACY or CA combining the filtering algorithms with the new detection scheme will be published in the future.

#### 4.3 Oblique angle with phase jump line and lateral surface line

The height discontinuity in the sample of TaSiN is about 5μm. Note that the surface quality of TaSiN is not good like the step height standard sample. The same detecting processes introduced in the subsection 4.1 are conducted. Figures 15(a) and 15(b) are the raw wrapped phase maps with a white light source and a He-Ne laser, respectively. The raw phase map of Fig. 15(a) is detected by the detection scheme with ${\sigma}_{{\rm A}}$ = 2.8 and the results of noise and phase jump maps are illustrated in Figs. 16(a) and 16(b), respectively. From the noise map of Fig. 16(a), the residual noise and the noise at the lateral surfaces are detected successfully. It is noted that the case in Fig. 16(b) contains the oblique angle with phase jump line and lateral surface line, and the case in Fig. 10(b) contains the “perpendicular” angle with two lines. From an inspection of Fig. 16(b), the detection error at the lateral surfaces is very little. Thus, the detection scheme also enables the case of the oblique angle to be detected successfully.

Again, the detection scheme with ${\sigma}_{{\rm A}}$ = 2.8 detects the raw wrapped phase map of Fig. 15(b), and the two detecting maps are illustrated in Figs. 17(a) and 17(b), respectively. From the noise map of Fig. 17(a), three types of noise are detected successfully. From the phase jump map of Fig. 17(b), the phase jumps are also detected successfully. Finally, the phase unwrapping results of Figs. 15(a) and 15(b) are illustrated in Figs. 18(a) and 19(a) , respectilvely. The cross-sections with column pixel 235 and row pixel 151 are shown in Figs. 18(b) and 19(b). Obviously, two cases of the approximative unwrapped phase map containing height discontinuities are reconstructed by MACY algorithm successufully.

In order to understand the importance of the proposed detection scheme, MACY algorithm without filtering is also applied to unwrap the wrapped phase maps of Figs. 15(a) and 15(b). Obviously, the corresponding reults of the phase unwrapping illustrated in Figs. 20(a) and 20(b) are not successful. Thus, the proposed detection scheme is critical in phase unwrapping.

#### 4.4 Parallel with phase jump line and lateral surface line

The step height standard sample with the white-light source test is used again and only one side of height discontinuity is captured by CCD. The detection scheme with ${\sigma}_{{\rm A}}$ = 2.6 detects the wrapped phase map of Fig. 21(a) with the size of 120 × 120 pixels, and then the noise map and phase jump map are obtained and illustrated in Figs. 21(b) and 21(c), respectively. From an inspection of Figs. 21(b) and 21(c), the parallel case of the phase jump line and lateral surface line is also successful.

## 4. Conclusions

The noise and phase jump detection scheme proposed in this study is capable of detecting three different types of noise, namely speckle noise, residual noise, and the noise at the lateral surfaces of the height discontinuities. The sensitivity of this detection scheme is determined by the value assigned to a threshold parameter${\sigma}_{{\rm A}}$, where the range $\pi -{\sigma}_{{\rm A}}$ is determined from an inspection of the pixel resolution in the wrapped phase map. The suitable value of ${\sigma}_{{\rm A}}$ can also be determined from an inspection of the noise distribution map (i.e. Fig. 5(a), Fig. 10(a), and Fig. 12(a)) and the corresponding phase jump map (i.e. Fig. 6(a), Fig. 10(b), and Fig. 12(b)). In general, the ability of the noise and phase jump detection scheme to extract all of the noisy pixels within the wrapped phase map improves as the value assigned to the threshold parameter of ${\sigma}_{{\rm A}}$ increases. Overall, the noise and phase jump detection scheme presented in this study provides an efficient and precise means of identifying all the noisy pixels within a wrapped phase map. As a result, it represents an ideal candidate for integration with a suitable filtering scheme in order to pre-process the wrapped phase maps obtained in conventional inteferometry methods prior to their treatment using a phase unwrapping algorithm. The successful unwrapping result with MACY algorithm is illustrated and demonstrated the robust of the detection scheme. And the detection scheme is also successful for three cases of the phase jump line and lateral surface line: the perpendicular case in the subsection 4.1, the oblique case in the subsection 4.3, and the parallel case in the subsection 4.4. In the future, the detail expression in the path-dependent MACY algorithm or path-independent CA algorithm combining the filtering algorithms with the new detection scheme will be published.

## Acknowledgements

The authors thank the National Science Council of Taiwan for the financial support under No. NSC 98-2221-E-006-053-MY3.

## References and links

**1. **K. Creath, “Phase-shifting speckle interferometry,” Appl. Opt. **24**(18), 3053–3058 (1985). [CrossRef] [PubMed]

**2. **P. Hariharan, B. F. Oreb, and T. Eiju, “Digital phase-shifting interferometry: a simple error-compensating phase calculation algorithm,” Appl. Opt. **26**(13), 2504–2506 (1987). [CrossRef] [PubMed]

**3. **B. F. Pouet and S. Krishnaswamy, “Technique for the removal of speckle phase in electronic speckle interferometry,” Opt. Lett. **20**(3), 318–320 (1995). [CrossRef] [PubMed]

**4. **I. Moon and B. Javidi, “Three-dimensional speckle-noise reduction by using coherent integral imaging,” Opt. Lett. **34**(8), 1246–1248 (2009). [CrossRef] [PubMed]

**5. **M. J. Huang and J. K. Liou, “Retrieving ESPI map of discontinuous objects via a novel phase unwrapping algorithm,” Strain **44**(3), 239–247 (2008). [CrossRef]

**6. **E. H. Kim, J. Hahn, H. Kim, and B. Lee, “Profilometry without phase unwrapping using multi-frequency and four-step phase-shift sinusoidal fringe projection,” Opt. Express **17**(10), 7818–7830 (2009). [CrossRef] [PubMed]

**7. **W. H. Su, K. Shi, Z. Liu, B. Wang, K. Reichard, and S. Yin, “A large-depth-of-field projected fringe profilometry using supercontinuum light illumination,” Opt. Express **13**(3), 1025–1032 (2005). [CrossRef] [PubMed]

**8. **P. Potuluri, M. Fetterman, and D. Brady, “High depth of field microscopic imaging using an interferometric camera,” Opt. Express **8**(11), 624–630 (2001). [CrossRef] [PubMed]

**9. **H. O. Saldner and J. M. Huntley, “Temporal phase unwrapping: application to surface profiling of discontinuous objects,” Appl. Opt. **36**(13), 2770–2775 (1997). [CrossRef] [PubMed]

**10. **A. Wada, M. Kato, and Y. Ishii, “Large step-height measurements using multiple-wavelength holographic interferometry with tunable laser diodes,” J. Opt. Soc. Am. A **25**(12), 3013–3020 (2008). [CrossRef]

**11. **R. Yamaki and A. Hirose, “Singularity-Spreading Phase Unwrapping,” IEEE Trans. Geosci. Rem. Sens. **45**(10), 3240–3251 (2007). [CrossRef]

**12. **H. A. Aebischery and S. Waldner, “A simple and effective method for filtering speckle-interferometric phase fringe patterns,” Opt. Commun. **162**(4–6), 205–210 (1999). [CrossRef]

**13. **J. M. Huntley and H. Saldner, “Temporal phase-unwrapping algorithm for automated interferogram analysis,” Appl. Opt. **32**(17), 3047–3052 (1993). [CrossRef] [PubMed]

**14. **D. S. Mehta, S. K. Dubey, M. M. Hossain, and C. Shakher, “Simple multifrequency and phase-shifting fringe-projection system based on two-wavelength lateral shearing interferometry for three-dimensional profilometry,” Appl. Opt. **44**(35), 7515–7521 (2005). [CrossRef] [PubMed]

**15. **S. Zhang, X. L. Li, and S. T. Yau, “Multilevel quality-guided phase unwrapping algorithm for real-time three-dimensional shape reconstruction,” Appl. Opt. **46**(1), 50–57 (2007). [CrossRef]

**16. **W. W. Macy Jr., “Two-dimensional fringe-pattern analysis,” Appl. Opt. **22**(23), 3898–3901 (1983). [CrossRef] [PubMed]

**17. **D. C. Ghiglia, G. Mastin, and L. A. Romero, “Cellular-automata method for phase unwrapping,” J. Opt. Soc. Am. A **4**(1), 267–280 (1987). [CrossRef]

**18. **A. Spik and D. W. Robinson, “Investigation of the cellular automata method for phase unwrapping and its implementation on an array processor,” Opt. Lasers Eng. **14**(1), 25–37 (1991). [CrossRef]

**19. **H. Y. Chang, C. W. Chen, C. K. Lee, and C. P. Hu, “The Tapestry Cellular Automata phase unwrapping algorithm for interferogram analysis,” Opt. Lasers Eng. **30**(6), 487–502 (1998). [CrossRef]

**20. **B. Marendic, Y. Yang, and H. Stark, “Phase unwrapping using an extrapolation-projection algorithm,” J. Opt. Soc. Am. A **23**(8), 1846–1855 (2006). [CrossRef]

**21. **S. Yuqing, “Robust phase unwrapping by spinning iteration,” Opt. Express **15**(13), 8059–8064 (2007). [CrossRef] [PubMed]

**22. **O. S. Dalmau-Cedeño, M. Rivera, and R. Legarda-Saenz, “Fast phase recovery from a single closed-fringe pattern,” J. Opt. Soc. Am. A **25**(6), 1361–1370 (2008). [CrossRef]

**23. **A. Hooper and H. A. Zebker, “Phase unwrapping in three dimensions with application to InSAR time series,” J. Opt. Soc. Am. A **24**(9), 2737–2747 (2007). [CrossRef]

**24. **K. Liu, Y. C. Wang, D. L. Lau, Q. Hao, and L. G. Hassebrook, “Dual-frequency pattern scheme for high-speed 3-D shape measurement,” Opt. Express **18**(5), 5229–5244 (2010). [CrossRef] [PubMed]

**25. **A. Capanni, L. Pezzati, D. Bertani, M. Cetica, and F. Francini, “Phase-shifting speckle interferometry: a noise reduction filter for phase unwrapping,” Opt. Eng. **36**(9), 2466–2472 (1997). [CrossRef]

**26. **J. M. Huntley, “Noise-immune phase unwrapping algorithm,” Appl. Opt. **28**(16), 3268–3270 (1989). [CrossRef] [PubMed]