In this study, we report an effective k-domain linearization method with a pre-calibrated indexed look-up table. The method minimizes k-domain nonlinear characteristics of a swept source optical coherence tomography (SS-OCT) system by using two arrays, a sample position shift index and an intensity compensation array. Two arrays are generated from an interference pattern acquired by connecting a Fabry-Perot interferometer (FPI) and an optical spectrum analyzer (OSA) to the system. At real time imaging, the sample position is modified by location movement and intensity compensation with two arrays for linearity of wavenumber. As a result of evaluating point spread functions (PSFs), the signal to noise ratio (SNR) is increased by 9.7 dB. When applied to infrared (IR) sensing card imaging, the SNR is increased by 1.29 dB and the contrast noise ratio (CNR) value is increased by 1.44. The time required for the linearization and intensity compensation is 30 ms for a multi thread method using a central processing unit (CPU) compared to 0.8 ms for compute unified device architecture (CUDA) processing using a graphics processing unit (GPU). We verified that our linearization method is appropriate for applying real time imaging of SS-OCT.
Optical coherence tomography (OCT) is a non-invasive and non-contact technology that can show a biological imaging section with a high resolution of 1~15 μm [1-2]. OCT is classified into time domain (TD) and frequency domain (FD)-OCT according to the structure of the reference arm optics. And the FD-OCT is classified into swept source (SS) and spectral domain (SD)-OCT according to the output characteristics of the light source and the structure of light receiving components [3]. FD-OCT has inevitable nonlinearity in the
In the FD-OCT system using the inverse Fourier transform relationship of the interference pattern, the nonlinearity to the
In this study, we used two arrays in the software for compensating nonlinearity from the swept light source. One array is the sample position shift index that contains information for k-linearization, and the other is the intensity compensation array which compensates the residual wave-number value which is not perfectly compensated from the sample position shift index. The proposed method also utilizes a Febry-Perot interferometer (FPI) to generate the periodic information of the oscillation with linear
We analyzed the performance of the proposed method by measuring SNR and CNR values from the PSF and image of an IR sensing card. The processing times required for the
2.1. Experimental Hardware Setup
The swept source used in this study is HSL-2000 (Santec Co.) without the
2.2. Generation of k-triggering Linearization Arrays
First, we connected the FPI and the OSA to the fabricated OCT system as shown in Figure 1(b). After that, we generated a linearized wave number pattern with the same number of sample points as is acquired from the system. The measured wavenumbers corresponding to the peak locations from the output signal of the FPI are searched. The intensity signal correspond to one sweep acquired from OSA can be expressed as in Equation 1.
In this equation, λ is the wavelength and
The output signal of the FPI acquired from the photo-
detector can be expressed as in Equation 2.
Here,
Then, the low frequency component in the FPI output signal is removed by using a high pass filter, and the index is generated by detecting the peak intensity in each period. Because the index has constant interval information of wavenumber, we generated a wavenumber array by interpolation using 6th order polynomial fitting with the same number of sample points as the original.
Based on the linearized wavenumber, we searched for the closest location of wavenumber in the interpolated wavenumber array. The difference between two wavenumber locations was saved in another array. This shift array of sample points is used as a lookup table hereafter, so we can perform linearization of the wavenumber by readjusting OCT signal position without any other linearization process.
[FIG. 2.] FPI output signal intensity with sample point position of k-linearization component setup.
When we use the method of searching for the approximate wavenumber, there can be discrepancy in the intensity proportional to approximated wavenumber. So, to compensate this error, we generated an intensity compensation array that can adjust the intensity proportional to the approximate wavenumber difference. We modified the OCT intensity with the intensity compensation array when moving to the wavenumber linearization location. This intensity compensation array is generated just one time when the calibration is performed. After that, when the output image appears in a display, all locations of OCT signals and intensities are compensated by the lookup table. So, we dramatically increased the output speed because there is not an additional com-pensation algorithm for each OCT A-scan output.
In the FPI output signal from fabricated SS-OCT system, the index peak corresponding to every periodic peak signal is generated by using a peak detection algorithm, and detected indices are the minimum and maximum locations of the peaks. The number of detected index is 396 and the result is shown in the figure 3(a). After that, we determined
the variation of wavenumber Δ
The sample position shift index is generated to provide information of the amount of the shift to the most appro-ximate linearized wavenumber by comparing the acquired wavenumber array and the computed linearized wavenumber array. If the number being searched for between two wavenumber values is equal or less than the corresponding linearized wavenumber value, the closest measured wave-number value is selected in our method. The generated sample position shift index is shown in figure 4(a) and the maximum sample point is 232 points. The shifted and
linearized values with only sample position shift index are shown in figure 3(b) as a red line. This result shows that it is inevitable that there is difference between measured and linearized wavenumber when we find the approximate wavenumber. So the nonlinearity remains to a certain level. In the case of using the hardware trigger, there is also some nonlinearity because of electrical noise and variable frequency fluctuation.
We generated the intensity compensation array wavenumber to compensate residual nonlinearity. Difference from approxi-mation is calculated in the entire sweeping region when a sample position shift index is generated. So it is not necessary to recalculate in the OCT imaging program. If we divide the difference from approximation to the difference between current and next sample point position, we can calculate the mismatch of wavenumber as less than unity. In the OCT imaging software, if we multiply the acquired interference signal by the calculated intensity difference and the intensity compensation array, the mismatched wave-number value is compensated. The generated intensity com-pensation array is shown in figure 4(b). The two arrays are generated by using Matlab 2009b (The Mathworks. Inc.) and the flowchart of the array generation program is shown in figure 5.
We verified performance enhancement with the generated sample position shift index and intensity compensation array by evaluating PSF and SNR in each A-scan, and SNR and CNR in the B-scan image of the IR sensing card.
The PSF is acquired from the interference pattern by moving the mirror with a step of 500 μm in the sample arm of the fabricated SS-OCT, and SNR is calculated at each movement position with and without the intensity compensation array. The image of IR sensing card is obtained at optical path length difference of 2.5 and 6.0 mm, and from that, we calculated the SNR and CNR value with and without the intensity compensation array.
Finally, we measured the processing time with the two arrays to the OCT software in two cases when the main processor of program is CPU and GPU. The program is coded with the C++, four multi-threads are used for data acquisition, signal processing, imaging and image saving. In the case of using GPU as a main processor, we only used GPU for signal processing in the multi-thread structure.
III. EXPERIMENTAL RESULTS AND DISCUSSION
Figure 6 shows linearized results for A-scan signal at 2.5 mm depth and the difference among the PSFs at variable depth. The A-scan signal of a mirror in 2.5 mm depth is shown in the figure 6(a), (c) and measured PSFs from 0.5 to 6 mm depth as a step of 0.5 mm are shown in figure 6(b), (d). Figure 6(a) and (b) are only applied to sample position shift index, and figure 6(c) and (d) are applied to both sample position shift index and intensity compensation array. In the cases using only sample position shift index like figure 6(a) and (c), they showed better noise characteristics at 2.5 mm depth than others. Especially, in the case of figure 6(b) and (d), the noise level was dramatically increased in the PSF when the depth is deeper than 4 mm. In the case of using only sample position shift index, it showed maximum SNR of 55.39 dB in PSF shown in figure (6). And in the case of using both the sample position shift index and intensity compensation array, it showed maximum SNR of 61.08 dB. There was a performance enhancement from 1.76 to 9.7 dB in measured SNR at each depth. It means that the compensation of nonlinearity can show more effective result in the deeper region.
We measured the IR sensing card at optical path length difference of 2.5 and 6.0 mm to recognize the difference at the output image. To exclude the effect of lens focal length at the sample arm, we just modified the optical
path length of the reference arm and the result is shown in figure 7. Figure 7(a), (b), (c) are images of IR sensing card at optical path length difference of 2.5 mm, and figure 7(d), (e), (f) are at the 6.0 mm,. Figure 7(a), (d) are only applied to sample position shift index, and figure 7(b), (e) are applied to both the index and the array. The image size of IR sensing card is 512×431 pixels at 2.5 mm difference, and 300×451 pixels at 6.0 mm. At this time, the number of sample points is 5000. Figure 7(c) and (f) are the A-scan results correspond to 256 line number in each image. At marked area in figure 7(a) and (b), the CNR values are 4.54 and 4.63 which are increased by 0.09, respectively. Also, the SNR was increased from 32.27 to 32.73 dB by 0.04 as shown in figure 7(c). It is just small enhancement, but noise is decreased about whole image of IR sensing card. And the signal to background noise is stable in overall image. In the result at optical path length difference of 6.0 mm, there was an enhance-ment of 1.44 than the case of using the index only. Also, the SNR was increased by 1.29 dB in the 256 line number as shown in figure 7(f). Especially, like the result of the IR sensing card image at optical path length of 6.0 mm, the optical path length shows certain difference. So, the SNR was much decreased by 27 dB. But in the case which is applied to both the index and array, the CNR value was maintained as the level of 4.67. The theoretical/ measured axial resolutions are calculated to be 4.96 μm and 7 μm, respectively. The dispersion is not further compensated in these values.
We measured the time required for imaging output software of fabricated SS-OCT when we use the main processing unit as CPU and GPU, and the result is shown in figure 8. The data size for the measurement is 5000 (FFT size)*300(A-scan). The structure of signal processing using GPU is shown at figure 8(a). We designed so that all threads except for acquiring data and displaying the output images are processed at GPU. When we use CPU as a main processor, the working threads corresponding to GPU are realized by multi-threads based on CPU. In this case, the time required for data acquisition is 47 ms, which is able to realize real-time imaging. The measured time is shown in figure 8(b) and the application of GPU can overall enhance the whole system performance. The entire time required for our linearization method of
The proposed linearization method using two arrays in
We could confirm that just moving the sample point position and applying an intensity compensation array can compensate imprecision in wavenumber value. The perfor-mance is analyzed in aspects of SNR and CNR results. And the effect is increased as optical path length increases. This fact is more useful for the industry applications that needs inside information such as a structure or a volume surrounded with transparent materials, not just OCT appli-cation for biological tissues whose sizes are below 2 mm. Also, in the case of using an Axicon lens that can maintain the field of depth until a far distance without change of beam profile, the proposed method can be applicable for compensation of wavenumber mismatch.
Based on our result, over 10 frames/s by CPU processing and 100 frames/s by GPU processing are realized for real-time imaging. Our linearization method is applicable to compensate unstable
The proposed method is effective and powerful because it uses only two index arrays and they can compensate complex nonlinearity due to external generation of the array. And it is also suitable for real-time imaging due to its short processing time using any processor, CPU or GPU.