Skip to content
marcelluethi edited this page Feb 17, 2012 · 1 revision

One of the main design goals of Statismo is to be independent of a specific library. Depending on the model you build, you may want to use different libraries to represent your data. For example shapes are very conveniently represented using VTK, while the representation of images is more powerful in ITK. To make the library dependent on all the possible toolkits a user of Statismo may want to use is, of course, neither possible nor useful. On the other hand, committing to one toolkit only would be too restrictive.

The mathematics behind the models is completely independent of the concrete representation of the data. It is even independent of the type of data (e.g. images, shapes, deformation fields, etc.) used to build the models. The only requirement is that the data can be discretized and represented using a finite number of points.

A Representer provides the interface between the library specific representation of a data set and the general mathematical view. A Representer abstracts all dataset specific aspects from the library. It provides a unified interface for creating, reading or writing datasets, etc. (i.e. it is an adapter). Furthermore, it provides methods to convert the datasets into a from the specific representation in the library to a vectorial representation used internally by Statismo as well as to convert the internal representation back to the original representation.