Efficient Software for Programmable Visual Analysis Using Morse-Smale Complexes

  • Nithin ShivashankarEmail author
  • Vijay Natarajan
Conference paper
Part of the Mathematics and Visualization book series (MATHVISUAL)


The Morse-Smale complex is a topological data structure that represents the behavior of the gradient of an input scalar field. Recent years have witnessed a significant number of applications that use this data structure for visualization and analysis of data from various scientific domains. However, these applications have required significant expertise in the implementation of algorithms. This potentially makes such analysis inaccessible to a large audience. In this paper we present open source software modules for the computation, analysis, and visualization of scientific data using the Morse-Smale complex. The modules, named pymstri and pyms3d, are intended for domains represented using 2D triangle meshes and 3D structured grids respectively. The software is designed to significantly reduce the effort required to use Morse-Smale complex based analysis. Also, the software leverages modern multi-core CPU and GPU architectures for computational efficiency. We demonstrate the usefulness via a case study to visually analyze and interactively segment the eye of the Hurricane Isabel simulation dataset. In particular, we highlight the ability to couple the visual analysis and the computation with ParaView, a popular general purpose visualization tool. The code is available at the project website


Combinatorial Structure Discrete Gradient Index Index Visual Analysis Tool Hierarchical Version 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This work was partially supported by the Department of Science and Technology, India, under Grant SR/S3/EECE/0086/2012 and by the Robert Bosch Centre for Cyber Physical Systems, Indian Institute of Science.


  1. 1.
    Abrahams, D., Grosse-Kunstleve, R.W.: Building hybrid systems with boost. python (2003)Google Scholar
  2. 2.
    Bauer, U., Kerber, M., Reininghaus, J.: Distributed computation of persistent homology. In: Proceedings of Algorithm Engineering and Experiments (ALENEX), pp. 31–38 (2014)Google Scholar
  3. 3.
    Bauer, U., Kerber, M., Reininghaus, J., Wagner, H.: Phat - persistent homology algorithms toolbox. In: Hong, H., Yap, C. (eds.) Mathematical Software - ICMS 2014, Lecture Notes in Computer Science, vol. 8592, pp. 137–143. Springer, Berlin (2014)Google Scholar
  4. 4.
    Blender Online Community: Blender - a 3D modelling and rendering package. Blender Foundation, Blender Institute, Amsterdam (2014)Google Scholar
  5. 5.
    Boost Python interface for NumPy (2016).
  6. 6.
    Bremer, P.T., Edelsbrunner, H., Hamann, B., Pascucci, V.: A topological hierarchy for functions on triangulated surfaces. IEEE Trans. Vis. Comput. Graph. 10(4), 385–396 (2004)CrossRefGoogle Scholar
  7. 7.
    Carr, H., Snoeyink, J., Axen, U.: Computing contour trees in all dimensions. Comput. Geom. 24(2), 75–94 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Cazals, F., Chazal, F., Lewiner, T.: Molecular shape analysis based upon the Morse-Smale complex and the Connolly function. In: Proceedings of 19th Annual ACM Symposium on Computational Geometry, pp. 351–360 (2003)Google Scholar
  9. 9.
    Doraiswamy, H., Natarajan, V.: Computing Reeb graphs as a union of contour trees. IEEE Trans. Vis. Comput. Graph. 19(2), 249–262 (2013)CrossRefGoogle Scholar
  10. 10.
    Edelsbrunner, H., Letscher, D., Zomorodian., A.: Topological persistence and simplification. Discrete Comput. Geom. 28(4), 511–533 (2002)Google Scholar
  11. 11.
    Edelsbrunner, H., Harer, J., Natarajan, V., Pascucci., V.: Morse-Smale complexes for piecewise linear 3-manifolds. In: Proceedings of 19th Annual ACM Symposium on Computational Geometry, pp. 361–370 (2003)Google Scholar
  12. 12.
    Edelsbrunner, H., Harer, J., Zomorodian., A.: Hierarchical Morse-Smale complexes for piecewise linear 2-manifolds. Discrete Comput. Geom. 30(1), 87–107 (2003)Google Scholar
  13. 13.
    Forman, R.: A user’s guide to discrete Morse theory. Séminaire Lotharingien de Combinatoire 48 (2002)Google Scholar
  14. 14.
    Günther, D., Reininghaus, J., Wagner, H., Hotz, I.: Memory efficient computation of persistent homology for 3D image data using discrete Morse theory. In Proceedings of Conference on Graphics, Patterns and Images, 24 (SIBGRAPI), pp. 25–32 (2011)Google Scholar
  15. 15.
    Günther, D., Boto, R.A., Contreras-Garcia, J., Piquemal, J.P., Tierny, J.: Characterizing molecular interactions in chemical systems. IEEE Trans. Vis. Comput. Graph. 20(12), 2476–2485 (2014)CrossRefGoogle Scholar
  16. 16.
    Günther, D., Jacobson, A., Reininghaus, J., Seidel, H.P., Sorkine-Hornung, O., Weinkauf, T.: Fast and memory-efficient topological denoising of 2D and 3D scalar fields. IEEE Trans. Vis. Comput. Graph. 20(12), 2585–2594 (2014)CrossRefGoogle Scholar
  17. 17.
    Gyulassy, A., Natarajan, V., Pascucci, V., Bremer, P.T., Hamann, B.: Topology-based simplification for feature extraction from 3D scalar fields. In: Proceedings of IEEE Visualization, pp. 535–542 (2005)Google Scholar
  18. 18.
    Gyulassy, A., Natarajan, V., Pascucci, V., Bremer, P.T., Hamann, B.: A topological approach to simplification of three-dimensional scalar fields. IEEE Trans. Vis. Comput. Graph. 12(4), 474–484 (2006)CrossRefGoogle Scholar
  19. 19.
    Gyulassy, A., Natarajan, V., Pascucci, V., Hamann, B.: Efficient computation of Morse-Smale complexes for three-dimensional scalar functions. IEEE Trans. Vis. Comput. Graph. 13(6), 1440–1447 (2007)CrossRefGoogle Scholar
  20. 20.
    Gyulassy, A., Duchaineau, M., Natarajan, V., Pascucci, V., Bringa, E., Higginbotham, A., Hamann, B.: Topologically clean distance fields. IEEE Trans. Vis. Comput. Graph. 13(6), 1432–1439 (2007)CrossRefGoogle Scholar
  21. 21.
    Gyulassy, A., Bremer, P.T., Pascucci, V., Hamann, B.: A practical approach to Morse-Smale complex computation: Scalability and generality. IEEE Trans. Vis. Comput. Graph. 14(6), 1619–1626 (2008)CrossRefGoogle Scholar
  22. 22.
    Gyulassy, A., Kotava, N., Kim, M., Hansen, C., Hagen, H., Bremer, P.T.: Direct feature visualization using Morse-Smale complexes. IEEE Trans. Vis. Comput. Graph. 18(9), 1549–1562 (2012)CrossRefGoogle Scholar
  23. 23.
    Gyulassy, A., Bremer, P., Pascucci, V.: Computing Morse-Smale complexes with accurate geometry. IEEE Trans. Vis. Comput. Graph. 18(12), 2014–2022 (2012)CrossRefGoogle Scholar
  24. 24.
    Gyulassy, A., Günther, D., Levine, J.A., Tierny, J., Pascucci, V.: Conforming Morse-Smale complexes. IEEE Trans. Vis. Comput. Graph. 20(12), 2595–2603 (2014)CrossRefGoogle Scholar
  25. 25.
    Henderson, A.: ParaView Guide, A Parallel Visualization Application. Kitware Inc. (2007)Google Scholar
  26. 26.
    Humphrey, W., Dalke, A., Schulten, K.: VMD – visual molecular dynamics. J. Mol. Graph. 14, 33–38 (1996)CrossRefGoogle Scholar
  27. 27.
    Kettner, L.: CGAL HalfEdge Data-Structure: User (2016). Google Scholar
  28. 28.
    Laney, D., Bremer, P.T., Mascarenhas, A., Miller, P., Pascucci, V.: Understanding the structure of the turbulent mixing layer in hydrodynamic instabilities. IEEE Trans. Vis. Comput. Graph. 12(5), 1053–1060 (2006)CrossRefGoogle Scholar
  29. 29.
    Matsumoto, Y.: An Introduction to Morse Theory, vol. 208. American Mathematical Society, Providence, RI (2002). Translated from Japanese by K. Hudson and M. SaitoGoogle Scholar
  30. 30.
    Natarajan, V., Wang, Y., Bremer, P.T., Pascucci, V., Hamann, B.: Segmenting molecular surfaces. Comput. Aided Geom. Des. 23(6), 495–409 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    NumPy & SciPy: Scientific computing in python (2016).
  32. 32.
    Peterka, T., Ross, R., Gyulassy, A., Pascucci, V., Kendall, W., Shen, H.W., Lee, T.Y., Chaudhuri, A.: Scalable parallel building blocks for custom data analysis. In: Proceedings of IEEE Symposium on Large-Scale Data Analysis and Visualization (LDAV), pp. 105–112. IEEE, New York (2011)Google Scholar
  33. 33.
    Pettersen, E.F., et al.: UCSF Chimera – a visualization system for exploratory research and analysis. J. Comput. Chem. 25(13), 1605–1612 (2004)CrossRefGoogle Scholar
  34. 34.
    Robins, V., Wood, P.J., Sheppard, A.P.: Theory and algorithms for constructing discrete Morse complexes from grayscale digital images. IEEE Trans. Pattern Anal. Mach. Intell. 33(9), 1646–1658 (2011)CrossRefGoogle Scholar
  35. 35.
    Schrödinger, LLC: The PyMOL molecular graphics system, version 1.3r1 (2010)Google Scholar
  36. 36.
    Schroeder, W., Lorenson, B., Martin, K.: The Visualization Toolkit, 3rd edition. Kitware (2003)Google Scholar
  37. 37.
    Shivashankar, N., Natarajan, V.: Parallel computation of 3D Morse-Smale complexes. Comput. Graphics Forum 31(3pt1), 965–974 (2012)Google Scholar
  38. 38.
    Shivashankar, N., Senthilnathan, M., Natarajan, V.: Parallel computation of 2D Morse-Smale complexes. IEEE Trans. Vis. Comput. Graph. 18(10), 1757–1770 (2012)CrossRefGoogle Scholar
  39. 39.
    Smale, S.: On gradient dynamical systems. Ann. Math. 74(1), 199–206 (1961)MathSciNetCrossRefzbMATHGoogle Scholar
  40. 40.
    Sousbie, T.: The persistent cosmic web and its filamentary structure - I. Theory and implementation. Mon. Not. R. Astron. Soc. 414(1), 350–383 (2011)CrossRefGoogle Scholar
  41. 41.
    van Rossum, G.: Python tutorial. Technical Report CS-R9526, Centrum voor Wiskunde en Informatica (CWI), Amsterdam (1995)Google Scholar
  42. 42.
    Wang, W., Bruyere, C., Kuo, B.: Competition data set and description in 2004 IEEE visualization design contest. (2004)

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Computer Science and AutomationIndian Institute of ScienceBangalore-12India

Personalised recommendations