Skip to main content

The difficulty with toolkits like the open-source Visualization ToolKit (VTK) from a scientist’s point of view is rather like the difficulty I would have if given free access to an automotive shop: all the tools needed to fix my car are in there somewhere, but knowing which tools to use and how is beyond my experience. Our aim is to provide tools that are optimized to answer the specific questions posed by our collaborators in the belief that a tool that solves a particular problem is more likely to be of broader usefulness than a “generic” tool that is not optimized for usefulness on any particular problem. This requires drawing on an understanding of the available techniques, the characteristics of the humanvisual system, the characteristics of the data sets, and the questions being asked.

Dendridic spine colored by calcium concentration.
Dendridic spine colored by calcium concentration.

The ImageSurfer tool grew out of a project in Russell Taylor’s Visualization in the Sciences course.  Our collaborators in neuroradiology wanted to know wanted to see distribution of calcium over the surface of dendridic spines in the brain.  This data consisted of two simultaneously captured 3D fluorescence volumes, for which we created the colored isosurface rendering mode shown to the right.  Our collaborators found the tool to be so useful that they developed the www.imagesurfer.org site to promote and distribute it and presented posters showcasing the tool at the annual Neuroscience conference. You can download ImageSurfer from our downloads page.

ImageSurfer grew from colored isosurface render to a full-featured 3D scalar volume visualization tool.  ImageSurfer currently supports maximum intensity projection rendering, direct volume rendering (DVR), and directionally illuminated DVR, in addition to the isosurface rendering shown above.  We have also implemented common image processing filters such as the Gaussian filter, median filter, and anisotropic diffusion filter, among others. ImageSurfer also contains implementations of several deconvolution algorithms to improve images before visualization.

Development into the future will target the following improvements:

  1. Image Improvement: Image-Cleaning Filters and Blind Deconvolution – The recently-added deconvolution capabilities enable improved resolution, but require an accurate and difficult-to-obtain point-spread function (PSF) for the microscope used to take the images. Adding blind deconvolution will optimize both the PSF and the image simultaneously, providing even clearer images.
  2. Segmentation and Image Analysis – ImageSurfer effectively displays one or two volumetric scalar fields at the same time and enables both qualitative hypothesis formation and quantitative analysis. However, this analysis occurs only in 2D slices through the volume. The scientific questions now being asked require both the segmentation of large numbers of vesicles in 3D and image analysis (volume estimation, shape, clustering analysis) on the resulting objects.
  3. More Files: Increased Memory Size and More File Formats – Multi-channel fluorescence images are quite large. The limitation of the Java virtual machine size will be avoided by rewriting the code in C++. The duplication of memory will be removed by using an external file-format converter tool. The 4GB limit will be avoided by recompiling for 64-bit Windows and Mac OS/X. As the number of users increases, so does the variety of file formats. To increase the number of formats supported, we are implementing a stand-alone file reader based on the Open Microscopy Environment; this will enable separately releasing new supported readers and the main application itself.
  4. 3D Input and Display – Positioning the 6D slice tool is the most difficult step in analysis; the system will be ported to use newly-affordable $50-$150 6DOF input devices (SpaceNavigator, Novint Falcon). Interpreting complex 3D structures is difficult in monoscopic display; the system will be modified to work with newly-affordable stereo displays as described in Core 4.