PCA-based framework
Framework of the study
Outcomes and Learning Objectives
For this research undergraduate project, we have modified the original MATLAB code for the PCA-based algorithm [2], which was designed for macroscopic interferometry, to be used in in-line digital holographic microscopy system. Our results reveal that the minimum number of phase-shifted interferograms required for the PCA-based algorithm is 3. Furthermore, accurate reconstructed phase maps (i.e., MSE value < 0.001) can only be achieved for specific combinations of phase steps. Out of the 100,000 possibilities tested, only 2,260 phase-step combinations resulted in accurate estimated phase maps, indicating a success rate of 2.26% when using 3 interferograms. The highest success rate achieved was 2.97% when using 9 interferograms. These results suggest that the PCA-based method is not deterministic, and the quality of the reconstructed phase image is highly dependent on the chosen phase steps. In addition, the PCA algorithm is not suitable for noisy interferograms with a SNR value lower than 20 dB. However, if the SNR value is equal to or higher than 20 dB, the algorithm exhibits robustness, providing accurate phase maps independently of the number of phase-shifted images. This indicates that the PCA-based algorithm is resilient to moderate noise, but its performance is highly dependent on the chosen phase steps.
The learning objectives of this research undergraduate project were:
1. Understand the generation of inline holograms.
2. Understand the PCA algorithm created by Vargas et al. and modify it for inline DHM holograms.
3. Analyze the performance of the PCA algorithm for a different number of phase-shifted holograms.
4. Generate noisy inline holograms by using MATLAB built-in functions.
5. Analyze the performance of the PCA algorithm for different noisy conditions.
6. Assess the accuracy and robustness of the PCA algorithm.
[1] J. Vargas, J. Antonio Quiroga, and T. Belenguer, “Phase-shifting interferometry based on principal component analysis," Opt. Letters 36, 1326–1328 (2011).
[2] Original codes written by Vargas et al., https://drive.google.com/file/d/0B_agtNXaoRd6OTY5YTdhZDQtOWJlZi00NTQ2LWFhNzktZDM0OGU3NDg5OTAx/view?sort=name&layout=list&num=50&pli=1&resourcekey=0-0oGv8utqCqwelaUBDjdpcw
[3] Codes were developed in Matlab R2023a. Natick, Massachusetts: The MathWorks Inc.