4 #define TPS_DIRECT_SAMPLES 0 5 #define TPS_NORMALIZED_BASIS false 6 #define TPS_N_CONTROL_PTS 2 7 #define TPS_DEBUG_MODE 0 9 #include "StateSpaceModel.h" 14 int control_pts_resx, control_pts_resy;
24 bool _direct_samples,
bool _debug_mode);
34 void compositionalUpdate(
const VectorXd& state_update)
override;
36 void cmptInitPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &am_jacobian)
override;
37 void cmptPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &am_jacobian)
override;
38 void cmptWarpedPixJacobian(MatrixXd &jacobian_prod,
39 const PixGradT &pix_jacobian)
override;
41 void cmptApproxPixJacobian(MatrixXd &jacobian_prod,
42 const PixGradT &pix_jacobian)
override;
43 void estimateWarpFromCorners(VectorXd &state_update,
const CornersT &in_corners,
44 const CornersT &out_corners)
override;
45 void cmptInitPixHessian(MatrixXd &pix_hess_ssm,
const PixHessT &pix_hess_coord,
46 const PixGradT &pix_grad)
override;
48 void cmptWarpedPixHessian(MatrixXd &pix_hess_ssm,
const PixHessT &pix_hess_coord,
49 const PixGradT &pix_grad)
override;
50 void cmptApproxPixHessian(MatrixXd &pix_hess_ssm,
const PixHessT &pix_hess_coord,
51 const PixGradT &pix_grad)
override;
52 void cmptPixHessian(MatrixXd &pix_hess_ssm,
const PixHessT &pix_hess_coord,
53 const PixGradT &pix_grad)
override;
55 void setCorners(
const CornersT& corners)
override;
56 void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
57 const vector<cv::Point2f> &in_pts,
const vector<cv::Point2f> &out_pts,
58 int estimation_method,
double ransac_reproj_thresh)
override;
60 void invertState(VectorXd& inv_state,
const VectorXd& state)
override;
62 void updateGradPts(
double grad_eps)
override;
63 void updateHessPts(
double hess_eps)
override;
65 bool supportsSPI()
override{
return true; }
67 void getInitPixGrad(Matrix2Xd &jacobian_prod,
int pix_id)
override;
68 void getCurrPixGrad(Matrix2Xd &jacobian_prod,
int pix_id)
override;
70 void generatePerturbation(VectorXd &state_update)
override;
72 void getWarpFromState(Matrix3d &warp_mat,
const VectorXd& ssm_state)
override;
73 void getStateFromWarp(VectorXd &state_vec,
const Matrix3d& warp_mat)
override;
77 CornersT norm_corners;
78 PtsT corner_control_pts;
79 MatrixX2dM tps_params;
80 VectorXi ctrl_idx, ctrl_idy;
84 CornersT disturbed_corners;
Definition: StateSpaceModel.h:35
Thin plate splines.
Definition: TPS.h:28
Definition: StateSpaceModel.h:49