1 #ifndef MTF_LIE_ISOMETRY_H 2 #define MTF_LIE_ISOMETRY_H 4 #define VALIDATE_LIE_ISO_WARP(warp) \ 5 assert(warp.determinant() == 1.0); 7 #define LISO_DEBUG_MODE 0 8 #define LISO_INIT_AS_BASIS 0 10 #include "ProjectiveBase.h" 20 debug_mode(_debug_mode), init_as_basis(_init_as_basis){}
23 debug_mode(LISO_DEBUG_MODE),
24 init_as_basis(LISO_INIT_AS_BASIS){
27 debug_mode = params->debug_mode;
28 init_as_basis = params->init_as_basis;
39 void compositionalUpdate(
const VectorXd& state_update)
override;
41 void cmptInitPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &pix_jacobian)
override;
42 void cmptPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &pix_jacobian)
override;
43 void cmptApproxPixJacobian(MatrixXd &jacobian_prod,
44 const PixGradT &pix_jacobian)
override;
46 void estimateWarpFromCorners(VectorXd &state_update,
const Matrix24d &in_corners,
47 const Matrix24d &out_corners)
override;
49 void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
50 const vector<cv::Point2f> &in_pts,
const vector<cv::Point2f> &out_pts,
51 int estimation_method,
double ransac_reproj_thresh)
override;
53 void invertState(VectorXd& inv_state,
const VectorXd& state)
override;
55 void updateGradPts(
double grad_eps)
override;
56 void updateHessPts(
double hess_eps)
override;
58 void applyWarpToCorners(Matrix24d &warped_corners,
const Matrix24d &orig_corners,
59 const VectorXd &state_update)
override;
60 void applyWarpToPts(Matrix2Xd &warped_pts,
const Matrix2Xd &orig_pts,
61 const VectorXd &state_update)
override;
63 void getWarpFromState(Matrix3d &warp_mat,
const VectorXd& ssm_state)
override;
64 void getStateFromWarp(VectorXd &state_vec,
const Matrix3d& warp_mat)
override;
69 Matrix3d lieAlgBasis[3];
Definition: LieIsometry.h:33
LieIsometryParams(LieIsometryParams *params=nullptr)
copy constructor
Definition: LieIsometry.h:22
LieIsometryParams(bool _debug_mode, bool _init_as_basis)
value constructor
Definition: LieIsometry.h:19
Definition: LieIsometry.h:14
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14