Software

Note: Most of the research code here is written in C++/CUDA, however there will be the ocassional Matlab/Octave file and Python script. I have provided a tutorial for those unfamiliar with the build process. Please feel free to contact me if there are any problems or if you have any feedback.

[ segmentation ]  [ hyperspectral image processing ]   [ modeling ]   [ visualization ]

Segmentation

NetMets - quantitative tool for comparing of interconnected networks

netmets [project page]
Metrics and visualization tool for validating the results of microvascular and neural network segmentation. This work is based on our BMC Bioinformatics 2012 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.

Hyperspectral Image Processing

SIproc - data processing for hyperspectral images

[project page] [source]
This is a command-line tool designed to do basic data-processing for extremely large hyperspectral images. All image processing is done out-of-core, and therefore allows processing of data sets that could not normally be stored in main memory. This software is routinely used on files exceeding 1TB in size. Available algorithms include:

  • cropping
  • spectral baseline correction
  • masking and thresholding
  • principal component analysis (PCA)
  • conversion of masked pixels to matrices for classification
  • building mosaic images from individual FPA frames (specifically designed for Agilent Cary FTIR microscopes)
  • classification

Modeling

BIMSim - broadband interactive Mie simulation

bimsim [project page] [source]
Understanding the structure of a scattered electromagnetic (EM) field is important for improving the imaging process. Mechanisms such as diffraction, scattering, and interference affect an image, limiting the resolution and introducing artifacts. Simulation and visualization of scattered fields thus plays a critical role in imaging science. However, EM fields are high-dimensional, making them time-consuming to simulate and difficult to visualize. This software provides a framework for interactively computing and visualizing EM fields scattered by micro and nano-particles. GPU-based methods for evaluating the field both inside and outside of these materials. We then use Monte-Carlo sampling to reconstruct and visualize the three-dimensional structure of the field, spectral profiles at individual points, the structure of the field at the surface of the object, and the resulting image produced by an optical system.

I-Mie -interactive simulation and correction of Mie-scattered spectra

imie [source]
This software simulates the interaction of light across multiple wavelengths as it passes through a spherical particle. The simulations are interactive and based on Mie theory using an analytical solution combined with GPU-based parallel computing. Properties of the imaging system and scattering material can be specified both interactively and by loading simple ASCII text files. In addition, this software provides a method for estimating material properties given a measured absorbance spectrum.

RiCalc - computes the dispersion properties of materials

ricalc [project page]
This tool can quickly compute the dispersion properties of a material, given some information about the absorption or refraction. For example, RI-Calc can be used to estimate the complex refractive index as a function of wavelength from an absorption spectrum.

MSTM-Gui - a user interface for the Multi-Sphere T-Matrix method for scattered fields

mstm-gui [source]
This code provides a Python-based user-interface for the Multi-Sphere T-Matrix scattered field solution proposed by Mackowski and Mishchenko (2011). The original Fortran code is distributed with this repository and required for most of the computation.The original source code is also available here on Daniel Mackowski's website and distributed with permission. Please reference their original work (JQSRT, 2011) in any publications and contact him regarding any licensing concerns.

Visualization

TrueEyes - a programmable volume visualization framework

true-eyes [source]
Simple and robust programmable volume visualization. This software allows the user to prototype programmable volume shaders and transfer functions written in GLSL. The volume ray-tracing code is hidden, allowing the user to focus on a shading function that returns a single color and opacity based on texture values and light positions. The user can load multiple volumes (as image sequences and RAW data) and test multiple shaders simultaneously.

KESM Brain Atlas - an online atlas for browsing KESM images of the mouse brain

kesmba [website]
This software simulates the interaction of light across multiple wavelengths as it passes through a spherical particle. The simulations are interactive and based on Mie theory using an analytical solution combined with GPU-based parallel computing. Properties of the imaging system and scattering material can be specified both interactively and by loading simple ASCII text files. In addition, this software provides a method for estimating material properties given a measured absorbance spectrum.