// The following text is included in the main documentation page by doxygen
/*! \mainpage m23d : Manchester's Library for Generating 3D models from 2D data
* Various functions for generating linear models of 3D point positions
* and their variation, given multiple 2D views.
*
* Initial classes assume scaled orthographic projection models, and that all
* points are visible in all frames.  Note that the Oxford libraries contain more
* well developed tools for dealing with tracking of rigid objects under
* projective projections.
*
* Key classes:
* - m23d_ortho_rigid_builder: Reconstruct 3D shape of rigid object
* - m23d_ortho_flexible_builder: Reconstruct 3D shape basis of deformable object
*
* Example usage:
* \verbatim
*
* vnl_matrix<double> W;  // Measurements ( rows are 2D shapes, (x1,y1,x2,y2...))
* // Fill in measurement matrix W
* ...
*
* m23d_ortho_flexible_builder builder;
* builder.reconstruct(W,n_modes);
*
* // Matrix containing mean shape (3 x n_points, each column is one point)
* vnl_matrix<double> M = builder.mean_shape();
* // Matrix containing first shape mode (3 x n_points, each column is one point)
* vnl_matrix<double> S0= builder.shape(0);
* // etc
*
* \endverbatim
*/
