Table of Contents


The AAM-API is a C++ implementation of the Active Appearance Model framework. It can be used as a traditional API by linking in an AAM library, or it can be used as a precompiled command line program, e.g. as a part of an image analysis course. The complete package includes the AAMLab, various Matlab scripts for shape annotation and communication with the API, source code documentation and project files.

The AAMLab is a windows program that presents a GUI front-end to some of the functionality offered by the API. This includes running model searches, real-time visualisation of the modes of variation and training set annotation.

The software runs on the Windows platform and is partly based on the following software libraries: Microsoft Visual C++ is required to recompile or modify the source code.



Since the Stanford Wavelab team puts it so well, I will quote them at this point:
An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures.

The Stanford Wavelab Team


Class documentation is generated from source code comments by doc++. Cross-referenced HTML and printer-friendly PDF/PS formats are included in the package. These are also available for online viewing.

Console Interface

To enable usage of the AAM-API without a complete development environment the command line tool aamc provides a console interface to much of the AAM-API functionality. This also serves as an indirect example of how to use the API as a client. Refer to the usage output for further details.


The AAM-API package including source code, project files, et cetera is freely available for download.

To play around with the implementation, it is recommend to download one of the free data sets, see e.g. the face data set.

File Formats


Thanks to all the people at IMM and from all over the world providing me with feedback, ideas, bug reports, discussions et cetera. Your help is much appreciated. See readme.txt inside the package for more detailed acknowledgements.