00001 /* 00002 Copyright (C) 2010 - 2014 Christoph Haenisch 00003 00004 Chair of Medical Engineering (mediTEC) 00005 RWTH Aachen University 00006 Pauwelsstr. 20 00007 52074 Aachen 00008 Germany 00009 00010 Version 0.1.1 (2011-08-05) 00011 */ 00012 00019 #ifndef ESTIMATE_TRANSFORMATION_HPP_1072314347 00020 #define ESTIMATE_TRANSFORMATION_HPP_1072314347 00021 00022 00023 #include <Eigen/Core> 00024 #include <Eigen/Dense> 00025 00026 00027 namespace TRTK 00028 { 00029 00030 00042 template <class T> 00043 class EstimateTransformation 00044 { 00045 public: 00046 00047 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 00048 00049 typedef T value_type; 00050 typedef Eigen::Array<T, Eigen::Dynamic, 1> ArrayXT; 00051 typedef Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> MatrixXT; 00052 typedef Eigen::Matrix<T, Eigen::Dynamic, 1> VectorXT; 00053 typedef Eigen::Matrix<T, 2, 1> Vector2T; 00054 typedef Eigen::Matrix<T, 3, 1> Vector3T; 00055 typedef Eigen::Matrix<T, 4, 1> Vector4T; 00056 typedef Eigen::Matrix<T, 1, 2> RowVector2T; 00057 typedef Eigen::Matrix<T, 1, 3> RowVector3T; 00058 typedef Eigen::Matrix<T, 2, 2> Matrix2T; 00059 typedef Eigen::Matrix<T, 3, 3> Matrix3T; 00060 typedef Eigen::Matrix<T, 4, 4> Matrix4T; 00061 00062 enum Error { 00063 NOT_ENOUGH_POINTS, 00064 UNEQUAL_NUMBER_OF_POINTS, 00065 UNKNOWN_ERROR, 00066 WRONG_POINT_SIZE 00067 }; 00068 00069 virtual ~EstimateTransformation(); 00070 00071 virtual void compute() = 0; 00072 00073 virtual value_type getRMS() const = 0; 00074 00075 // virtual const MatrixXT & getTransformationMatrix() const = 0; //!< Returns the estimated transformation matrix. 00076 }; 00077 00078 00079 template <class T> 00080 EstimateTransformation<T>::~EstimateTransformation() 00081 { 00082 } 00083 00084 00085 } // namespace TRTK 00086 00087 00088 #endif // ESTIMATE_TRANSFORMATION_HPP_1072314347
Documentation generated by Doxygen