The software linked below is free to use. Any questions and comments should be directed to me:

DAVID MAYERICH
Beckman Institute for Advanced Science and Technology
University of Illinois, Urbana-Champaign
www.davidmayerich.net

Disclaimer: The author of this software accepts no responsibility for damages resulting from the use of these products and makes no warranty or representation, either express or implied, including but not limited to, any implied warranty of merchantability or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume all risks when using it.

Biological NetMets 0.4 (alpha)
[Source (01-26-2012)]
[Win32 (01-26-2012)]
Metrics and visualization tool for validating segmentations of biological networks. This work is based on our BioVis 2011 publication. Select a ground-truth and segmentation file and drag them both over the executable. Specify a sigma value to determine how harshly the comparison is judged (a good value is the radius of the segmented filaments). Visualization will require a programmable GPU that supports GLSL. Please send me an e-mail if you have any problems with the software.

External libraries include:
GLUT Library
BOOST Graph Library
Approximate Nearest Neighbor Library

Other sites of interest:
DIADEM Metric
Hyperspectral TFs
[Source (10-1-2011)]
[Sample Data (10-1-2011)]
Code for designing transfer functions for hyperspectral images. This is the initial source release. This is the initial source release, and I will make a Win32 executable available as soon as possible.
KESM Knife-Optics Simulator
[Win32 (7-13-2011)]
Knife-Edge Scanning Microscopy images a specimen while concurrently cutting thin sections. In transmission mode, the tissue is illuminated by scattering light through a refractive knife/collimator. This software simulates the scattering of light through a knife and is used to aid in the design of optimal configurations for various illumination needs.

Note that this is a first-order Monte Carlo approximation, and therefore the accuracy is limited as grid cells approach the wavelength of light (ex. very close to the knife tip).

GPU Problems?
[PDF (7-18-2011)]
This is a PDF FAQ that addresses pitfalls that people run into when starting to develop GPU-based software. I focus on development with Visual Studio in combination with OpenGL and CUDA that are not sufficiently addressed online. I use both Qt and GLUT for UI and creating OpenGL contexts. Current issues include:

OpenGL functions giving "identifier not found" errors.
Setting up a 3D texture in CUDA.
Dealing with "exit() redefinition" errors when using GLUT.
Mapping a 3D domain to CUDA's thread architecture.
DT-Grid
C++ Headers - [12-29-2010]
This package contains the C++ header files for my implementation of 1D, 2D, and 3D Dynamic Tubular Grids. This package is implemented as a template library and includes most of the proposed functionality including iterators, stencil iterators, dilation, and random access. Simply include the header files and create an rtsDTGridND template class. This code is based on the data structure proposed by Nielsen and Museth:

Dynamic Tubular Grid: An Efficient Data Structure and Algorithms for High Resolution Level Sets", Michael B. Nielsen and Ken Museth, Journal of Scientific Computing 26(3), March 2006, Pages 261-299

Note: Michael Nielsen provides an open source implementation on Google Code here. This may be a better alternative, particularly for programmers interested in simulation, since the authors likely have a more efficient implementation. The code that I have provided here is a "bare-bones" implementation designed for research and provides simple integration with existing C++ code.
Renderable DT-Grid
Header - [06-25-2010]
nVidia Shader - [06-25-2010]
This package contains a C++ header file defining the 3D Renderable DT-Grid template class. The class defines methods for inserting values in lexicographic order, loading RAW data files out-of-core, and building the textures necessary to render GPU-based DT-Grids. This package also includes a GLSL fragment shader optimized for use with nVidia cards and tested on an FX 4800 and GeForce 240 GTS.
Out-of-Core Stack Processor
Alpha - [05-28-2010]
This software performs basic processing for extremely large 3D data sets in the form of image stacks. It is designed specifically for large data sets created using high-throughput microscopy and relies on data streaming to and from the hard drive. Software features include cropping and re-sampling. This software also includes relighting algorithms specific to Knife-Edge Scanning Microscopy (discussed in our ISBI 2007 paper).
GPUTracer
Alpha - Windows Installer
GPU-accelerated vector tracking. This software is used to quickly segment filaments in volumetric data sets using template matching based on the Sum of Absolute Differences. The method is described in our IEEE TVCG 2009 paper.