Skip to main content
Log in

Parallel algorithm for fringe pattern demodulation

  • Original Research Paper
  • Published:
Journal of Real-Time Image Processing Aims and scope Submit manuscript

Abstract

In this paper, we present a parallel implementation of a fixed-point algorithm for finding the solution of the total variation model for phase demodulation. The total variation model is efficient in estimating discontinuous phase maps, background illumination, and amplitude modulation from a single fringe pattern. The implementations include execution in a multi-core CPU and a GPU using OpenMP and CUDA, respectively. We show performance comparisons of the parallel implementations with 64-bit and 32-bit precision floating-point numbers using synthetic and real experimental data. Results show that our parallel implementations achieve speedups over the serial implementation of 9x for multi-core CPU and 103x for GPU.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Ayubi, G.A., Duarte, I., Perciante, C.D., Flores, J.L., Ferrari, J.A.: Phase-step retrieval for tunable phase-shifting algorithms. Opt. Commun. 405(June), 334–342 (2017). https://doi.org/10.1016/j.optcom.2017.08.045

    Article  Google Scholar 

  2. Brito-Loeza, C., Legarda-Saenz, R., Espinosa-Romero, A., Martin-Gonzalez, A.: A mean curvature regularized based model for demodulating phase maps from fringe patterns. Commun. Comput. Phys. 24(1), 27–43 (2018). https://doi.org/10.4208/cicp.OA-2017-0109

    Article  MathSciNet  MATH  Google Scholar 

  3. Brito-Loeza, C., Legarda-Saenz, R., Martin-Gonzalez, A.: A fast algorithm for a total variation based phase demodulation model. Numer. Methods Partial Differ. Equ. 36(3), 617–636 (2020)

    Article  MathSciNet  Google Scholar 

  4. Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming, vol. 10. MIT Press, Cambridge (2008)

    Google Scholar 

  5. Cheng, J., Grossman, M., McKercher, T.: Professional CUDA C Programming. Wiley, Indianapolis, Indiana (2014). https://www.books.google.com.mx/books?id_Z7rnAEACAAJ

    Google Scholar 

  6. Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco, CA (2012)

    Google Scholar 

  7. Demmel, J.W.: Applied Numerical Linear Algebra. Society for Industrial and Applied Mathematics, Philadelphia, PA (1997)

    Book  Google Scholar 

  8. Flores, V.H., Reyes-Figueroa, A., Carrillo-Delgado, C., Rivera, M.: Two-step phase shifting algorithms: where are we? Opt. Laser Technol. 126(January), 106105 (2020). https://doi.org/10.1016/j.optlastec.2020.106105

    Article  Google Scholar 

  9. Galvan, C., Rivera, M.: Second-order robust regularization cost function for detecting and reconstructing phase discontinuities. Appl. Opt. 45(2), 353–359 (2006). https://doi.org/10.1364/AO.45.000353

    Article  Google Scholar 

  10. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. (CSUR) 23(1), 5–48 (1991)

    Article  Google Scholar 

  11. Hwu, W.M., Keutzer, K., Mattson, T.G.: The concurrency challenge. IEEE Des. Test. Comput. 25(4), 312–320 (2008). https://doi.org/10.1109/MDT.2008.110

    Article  Google Scholar 

  12. Itseez: OpenCV. Website (2020). http://opencv.org//. Accessed 24 Sept 2020

  13. Karpinsky, N., Zhang, S.: High-resolution, real-time 3d imaging with fringe analysis. J. Real Time Image Process. 7(1), 55–66 (2012)

    Article  Google Scholar 

  14. Kirk, D.B., Wen-Mei, W.H.: Programming Massively Parallel Processors: A Hands-on Approach (Applications of GPU Computing Series), 1st edn. Morgan Kaufmann, Burlington, MA, USA (2010)

  15. Kulkarni, R., Rastogi, P.: Two-step phase demodulation algorithm based on quadratic phase parameter estimation using state space analysis. Opt. Lasers Eng. 110(April), 41–46 (2018). https://doi.org/10.1016/j.optlaseng.2018.05.012

    Article  Google Scholar 

  16. Legarda-Saenz, R., Brito-Loeza, C.: Augmented lagrangian method for a total variation-based model for demodulating phase discontinuities. J. Algorithm Comput. Technol. 14, 1–8 (2020). https://doi.org/10.1177/1748302620941413

    Article  MathSciNet  Google Scholar 

  17. Legarda-Saenz, R., Brito-Loeza, C., Espinosa-Romero, A.: Total variation regularization cost function for demodulating phase discontinuities. Appl. Opt. 53(11), 2297–2301 (2014)

    Article  Google Scholar 

  18. Legarda-Saenz, R., Osten, W., Juptner, W.P.: Improvement of the regularized phase tracking technique for the processing of nonnormalized fringe patterns. Appl. Opt. 41(26), 5519–5526 (2002). https://doi.org/10.1364/AO.41.005519

    Article  Google Scholar 

  19. Legarda-Saenz, R., Tellez Quinones, A., Brito-Loeza, C., Espinosa-Romero, A.: Variational phase recovering without phase unwrapping in phase-shifting interferometry. Int. J. Comput. Math. 96(6), 1217–1229 (2019)

    Article  MathSciNet  Google Scholar 

  20. Vese, L.A., Le Guyader, C.: Variational Methods in Image Processing, 1st edn. Chapman and Hall/CRC, Abingdon, UK (2015)

    Book  Google Scholar 

  21. Marroquin, J.L., Rivera, M., Botello, S., Rodriguez-Vera, R., Servin, M.: Regularization methods for processing fringe-pattern images. Appl. Opt. 38(5), 788–794 (1999). https://doi.org/10.1364/AO.38.000788

    Article  Google Scholar 

  22. NVIDIA Corporation: CUDA C++ Programming Guide. Website (2020). https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html. Accessed 24 Sept 2020

  23. Pacheco, P.: An Introduction to Parallel Programming, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco, CA (2011)

    Google Scholar 

  24. Perlin, M., Bustamante, M.D.: A robust quantitative comparison criterion of two signals based on the sobolev norm of their difference. J. Eng. Math. 101(1), 115–124 (2016)

    Article  MathSciNet  Google Scholar 

  25. Rajshekhar, G., Rastogi, P.: Fringe analysis: premise and perspectives. Opt. Lasers Eng. 50(8), iii–x (2012). https://doi.org/10.1016/j.optlaseng.2012.04.006

    Article  Google Scholar 

  26. Rudin, L.I., Osher, S., Fatemi, E.: Nonlinear total variation based noise removal algorithms. Phys. D 60(1–4), 259–268 (1992). https://doi.org/10.1016/0167-2789(92)90242-F

    Article  MathSciNet  MATH  Google Scholar 

  27. Rünnger, G., Rauber, T.: Parallel Programming: for Multicore and Cluster Systems, 2nd edn. Springer-Verlag, Berlin Heidelberg (2013)

    MATH  Google Scholar 

  28. Servin, M., Marroquin, J.L., Cuevas, F.J.: Fringe-follower regularized phase tracker for demodulation of closed-fringe interferograms. J. Opt. Soc. Am. A 18(3), 689–695 (2001). https://doi.org/10.1364/JOSAA.18.000689

    Article  Google Scholar 

  29. Servin, M., Padilla, M., Choque, I., Ordones, S.: Phase-stepping algorithms for synchronous demodulation of nonlinear phase-shifted fringes. Opt. Express 27(4), 5824 (2019). https://doi.org/10.1364/OE.27.005824

    Article  Google Scholar 

  30. Servin, M., Quiroga, J.A., Padilla, M.: Fringe Pattern Analysis for Optical Metrology: Theory, Algorithms, and Applications. Wiley-VCH, Weinheim (2014)

    Book  Google Scholar 

  31. Singh, M., Khare, K.: Single-shot interferogram analysis for accurate reconstruction of step phase objects. J. Opt. Soc. Am. A 34(3), 349 (2017). https://doi.org/10.1364/JOSAA.34.000349

    Article  Google Scholar 

  32. Surrel, Y.: Fringe Analysis. In: P.K. Rastogi (ed.) Photomechanics, Topics in Applied Physics, vol. 77, pp. 55–102. Springer, Berlin, Heidelberg (2000). https://doi.org/10.1007/3-540-48800-6_3

    Article  Google Scholar 

  33. Takeda, M., Ina, H., Kobayashi, S.: Fourier-transform method of fringe-pattern analysis for computer-based topography and interferometry. J. Opt. Soc. Am. 72(1), 156 (1982). https://doi.org/10.1364/JOSA.72.000156

    Article  Google Scholar 

  34. Veldhuizen, T.L.: Arrays in blitz++. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) Computing in Object-Oriented Parallel Environments, pp. 223–230. Springer, Berlin, Heidelberg (1998)

    Chapter  Google Scholar 

  35. Whitehead, N., Fit-Florea, A.: Precision & performance: Floating point and IEEE 754 compliance for NVIDIA GPUs. Technical report, rn (A+ B) 21(1), 18749–19424 (2011)

    Google Scholar 

  36. Zhu, X., Tang, C., Li, B., Sun, C., Wang, L.: Phase retrieval from single frame projection fringe pattern with variational image decomposition. Opt. Lasers Eng. 59, 25–33 (2014). https://doi.org/10.1016/j.optlaseng.2014.03.002

    Article  Google Scholar 

Download references

Acknowledgements

Authors acknowledge the support from “Laboratorio de Supercómputo del Bajío” through the Grant Number 300832 from CONACyT.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Francisco J. Hernandez-Lopez.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hernandez-Lopez, F.J., Legarda-Sáenz, R. & Brito-Loeza, C. Parallel algorithm for fringe pattern demodulation. J Real-Time Image Proc 18, 2441–2451 (2021). https://doi.org/10.1007/s11554-021-01129-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11554-021-01129-4

Keywords

Navigation