00001 //: 00002 // \file 00003 // \author Tim Cootes 00004 // \brief Generate pure 3 x 3 rotation matrix from 2 x 3 projection matrix 00005 00006 #ifndef m23d_rotation_from_ortho_projection_h_ 00007 #define m23d_rotation_from_ortho_projection_h_ 00008 00009 #include <vnl/vnl_matrix.h> 00010 00011 //: Generate pure 3 x 3 rotation matrix from 2 x 3 projection matrix 00012 // Result may also include a reflection. 00013 // The result, R, should be such that PR.transpose() approx= (sI|0) 00014 // 00015 // Note that the sign of the 3rd row is undefined 00016 vnl_matrix<double> m23d_rotation_from_ortho_projection(const vnl_matrix<double>& M); 00017 00018 #endif // m23d_rotation_from_ortho_projection_h_