I always try to make freely and publicly available the programs I developed as a result of my research. In general, my programs are not industrial strenght software. But, I do my best to include safeguards, so that you get error messages when things are not going the way they should. I still think it is worth distributing my software the way they are, as people can get the most out of the papers I write with my collaborators. I also implemented programs based on papers of which I am not an author. That is usually the case when I use the results of a particular paper in a research project of mine. If you happen to read a paper of which I am a co-author, but you cannot find the code used in paper here, please do not hesitate in contacting me. It is probably the case that I was not the one responsible for writing the code used to obtain the results in the paper, but I can get in touch with the co-authors responsible for the code and ask them if they can make the code available for you (as the code is).

Whenever I can I also generate HTML documentation for my programs using Doxygen.

Parametric Pseudo-Surfaces from Triangle Meshes
This is the code for the PPS library, which enables us to create and sample parametric pseudo-surfaces (PPS) from triangle meshes of closed surfaces in the Euclidean space (see paper).

Approximate Discrete Geodesics
This is the code for the ADG library, which offers a few methods for computing approximate geodesics using an iterative algorithm devised by Martínez, Velho, and Cavalcanti (see paper).

Irreducible Triangulations of Closed Surfaces
I implemented three algorithms for generating one irreducible triangulation from a given connected, compact and borderless simplicial surface in the Euclidean space. One of the algorithms was developed by myself and Dr. Suneeta Ramaswami (see technical report). A short version of this report has been submitted to a journal, but no decision has been made yet.

Threading Splines Through 2D Channels
This is a library that offers a method for solving a 2D version of the channel problem. The library is based on the algorithm devised by Myles and Peters (see paper) for the 2D and 3D versions of the channel problem. However, my library is restricted to the 2D case. I am currently using a slightly different version of this library (as part of a mesh generation research project).

Mesh Parametrization
Code for generating the Floater parametrization of a disk-like simplicial surface in the Euclidean space. Details on the parametrization method can be found in two of Michael Floater's paper (See FP and MVC). You can also find more information on the work of Floater and his collaborators on parametrization of meshes and point clouds (including code) by accessing his own page.

Exact Euclidean Distance Transform
An implementation of the algorithm by Maurer, Qi, and Raghavan (see paper) for computing the exact distance transform of binary images. My implementation is restricted to 2D images. The algorithm itself can handle images of arbitrary dimension. You can find an implementation for the 3D case in the ITK Toolkit (see this paper for a description of the latter implementation).

CQMesh, QMPP, and MeshView
Code for generating and visualizing convex and strictly convex quadrilateral meshes of planar polygonal domains. See paper for details on the algorithm that generates the quad meshes.

Last update: March 27, 2016