Ordered Line Integral Methods for Solving the Eikonal Equation

  • Samuel F. PotterEmail author
  • Maria K. Cameron


We present a family of fast and accurate Dijkstra-like solvers for the eikonal equation and factored eikonal equation which compute solutions on a regular grid by solving local variational minimization problems. Our methods converge linearly but compute significantly more accurate solutions than competing first order methods. In 3D, we present two different families of algorithms which significantly reduce the number of FLOPs needed to obtain an accurate solution to the eikonal equation. One method employs a fast search using local characteristic directions to prune unnecessary updates, and the other uses the theory of constrained optimization to achieve the same end. The proposed solvers are more efficient than the standard fast marching method in terms of the relationship between error and CPU time. We also modify our method for use with the additively factored eikonal equation, which can be solved locally around point sources to maintain linear convergence. We conduct extensive numerical simulations and provide theoretical justification for our approach. A library that implements the proposed solvers is available on GitHub.


Ordered line integral method Eikonal equation Factored eikonal equation Simplified midpoint rule Semi-Lagrangian method Fast marching method 

Mathematics Subject Classification

65N99 65Y20 49M99 



We thank Prof. A. Vladimirsky for valuable discussions during the course of this project.

Supplementary material


  1. 1.
    Alexandrescu, A.: Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley, Boston (2001)Google Scholar
  2. 2.
    Arndt, J.: Matters Computational: Ideas, Algorithms, Source Code. Springer, Berlin (2010)zbMATHGoogle Scholar
  3. 3.
    Bertsekas, D.P.: Network Optimization: Continuous and Discrete Models. Princeton, Citeseer (1998)zbMATHGoogle Scholar
  4. 4.
    Bertsekas, D.P.: Nonlinear Programming. Athena Scientific, Belmont (1999)zbMATHGoogle Scholar
  5. 5.
    Bornemann, F., Rasch, C.: Finite-element discretization of static Hamilton–Jacobi equations based on a local variational principle. Comput. Vis. Sci. 9(2), 57–69 (2006)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Bronstein, A.M., Bronstein, M.M., Kimmel, R.: Numerical Geometry of Non-rigid Shapes. Springer, Berlin (2008)zbMATHGoogle Scholar
  7. 7.
    Chacon, A., Vladimirsky, A.: Fast two-scale methods for eikonal equations. SIAM J. Sci. Comput. 34(2), A547–A578 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Chacon, A., Vladimirsky, A.: A parallel two-scale method for eikonal equations. SIAM J. Sci. Comput. 37(1), A156–A180 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Chopp, D.L.: Some Improvements of the Fast Marching Method. SIAM J. Sci. Comput. 23(1), 230–244 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Crandall, M.G., Lions, P.-L.: Viscosity solutions of Hamilton–Jacobi equations. Trans. Am. Math. Soc. 277(1), 1–42 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Dahiya, D., Cameron, M.: An ordered line integral method for computing the quasi-potential in the case of variable anisotropic diffusion (2018). arXiv preprint arXiv:1806.05321
  12. 12.
    Dahiya, D., Cameron, M.: Ordered line integral methods for computing the quasi-potential. J. Sci. Comput. 75(3), 1351–1384 (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Dial, R.B.: Algorithm 360: shortest-path forest with topological ordering. Commun. ACM 12(11), 632–633 (1969)CrossRefGoogle Scholar
  14. 14.
    Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer Math 1(1), 269–271 (1959)MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Durou, J.-D., Falcone, M., Sagona, M.: Numerical methods for shape-from-shading: a new survey with benchmarks. Comput. Vis. Image Underst. 109(1), 22–43 (2008)CrossRefGoogle Scholar
  16. 16.
    Engquist, B., Runborg, O.: Computational high frequency wave propagation. Acta Numer. 12, 181–266 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Fomel, S., Luo, S., Zhao, H.: Fast sweeping method for the factored eikonal equation. J. Comput. Phys. 228(17), 6440–6455 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    Fomel, S., Sethian, J.A.: Fast-phase space computation of multiple arrivals. Proc. Natl. Acad. Sci. 99(11), 7329–7334 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Gómez, J.V., Alvarez, D., Garrido, S., Moreno, L.: Fast methods for eikonal equations: an experimental survey. IEEE Access (2019)Google Scholar
  20. 20. Project page for libolim on GitHub
  21. 21. Link to section of libolim project page containing Python plotting scripts and instructions
  22. 22.
    Ihrke, I., Ziegler, G., Tevs, A., Theobalt, C., Magnor, M., Seidel, H.-P.: Eikonal rendering: efficient light transport in refractive objects. ACM Trans. Graph. (TOG) 26(3), 59 (2007)CrossRefGoogle Scholar
  23. 23.
    Jeong, W.-K., Whitaker, R.T.: A fast iterative method for eikonal equations. SIAM J. Sci. Comput. 30(5), 2512–2534 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  24. 24.
    Kao, C.-Y., Osher, S., Qian, J.: Legendre-transform-based fast sweeping methods for static Hamilton–Jacobi equations on triangulated meshes. J. Comput. Phys. 227(24), 10209–10225 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Kim, S.: An \(O(N)\) level set method for eikonal equations. SIAM J. Sci. Comput. 22(6), 2178–2193 (2001)CrossRefMathSciNetzbMATHGoogle Scholar
  26. 26.
    Kim, S.: 3-D eikonal solvers: first-arrival traveltimes. Geophysics 67(4), 1225–1231 (2002)CrossRefGoogle Scholar
  27. 27.
    Kimmel, R., Sethian, J.A.: Computing geodesic paths on manifolds. Proc. Natl. Acad. Sci. 95(15), 8431–8435 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  28. 28.
    Kimmel, R., Sethian, J.A.: Optimal algorithm for shape from shading and path planning. J. Math. Imaging Vis. 14(3), 237–244 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Lewiner, T., Lopes, H., Vieira, A.W., Tavares, G.: Efficient implementation of marching cubes’ cases with topological guarantees. J. Graph. Tools 8(2), 1–15 (2003)CrossRefGoogle Scholar
  30. 30.
    Luo, S., Qian, J.: Fast sweeping methods for factored anisotropic eikonal equations: multiplicative and additive factors. J. Sci. Comput. 52(2), 360–382 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  31. 31.
    Luo, S., Zhao, H.: Convergence analysis of the fast sweeping method for static convex Hamilton–Jacobi equations. Res. Math. Sci. 3(1), 35 (2016)MathSciNetzbMATHCrossRefGoogle Scholar
  32. 32.
    Mirebeau, J.-M.: Anisotropic fast-marching on cartesian grids using lattice basis reduction. SIAM J. Numer. Anal. 52(4), 1573–1599 (2014)MathSciNetzbMATHCrossRefGoogle Scholar
  33. 33.
    Mirebeau, J.-M.: Efficient fast marching with Finsler metrics. Numer. Math. 126(3), 515–557 (2014)MathSciNetzbMATHCrossRefGoogle Scholar
  34. 34.
    Mitchell, J.S.B., Mount, D.M., Papadimitriou, C.H.: The discrete geodesic problem. SIAM J. Comput. 16(4), 647–668 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  35. 35.
    Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: ACM Sigplan Notices, pp. 89–100. ACM (2007)Google Scholar
  36. 36.
    Nocedal, J., Wright, S.: Numerical Optimization. Springer, Berlin (2006)zbMATHGoogle Scholar
  37. 37.
    Osher, S., Fedkiw, R.: Level Set Methods and Dynamic Implicit Surfaces, vol. 153. Springer, Berlin (2006)zbMATHGoogle Scholar
  38. 38.
    Popovici, A.M., Sethian, J.A.: 3-D imaging using higher order fast marching traveltimes. Geophysics 67(2), 604–609 (2002)CrossRefGoogle Scholar
  39. 39.
    Potter, S.F.: Author’s personal webpage
  40. 40.
    Potter, S.F., Cameron, M.K.: Supplemental numerical experiments in 2D for the original Marmousi model
  41. 41.
    Prados, E., Faugeras, O.: Shape from shading. In: Handbook of Mathematical Models in Computer Vision, pp. 375–388. Springer (2006)Google Scholar
  42. 42.
    Prislan, R., Veble, G., Svenšek, D.: Ray-trace modeling of acoustic Green’s function based on the semiclassical (eikonal) approximation. J. Acoust. Soc. Am. 140(4), 2695–2702 (2016)CrossRefGoogle Scholar
  43. 43.
    Qi, D., Vladimirsky A.: Corner cases, singularities, and dynamic factoring (2018). arXiv preprint arXiv:1801.04322
  44. 44.
    Raghuvanshi, N., Snyder, J.: Parametric wave field coding for precomputed sound propagation. ACM Trans. Graph. (TOG) 33(4), 38 (2014)CrossRefGoogle Scholar
  45. 45.
    Raghuvanshi, N., Snyder, J.: Parametric directional coding for precomputed sound propagation. ACM Trans. Graph. (TOG) 37(4), 108 (2018)CrossRefGoogle Scholar
  46. 46.
    Sedgewick, R., Wayne, K.: Algorithms. Addison-Wesley Professional, Reading (2011)zbMATHGoogle Scholar
  47. 47.
    Sethian, J.A.: A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. 93(4), 1591–1595 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  48. 48.
    Sethian, J.A.: Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science, vol. 3. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  49. 49.
    Sethian, J.A., Popovici, A.M.: 3-D traveltime computation using the fast marching method. Geophysics 64(2), 516–523 (1999)CrossRefGoogle Scholar
  50. 50.
    Sethian, J.A., Vladimirsky, A.: Fast methods for the Eikonal and related Hamilton–Jacobi equations on unstructured meshes. Proc. Natl. Acad. Sci. 97(11), 5699–5703 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  51. 51.
    Sethian, J.A., Vladimirsky, A.: Ordered upwind methods for static Hamilton–Jacobi equations: theory and algorithms. SIAM J. Numer. Anal. 41(1), 325–363 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  52. 52.
    Slotnick, M.: Lessons in seismic computing. Soc. Expl. Geophys, p. 268 (1959)Google Scholar
  53. 53.
    Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis, vol. 12. Springer, Berlin (2013)zbMATHGoogle Scholar
  54. 54.
    Stroustrup, B.: The C++ Programming Language. Pearson Education, London (2013)zbMATHGoogle Scholar
  55. 55.
    Treister, E., Haber, E.: A fast marching algorithm for the factored eikonal equation. J. Comput. Phys. 324, 210–225 (2016)MathSciNetzbMATHCrossRefGoogle Scholar
  56. 56.
    Tsai, Y.-H.R., Cheng, L.-T., Osher, S., Zhao, H.-K.: Fast sweeping algorithms for a class of Hamilton–Jacobi equations. SIAM J. Numer. Anal. 41(2), 673–694 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  57. 57.
    Tsitsiklis, J.N.: Efficient algorithms for globally optimal trajectories. IEEE Trans. Autom. Control 40(9), 1528–1538 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  58. 58.
    Van der Walt, S., Schönberger, J.L., Nunez-Iglesias, J., Boulogne, F., Warner, J.D., Yager, N., Gouillart, E., Yu, T.: scikit-image: image processing in python. PeerJ 2, 453 (2014)CrossRefGoogle Scholar
  59. 59.
    Van Trier, J., Symes, W.W.: Upwind finite-difference calculation of traveltimes. Geophysics 56(6), 812–821 (1991)CrossRefGoogle Scholar
  60. 60.
    Versteeg, R.: The marmousi experience: velocity model determination on a synthetic complex data set. Lead. Edge 13(9), 927–936 (1994)CrossRefGoogle Scholar
  61. 61.
    Vidale, J.E.: Finite-difference calculation of traveltimes in three dimensions. Geophysics 55(5), 521–526 (1990)CrossRefGoogle Scholar
  62. 62.
    Yang, S., Potter, S.F., Cameron, M.K.: Computing the quasipotential for nongradient SDEs in 3D. J. Comput. Phys. 379, 325–350 (2019)MathSciNetCrossRefGoogle Scholar
  63. 63.
    Yatziv, L., Bartesaghi, A., Sapiro, G.: \(O(N)\) implementation of the fast marching algorithm. J. Comput. Phys. 212(2), 393–399 (2006)CrossRefzbMATHGoogle Scholar
  64. 64.
    Zhang, Y.-T., Zhao, H.-K., Qian, J.: High order fast sweeping methods for static Hamilton–Jacobi equations. J. Sci. Comput. 29(1), 25–56 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  65. 65.
    Zhao, H.-K.: A fast sweeping method for eikonal equations. Math. Comput. 74(250), 603–627 (2005)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of MarylandCollege ParkUSA
  2. 2.Department of MathematicsUniversity of MarylandCollege ParkUSA

Personalised recommendations