1 #ifndef MTF_SUM_OF_AMS_H     2 #define MTF_SUM_OF_AMS_H     4 #include "AppearanceModel.h"    10         const AMDist *_am2, 
double _am1_norm_factor, 
double _am2_norm_factor,
    11         unsigned int _am1_dist_feat_size, 
unsigned int _am2_dist_feat_size);
    12     double operator()(
const double* a, 
const double* b,
    13         size_t size, 
double worst_dist = -1) 
const override;
    16     double am1_norm_factor, am2_norm_factor;
    17     unsigned int am1_dist_feat_size, am2_dist_feat_size;
    27         const ParamType *_params = 
nullptr, 
const int _n_channels = 1);
    29         return am1->inputType() == am2->inputType() ? am1->inputType() : HETEROGENEOUS_INPUT;
    31     void setCurrImg(
const cv::Mat &cv_img) 
override;
    34         return am1->getLikelihood()*am1_norm_factor +
    35             am2->getLikelihood()*am2_norm_factor;
    40     void initializePixVals(
const PtsT& init_pts) 
override;
    41     void initializePixGrad(
const GradPtsT &warped_offset_pts) 
override;
    42     void initializePixGrad(
const PtsT &init_pts) 
override;
    43     void initializePixHess(
const PtsT& init_pts, 
const HessPtsT &warped_offset_pts) 
override;
    44     void initializePixHess(
const PtsT &init_pts) 
override;
    46     void initializeSimilarity() 
override;
    47     void initializeGrad() 
override;
    48     void initializeHess() 
override;
    54     void updatePixVals(
const PtsT& curr_pts) 
override;
    56     void updatePixGrad(
const GradPtsT &warped_offset_pts) 
override;
    57     void updatePixGrad(
const PtsT &curr_pts) 
override;
    59     void updatePixHess(
const PtsT &curr_pts) 
override;
    60     void updatePixHess(
const PtsT& curr_pts, 
const HessPtsT &warped_offset_pts) 
override;
    62     void updateSimilarity(
bool prereq_only = 
true) 
override;
    63     void updateInitGrad() 
override;
    65     void updateCurrGrad() 
override;
    67     void cmptInitHessian(MatrixXd &init_hessian, 
const MatrixXd &init_pix_jacobian) 
override;
    68     void cmptCurrHessian(MatrixXd &curr_hessian, 
const MatrixXd &curr_pix_jacobian) 
override;
    70     void cmptInitHessian(MatrixXd &init_hessian, 
const MatrixXd &init_pix_jacobian,
    71         const MatrixXd &init_pix_hessian) 
override;
    72     void cmptCurrHessian(MatrixXd &curr_hessian, 
const MatrixXd &curr_pix_jacobian,
    73         const MatrixXd &curr_pix_hessian) 
override;
    75     void cmptSelfHessian(MatrixXd &self_hessian, 
const MatrixXd &curr_pix_jacobian) 
override;
    76     void cmptSelfHessian(MatrixXd &self_hessian, 
const MatrixXd &curr_pix_jacobian,
    77         const MatrixXd &curr_pix_hessian) 
override;
    80     VectorXd curr_feat_vec;
    81     const DistType* getDistFunc()
 override{
    82         return new DistType(name, am1->getDistFunc(),
    83             am2->getDistFunc(), am1_norm_factor, am2_norm_factor,
    84             am1_dist_feat_size, am2_dist_feat_size);
    86     void updateDistFeat(
double* feat_addr) 
override;
    87     void initializeDistFeat() 
override;
    88     void updateDistFeat() 
override;
    89     const double* getDistFeat()
 override{ 
return curr_feat_vec.data(); }
    90     unsigned int getDistFeatSize() 
override;
    94     double am1_norm_factor, am2_norm_factor;
    95     unsigned int am1_dist_feat_size, am2_dist_feat_size;
 Definition: AMParams.h:12
 
double operator()(const double *a, const double *b, size_t size, double worst_dist=-1) const override
computes the distance / dissimilarity between two patches where each is codified or represented by a ...
 
Distance functor for FLANN. 
Definition: AppearanceModel.h:40
 
Definition: SumOfAMs.h:21
 
double getLikelihood() const override
returns a normalized version of the similarity that lies between 0 and 1 and can be interpreted as th...
Definition: SumOfAMs.h:33
 
Similarity function that indicates how well a candidate warped patch matches the template. 
Definition: AppearanceModel.h:63
 
int inputType() const override
return the type of OpenCV Mat image the AM requires as input; typically either CV_32FC3 or CV_32FC1 ...
Definition: SumOfAMs.h:28