Source Code
3D structured grids
The latest stable version of the software may be downloaded from here . 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 latest stable version of the software may be downloaded from here . 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.
Compiling the code
Using gcc/g++ on Linux/Unix
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.
3D Structured grids
Building mscomplex3d
$ tar -xzvf mscomplex-3d-v1.0.tar.gz $ mkdir build install $ cd build $ cmake ../mscomplex-3d/ \ > -DMSCOMPLEX_3D_INSTALL_DIR=../install $ make $ make install
Building pyms3d
$ cmake ../mscomplex-tri/ -DBUILD_PYMS3D=1
$ make install
2D triangle meshes
Building mscomplex-tri-cl-tool
$ tar -xzvf mscomplex-tri-v1.0.tar.gz $ mkdir build install $ cd build $ cmake ../mscomplex-tri/ \ > -DMSCOMPLEX_TRI_INSTALL_DIR=../install $ make $ make install
Building pymstri
$ cmake ../mscomplex-tri/ -DBUILD_PYMSTRI=1
$ make install
Building mscomplex-tri-viewer
$ cmake ../mscomplex-tri/ -DBUILD_VIEWER=1
$ make install
About the Source Code
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.