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
Hypersnakuscules - three-dimensional localization and fitting for spherical objects
![]() |
[project page] An efficient and highly parallel algorithm for evolving spherically symmetric three-dimensional contours. This work extends previous work from EPFL on fast two-dimensional snakes. This formulation is optimized for 3D images, and includes a strategy for GPU acceleration that takes advantage of Monte-Carlo sampling. Experimental results show that this method provides superior performance for large 2D and 3D cell localization tasks when compared to existing methods on large 3D brain images. |
NetMets - quantitative tool for comparing of interconnected networks
![]() |
[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. |
iVote / iVote3D - GPU-based iterative voting for large 2D and 3D images
![]() |
[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:
|
Modeling
BIMSim - broadband interactive Mie simulation
![]() |
[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
![]() |
[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
![]() |
[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
![]() |
[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
![]() |
[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
![]() |
[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. |