3D structured grids
The source code is maintained in this GIT repository . The source code comprises of two modules. (click to expand)
mscomplex3d: command line tool.
This is written purely in c++.
pyms3d: python loadable module.
This module offers the most flexibility as one can further filter and process the Morse-Smale complex to carry out analysis. This will probably be the most useful module due to its flexibility.
There is a slight learning curve. However, if you are familiar with the Morse-Smale complex formalism as well the notion of topological persistence and how it relates to Morse-Smale complexes, then using this module is straight forward. See here for usage tutorials.
2D triangle meshes
The source code is maintained in a GIT repository on github.com . The source code comprises of three modules. (click to expand)
mscomplex-tri-cl-tool: command line tool.
This is written purely in c++ and is a bit cumbersome to use. Its usage is documented here.
pymstri: python loadable module.
This is similar to the pyms3d module above. See here for usage tutorial and sample scripts for a few rudimentary tasks.
mscomplex-tri-viewer: visualization tool.
This module offers the OpenGL based viewer that is both interactive and scriptable. The scripting capablity makes it quite powerful. Furthermore, it uses GPU shaders to achieve very high quality images. It is primarily useful for that purpose. However, it is based on PythonQt and is thus tied to its framework. It is thus a bit confusing and not so direct to learn initially. Its usage is documented here.
The code was developed in linux (ubuntu 12.04). It was compiled with gcc 4.6.3. The software requirements of each module are easily available in most modern Linux distributions. In ubuntu 13.10, the dependancies are installable via the apt-get command. We recommend installing the python module. Check out some sample scripts here.(click to expand)
$ tar -xzvf mscomplex-3d-v1.0.tar.gz $ mkdir build install $ cd build $ cmake ../mscomplex-3d/ \ > -DMSCOMPLEX_3D_INSTALL_DIR=../install $ make $ make install
$ cmake ../mscomplex-tri/ -DBUILD_PYMS3D=1
$ make install
(click to expand)
$ tar -xzvf mscomplex-tri-v1.0.tar.gz $ mkdir build install $ cd build $ cmake ../mscomplex-tri/ \ > -DMSCOMPLEX_TRI_INSTALL_DIR=../install $ make $ make install
$ cmake ../mscomplex-tri/ -DBUILD_PYMSTRI=1
$ make install
$ cmake ../mscomplex-tri/ -DBUILD_VIEWER=1
$ make install
The source codes for this project is released under the GNU LGPL. The following papers describe the algorithms implemented in the software. Please do cite them if you find the software useful.
- Nithin Shivashankar, Senthilnathan M and Vijay Natarajan. Parallel computation of 2D Morse-Smale complexes. IEEE Transactions on Visualization and Graphics, 18(10), 2012, 1757-1770.
- Nithin Shivashankar and Vijay Natarajan. Parallel computation of 3D Morse-Smale complexes. Computer Graphics Forum (EuroVis 2012), 31(3), 2012, 965-974.