Superpose

Keith A. Johnson, M.D. (keith@bwh.harvard.edu)
J. Alex Becker (jabecker@mit.edu)
Home Page

"Superpose" is a set of software tools for analysis of medical images. Its major purpose is to permit the precise comparison of image datasets from different sources and from different time points. Images from a variety of modalities, including MR, CT, SPECT, and PET, can be precisely compared with each other. With Superpose, volume datasets are processed automatically to yield images which are corrected for differences in pixel size and patient orientation. This allows, for example, precise comparison of brain functional images with underlying structure. It also permits accurate comparison of datasets gathered in a time sequence.

The superpositioning procedure is entirely retrospective. It does not require fiducial markers or special patient positioning. The processing of two typical datasets requires, on average, less than five minutes to complete.


The superposition algorithm operates on surfaces derived from multi-slice or volume datasets.

Here is an example of the pair of surfaces. A surface is derived from a set of contours which outlines the edge of a volume on a series of planar images. Contours are generated by an edge detection algorithm based on a user chosen pixel threshold. This threshold is varied under mouse control until a suitable edge is determined. Contours in all subsequent slices are automatically calculated based on parameters of the first. The corresponding surface consists of a set of triangles spanning neighboring pairs of contours.

Two surfaces are superposed by finding the rigid body transformation carrying one surface into the other which minimizes the volume between them. The transformation is specified by six parameters: three translational and three orientational. The transformation which minimizes the volume contained between the two surfaces is taken to be the transformation relating the two underlying image volumes.

The triangulated MR brain surface is drawn in yellow.

The red or green vectors represent the displacement between the two surfaces.