Software
Projects I collaborate in:
- VisTrails:
VisTrails is a new scientific visualization system that enables
scientists to keep track of their visualization and simulation
pipelines as the problem domain and dataset changes. VisTrails
stores provenance information for the pipelines - the entire version
tree. Interactively comparing results of different versions allow
scientists to dramatically increase productivity. Additionally,
since VisTrails pipelines are actually execution specifications,
VisTrails makes it easier to reproduce and compare results of
previous runs.
- Afront: afront is an
advancing front mesher that constructs nicely shaped meshes from
point clouds, bad meshes and implicit surfaces. Afront is the base
code for the SGP'05, EG'2006 and Vis2006 papers. Afront is developed
and maintained mostly
by John Schreiner
and myself.
- HAVS: Hardware Assisted
Visibility Sorting - to the best of our knowledge, HAVS is the
fastest GPU tetrahedral cell rendering software out
there. HAVS is written primarily
by Steven Callahan.
Patches/bindings for third-party software:
-
Python bindings
for teem. Teem is the
swiss-army knife of volume manipulation tools. Since Python is the
mother of all glue code languages, it only made
sense. Get Python-Teem here - hosted at Google Code.
- Szymon
Rusinkiewicz has written a fantastic library
called trimesh2
for manipulating and viewing meshes. I've made some changes to it
so that I can generate reasonable-looking screenshots, and some
other assorted things (like converting to our internally used file
formats, and sampling points from a triangle mesh). The patched
version (patched against trimesh2 2.7) is
available here. You'll
need ImageMagick on your
path to get the nice screenshots. Press 'p' and a digit d, and
you'll get a 2^d * 2^d supersampled screenshot, courtesy of
convert and montage.
Emacs stuff
- My .emacs. Beware -- here
be dragons.
- .emacs_common. Random
functions. Same warning applies.
- python-find.el:
python-find.el helps you search for strings in collections of python
files in a convenient way.
- python-selective-display.el:
python-selective-display.el takes advantage that python's
indentation matters to make Emacs' selective display useful.
- case-convert.el:
case-convert.el makes it marginally less painful to convert from
camelCase to camel_case.
Other projects of mine:
- PGHFlow:
PGHFlow is the software I developed for my undergraduate
thesis. It solves the 2D Navier-Stokes equations on the GPU using
a method known as SMAC. Unlike Stam's stable fluids (which are
unconditionally stable and thus suitable for real-time
applications with unboundedly large timesteps), SMAC is only
conditionally stable (in particular, subject to the CFL
conditions). However, SMAC produces results that agree with fluid
experiments, and so is suited for engineering applications. Alas,
bitrot has claimed PGHFlow, like most GPU-based code that goes
untouched for more than a couple of months.