1 #ifndef MTF_LIE_AFFINE_H 2 #define MTF_LIE_AFFINE_H 4 #include "ProjectiveBase.h" 14 bool _normalized_init,
double _grad_eps,
bool _debug_mode);
24 using StateSpaceModel::setCorners;
26 LieAffine(
const ParamType *params_in =
nullptr);
28 void setCorners(
const Matrix24d &corners)
override;
29 void compositionalUpdate(
const VectorXd& state_update)
override;
31 void getInitPixGrad(Matrix2Xd &ssm_grad,
int pix_id)
override;
32 void getCurrPixGrad(Matrix2Xd &ssm_grad,
int pix_id)
override;
34 void cmptInitPixJacobian(MatrixXd &dI_dp,
const PixGradT &dI_dw)
override;
35 void cmptWarpedPixJacobian(MatrixXd &dI_dp,
const PixGradT &dI_dw)
override;
36 void cmptPixJacobian(MatrixXd &dI_dp,
const PixGradT &dI_dw)
override;
37 void cmptApproxPixJacobian(MatrixXd &dI_dp,
38 const PixGradT &dI_dw)
override;
40 void estimateWarpFromCorners(VectorXd &state_update,
const Matrix24d &in_corners,
41 const Matrix24d &out_corners)
override;
43 void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
44 const vector<cv::Point2f> &in_pts,
const vector<cv::Point2f> &out_pts,
47 void invertState(VectorXd& inv_state,
const VectorXd& state)
override{
51 void getWarpFromState(Matrix3d &warp_mat,
const VectorXd& ssm_state)
override;
52 void getStateFromWarp(VectorXd &state_vec,
const Matrix3d& warp_mat)
override;
57 Matrix3d lieAlgBasis[6];
61 void computeJacobian(MatrixXd &jacobian, Matrix3Xd &basis_pts_hm);
Definition: StateSpaceModel.h:35
Definition: LieAffine.h:8
Definition: SSMEstimatorParams.h:9
Definition: LieAffine.h:19
LieAffineParams(const SSMParams *ssm_params, bool _normalized_init, double _grad_eps, bool _debug_mode)
value constructor
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14