msm : Manchester Shape Model library

Classes to model 2D shape and shape variation.

A shape is represented as a set of points, stored in a msm_points object, which encodes the co-ordinates in a vector (x0,y0,x1,y1,...).

Shape is defined as that variation in geometry which is invariant to some class of transformations. Usually one considers similarity transformations (scale, rotation and translation), though others are also used. To build a model from sets of shapes, one first aligns the shapes to remove the effects of the global transform.

The alignment and representation of transformations is encoded using the msm_aligner objects.

Available msm_aligner classes include:

- msm_translation_aligner : Translation (tx,ty)
- msm_zoom_aligner : Scale and translation
- msm_similarity_aligner : Scale, rotation and translation

The shape model itself is a linear model of the form

- shape = mean + P*b where mean is the mean shape, P is a matrix of modes of variation and b is a vector of shape parameters.

This information is stored in the msm_ref_shape_model class. The derived msm_shape_model class also stores information about the msm_aligner and default pose associated with the model.

The shape model can be built from a set of msm_points objects using the msm_shape_model_builder.

An instance of a shape in the reference frame is defined by the shape parameters, b. This is encoded in the msm_ref_shape_instance class.

An instance of a shape in a target frame is defined by

- A set of shape parameters, b
- A pose (the parameters defining the model to world frame transform) This information is encoded in the msm_shape_instance class. This class also has functions to best fit to sets of points, with various weighting options allowed to indicate the importance of individual points in the match.

Other useful classes:

- msm_wt_mat_2d : Representation of a 2x2 symmetric matrix of weights
- msm_curve : Defines how to join the dots in a model to form a curve
- msm_curves: Vector of msm_curve objects defining how to draw the object

The utils subdirectory contains a range of useful classes and functions to manipulate the models, for instance to draw shapes to an eps file, or to generate a set of shapes illustrating a mode of variation.

The tools subdirectory contains programmes to build or use shape models.

- msm_build_shape_model : Construct a shape model from a set of files
- msm_draw_shape_modes : Generate EPS files displaying modes of a model
- msm_draw_points_on_image : Generate an EPS file showing points + curves on an image
- msm_plot_aligned_shapes : Generate EPS file showing scatterplots of aligned shapes
- msm_get_shape_params: Compute shape parameters for each example and save to a file

Generated on Wed May 1 2013 17:35:00 for contrib/mul/msm by 1.7.5.1