Software at CIS : lddmm-surface : About

about | lddmm-surface manual | validation | applyDeformation manual | pointShoot manualfaq | credits | changelog | feedback

Surfaces embedded in 3D are important geometric models for many objects of interest in image analysis. They are often the appropriate abstractions for studying gross shape, either because the structure of interest is inherently 2D (e.g. the outer cortex of the human brain, human face, etc.), or because its shape can be efficiently and completely captured by its bounding surface (e.g. planes, animals, or anatomical structures of the human body, etc.).

A fundamental task in image analysis applications is to perform a non-rigid matching (deformation) between two occurrences of the same structure.  Typically this is done by hand selecting several corresponding points on each surface (landmarks) then using the transformation between the corresponding points to guide the transformation between the two surfaces.  A problem with this approach is that if done by hand, a lot of labor is involved.  If done automatically, there can be points on the template surface that have no corresponding point on the target surface.

This surface matching approach uses generalized distributions of deRham called currents to represent the surfaces to be matched.  This representation captures first order local geometric structure on a surface, and along with a theoretical development of a norm on the surfaces, provides the framework for an algorithm for optimal surface matching.

Data from an example execution of surface matching programs follow. 

The program that performs the matching process is called CurrentMatch. It takes as input a template and a target surface and a number of parameters. The gts surfaces are displayed using the open source application gtsview (see the FAQ).

Template Surface

Target Surface

CurrentMatch outputs a surface that is the original template after deformation. 

Output Surface

The diffeomorphism producing by the matching algorigthm can be applied to other surfaces to perform a similar mapping. The program that performs this mapping is called ApplyDeformation. It can be used to deform a much higher resolution representation of the original surface (so that the much more computationally intensive program CurrentMatch can be performed on a smaller data set). Or it can be used to deform an image that contains structure not in the original surface.

The following image was produced by applying the deformation shown above to a much higher resolution of the original template.

Deformed Output:

Last Modified: Monday, 25th April, 2011 @ 11:20am