MTF
Public Types | Public Member Functions | Protected Attributes | List of all members
GB Class Reference
Inheritance diagram for GB:
IlluminationModel

Public Types

typedef GBParams ParamType
 
- Public Types inherited from IlluminationModel
enum  PixHessType { Constant, Diagonal, General }
 

Public Member Functions

 GB (const ParamType *_gb_params=nullptr)
 
void initialize (double *p) override
 
int getStateSize () const override
 
void apply (double *g, const double *I, const double *p) override
 
void invert (double *inv_p, const double *p) override
 
void update (double *new_p, const double *old_p, const double *dp) override
 
void cmptParamJacobian (double *df_dp, const double *df_dg, const double *I, const double *p) override
 ILM Jacobians.
 
void cmptPixJacobian (double *df_dI, const double *df_dg, const double *I, const double *p) override
 
void cmptParamHessian (double *d2f_dp2, const double *d2f_dg2, const double *I, const double *p) override
 First order ILM hessians. More...
 
void cmptPixHessian (double *d2f_dI2, const double *d2f_dg2, const double *I, const double *p) override
 d2f_dI2 = dg_dI^T*d2f_dg2*dg_dI
 
void cmptCrossHessian (double *d2f_dp_dI, const double *d2f_dg2, const double *I, const double *p) override
 d2f_dp_dI = dg_dp^T*d2f_dg2*dg_dI
 
void cmptParamHessian (double *d2f_dp2, const double *d2f_dg2, const double *df_dg, const double *I, const double *p) override
 NULL/nullptr for d2f_dg2 implies that the corresponding matrix is identity; conversely a non negative return imples an identity d2f_dI2 scaled by the return value; these conventions are necessary to avoid unnecessary and very expensive matrix multiplications;. More...
 
void cmptPixHessian (double *d2f_dI2, const double *d2f_dg2, const double *df_dg, const double *I, const double *p) override
 d2f_dI2 = dg_dI^T*d2f_dg2*dg_dI + df_dg*d2g_dI2
 
void cmptCrossHessian (double *d2f_dp_dI, const double *d2f_dg2, const double *df_dg, const double *I, const double *p) override
 d2f_dp_dI = dg_dp^T*d2f_dg2*dg_dI + df_dg*d2g_dpdI
 
PixHessType getPixHessType () override
 
void parseSamplerSigma (VectorXd &out_sigma, const VectorXd &in_sigma) override
 
void parseSamplerMean (VectorXd &out_mean, const VectorXd &in_mean) override
 
- Public Member Functions inherited from IlluminationModel
 IlluminationModel (const ILMParams *ilm_params)
 
virtual void setPixHessType (PixHessType _d2f_dg2_type)
 

Protected Attributes

ParamType params
 
- Protected Attributes inherited from IlluminationModel
int resx
 
int resy
 
int n_pix
 
PixHessType d2f_dg2_type
 

Additional Inherited Members

- Public Attributes inherited from IlluminationModel
string name
 
bool apply_on_init
 

Member Function Documentation

void GB::cmptParamHessian ( double *  d2f_dp2,
const double *  d2f_dg2,
const double *  I,
const double *  p 
)
overridevirtual

First order ILM hessians.

d2f_dp2 = dg_dp^T*d2f_dg2*dg_dp

Implements IlluminationModel.

void GB::cmptParamHessian ( double *  d2f_dp2,
const double *  d2f_dg2,
const double *  df_dg,
const double *  I,
const double *  p 
)
inlineoverridevirtual

NULL/nullptr for d2f_dg2 implies that the corresponding matrix is identity; conversely a non negative return imples an identity d2f_dI2 scaled by the return value; these conventions are necessary to avoid unnecessary and very expensive matrix multiplications;.

Second order ILM hessiansd2f_dp2 = dg_dp^T*d2f_dg2*dg_dp + df_dg*d2g_dp2

Implements IlluminationModel.


The documentation for this class was generated from the following file: