Journal of Scientific Computing

, Volume 35, Issue 2–3, pp 300–329 | Cite as

The Flexible, Extensible and Efficient Toolbox of Level Set Methods

  • Ian M. Mitchell


Level set methods are a popular and powerful class of numerical algorithms for dynamic implicit surfaces and solution of Hamilton-Jacobi PDEs. While the advanced level set schemes combine both efficiency and accuracy, their implementation complexity makes it difficult for the community to reproduce new results and make quantitative comparisons between methods. This paper describes the Toolbox of Level Set Methods, a collection of Matlab routines implementing the basic level set algorithms on fixed Cartesian grids for rectangular domains in arbitrary dimension. The Toolbox’s code and interface are designed to permit flexible combinations of different schemes and PDE forms, allow easy extension through the addition of new algorithms, and achieve efficient execution despite the fact that the code is entirely written as m-files. The current contents of the Toolbox and some coding patterns important to achieving its flexibility, extensibility and efficiency are briefly explained, as is the process of adding two new algorithms. Code for both the Toolbox and the new algorithms is available from the Web.


Numerical software Level set methods Hamilton-Jacobi equations Dynamic implicit surfaces Reproducible research 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adalsteinsson, D., Sethian, J.A.: The fast construction of extension velocities in level set methods. J. Comput. Phys. 148, 2–22 (1999) zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Barles, G., Souganidis, P.E.: Convergence of approximation schemes for fully nonlinear second order equations. Asymptot. Anal. 4(3), 271–283 (1991) zbMATHMathSciNetGoogle Scholar
  3. 3.
    Cardaliaguet, P., Quincampoix, M., Saint-Pierre, P.: Set-valued numerical analysis for optimal control and differential games. In: Bardi, M., Raghavan, T.E.S., Parthasarathy, T. (eds.) Stochastic and Differential Games: Theory and Numerical Methods. Annals of International Society of Dynamic Games, vol. 4, pp. 177–247. Birkhäuser, Basel (1999) Google Scholar
  4. 4.
    Chopp, D.: Computing minimal surfaces via level set curvature flow. J. Comput. Phys. 106, 77–91 (1993) zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Chu, K.T., Prodanovic, M.: Level set method library (LSMLIB). [Online]. Available:
  6. 6.
    Crandall, M.G., Lions, P.-L.: Viscosity solutions of Hamilton-Jacobi equations. Trans. Am. Math. Soc. 277(1), 1–42 (1983) zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Crandall, M.G., Lions, P.-L.: Two approximations of solutions of Hamilton-Jacobi equations. Math. Comput. 43(167), 1–19 (1984) zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Crandall, M.G., Ishii, H., Lions, P.-L.: User’s guide to viscosity solutions of second order partial differential equations. Bull. Am. Math. Soc. 27(1), 1–67 (1992) zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    [Online]. Available:
  10. 10.
    Fedkiw, R., Aslam, T., Merriman, B., Osher, S.: A non-oscillatory Eulerian approach to interfaces in multimaterial flows (the ghost fluid method). J. Comput. Phys. 152, 457–492 (1999) zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Jiang, G.-S., Peng, D.: Weighted ENO schemes for Hamilton-Jacobi equations. SIAM J. Sci. Comput. 21, 2126–2143 (2000) zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    J. Sci. Comput. 19 (1–3) (2003) Google Scholar
  13. 13.
    Kao, C.-Y., Osher, S., Qian, J.: Lax-Friedrichs sweeping schemes for static Hamilton-Jacobi equations. J. Comput. Phys. 196, 367–391 (2004) zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Kloeden, P.E., Platen, E.: Numerical Solution of Stochastic Differential Equations, 3rd edn. Applications of Mathematics. Springer, New York (1999) Google Scholar
  15. 15.
    Kurzhanski, A.B., Mitchell, I.M., Varaiya, P.: Control synthesis for state constrained systems and obstacle problems. In: Proceedings of the IFAC Workshop on Nonlinear Control (NOLCOS). Vienna, Austria (2004) Google Scholar
  16. 16.
    Mallet, V.: Multivac C++ library. [Online]. Available:
  17. 17.
  18. 18.
    Mitchell, I.M.: A toolbox of level set methods (version 1.1). Department of Computer Science, University of British Columbia, Vancouver, BC, Canada, Tech. Rep. TR-2007-11, June 2007. [Online]. Available:
  19. 19.
    Mitchell, I.M., Templeton, J.A.: A toolbox of Hamilton-Jacobi solvers for analysis of nondeterministic continuous and hybrid systems. In: Morari, M., Thiele, L. (eds.) Hybrid Systems: Computation and Control. Lecture Notes in Computer Science, vol. 3414, pp. 480–494. Springer, New York (2005) Google Scholar
  20. 20.
    Mitchell, I., Tomlin, C.: Level set methods for computation in hybrid systems. In: Krogh, B., Lynch, N. (eds.) Hybrid Systems: Computation and Control. Lecture Notes in Computer Science, vol. 1790, pp. 310–323. Springer, New York (2000) CrossRefGoogle Scholar
  21. 21.
    Mitchell, I.M., Bayen, A.M., Tomlin, C.J.: A time-dependent Hamilton-Jacobi formulation of reachable sets for continuous dynamic games. IEEE Trans. Autom. Control 50(7), 947–957 (2005) CrossRefMathSciNetGoogle Scholar
  22. 22.
    Oberman, A.: A convergent upwind difference scheme for motion of level sets by mean curvature. Numer. Math. 99(2), 365–379 (2004) zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Oberman, A.: Convergent difference schemes for degenerate elliptic and parabolic equations: Hamilton-Jacobi equations and free boundary problems. SIAM J. Numer. Anal. 44(2), 879–895 (2006) zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Øksendal, B.: Stochastic Differential Equations: An Introduction with Applications, 6th edn. Springer, New York (2003) Google Scholar
  25. 25.
    Osher, S.: A level set formulation for the solution of the Dirichlet problem for Hamilton-Jacobi equations. SIAM J. Math. Anal. 24(5), 1145–1152 (1993) zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Osher, S., Fedkiw, R.: Level set methods: an overview and some recent results. J. Comput. Phys. 169, 463–502 (2001) zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Osher, S., Fedkiw, R.: Level Set Methods and Dynamic Implicit Surfaces. Springer, New York (2002) Google Scholar
  28. 28.
    Osher, S., Paragios, N. (eds.): Geometric Level Set Methods in Imaging, Vision and Graphics. Springer, New York (2003) zbMATHGoogle Scholar
  29. 29.
    Osher, S., Sethian, J.A.: Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys. 79(1), 12–49 (1988) zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Osher, S., Shu, C.-W.: High-order essentially nonoscillatory schemes for Hamilton-Jacobi equations. SIAM J. Numer. Anal. 28(4), 907–922 (1991) zbMATHCrossRefMathSciNetGoogle Scholar
  31. 31.
    Peng, D., Merriman, B., Osher, S., Zhao, H., Kang, M.: A PDE based fast local level set method. J. Comput. Phys. 165, 410–438 (1999) CrossRefMathSciNetGoogle Scholar
  32. 32.
    Peyré, G.: Toolbox fast marching. [Online]. Available:
  33. 33.
    Russo, G., Smereka, P.: A remark on computing distance functions. J. Comput. Phys. 163, 51–67 (2000) zbMATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    Sethian, J.A.: Level Set Methods and Fast Marching Methods. Cambridge University Press, New York (1999) zbMATHGoogle Scholar
  35. 35.
    Sethian, J.A.: Evolution, implementation, and application of level set and fast marching methods for advancing fronts. J. Comput. Phys. 169, 503–555 (2001) zbMATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    Shu, C.-W., Osher, S.: Efficient implementation of essentially non-oscillatory shock-capturing schemes. J. Comput. Phys. 77, 439–471 (1988) zbMATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Smereka, P.: Spiral crystal growth. Physica D 138, 282–301 (2000) zbMATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    Spiteri, R.J., Ruuth, S.J.: A new class of optimal high-order strong-stability-preserving time discretization methods. SIAM J. Numer. Anal. 40(2), 469–491 (2002) zbMATHCrossRefMathSciNetGoogle Scholar
  39. 39.
    Sumengen, B.: A Matlab toolbox implementing level set methods. [Online]. Available:
  40. 40.
    Sussman, M., Smereka, P., Osher, S.: An improved level set method for incompressible two-phase flow. J. Comput. Phys. 114, 145–159 (1994) CrossRefGoogle Scholar
  41. 41.
    Takei, R.: Modern theory of numerical methods for motion by mean curvature. Master’s thesis, Department of Mathematics, Simon Fraser University (August 2007) Google Scholar
  42. 42.
    Zalesak, S.T.: Fully multidimensional flux-corrected transport algorithms for fluids. J. Comput. Phys. 31(3), 335–362 (1979) zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of British ColumbiaVancouverCanada

Personalised recommendations