Highlights of BrainImageJava Development

3D Visualization Techniques and Applications

Our team has created two 3D packages for MRI brain volumes: a surface renderer and a volume renderer. Both packages allow for fully interactive, real-time display of brain images. These packages are based on the GL4Java package, which wraps Java structures around the OpenGL library.

Surface Renderer

Starting with a brain volume image, a MarchingCubes algorithm is used to produce a triangle mesh representation of the brain surface.

The surface renderer displays this brain surface in either wireframe or filled display, and allows the user to rotate the brain to any desired orientation in real-time.

Filled Surface

Wireframe Surface

By drawing with the mouse on the surface, the user can mark a Surface of Interest (SOI) on the brain.

This SOI can be exported to other viewers as a surface-level Volume of Interest (VOI).

These surface-level VOIs can then be edited to include brain tissue under the surface.

This ability to draw SOIs directly on the brain surface accelerates Volume of Interest editing for volumes which include cortical regions because it greatly reduces the amount of time that the user spends in tracing the surface contours.

Volume Renderer

Our Volume Renderer can create a 3D display of a brain volume without creating the intermediate structure of a surface. It also does not require the specification of an isosurface intensity value, so it behaves better on images where the background is less distinctly separable from the brain image.

Automated Removal of Non-brain Tissues

The Stanford Psychiatric Neuroimaging Lab has been developing an automated algorithm for separating brain from non-brain tissue in whole head MRI images. This algorithm classifies each voxel in the brain as being on or off the brain surface based on a feature set which augments the standard voxel intensity features with AC-PC landmark distance measures. These features are classified by means of a classification tree which has been cross-validated with a gradient boosting method [Friedman, 2001].

Because each voxel is classified independently of its neighbors, the resulting brain surface which results from this technique is non-contiguous and non-closed. Recent developments in this system solve this problem by reconstructing a closed surface from the classified voxels by means of a level set method.

There are two key steps for applying the level set method.æ First, the surface to be reconstructed,  , has to be embedded into a level-set function . The signed distance function is the typical choice:

where æis the signed distance function.

The second step is to define the partial differential equation (PDE) governing the deformation of the surface, in terms of the level set function. [Zhao, 2000] showed that the following PDE mimics an elastic membrane attached to the data set:

where is the distance between and our data (i.e., the points extracted in the first phase of the segmentation algorithm). Solving this PDE on a regular grid and extracting the zero iso-contour of the solution yields the reconstructed surface of the brain.


J. Friedman, Greedy function approximation: the gradient boosting machine ,Annals of Statistics, vol 29(5), 1189-1232, Oct. 2001.

H. K. Zhao, S. Osher, B. Merriman, and M. Kang, ñImplicit and non-parametric shape reconstruction from unorganized points using variational level set method, Computer Vision and Image Understanding, vol. 80, pp. 295-319, 2000.

Nicolas Remy, Stephan Eliez, Allan L. Reiss, Boosting of Classification Trees for Brain Tissue Segmentation from MRI, forthcoming.