46 #include <visp/vpColVector.h>
47 #include <visp/vpDebug.h>
48 #include <visp/vpAdaptiveGain.h>
73 this ->initFromVoid ();
96 this ->coeff_c = lambda;
134 const double en_infini,
135 const double pente_en_zero)
139 this ->coeff_a = en_zero - en_infini;
141 if (std::fabs(
this ->coeff_a) <= std::numeric_limits<double>::epsilon())
147 this ->coeff_b = pente_en_zero / (
this ->coeff_a);
149 this ->coeff_c = en_infini;
152 this ->coeff_a,
this ->coeff_b,
this ->coeff_c);
172 double res =
this ->coeff_a +
this ->coeff_c;
176 this ->coeff_c = res;
201 double res =
this ->coeff_a * exp (-
this ->coeff_b * val_e)
218 double res =
this ->coeff_c;
242 this ->lambda =
this ->value_const (val_e);
260 this ->lambda =
this ->limitValue_const ();
289 return this ->value (val_e);
300 return this ->limitValue ();
314 return this ->value (e .infinityNorm());
337 os <<
"Zero= " << lambda .coeff_a + lambda .coeff_c
338 <<
"\tInf= " << lambda .coeff_c
339 <<
"\tDeriv= " << lambda .coeff_a * lambda .coeff_b;
Adaptive gain computation.
static const double DEFAULT_LAMBDA_ZERO
void initFromConstant(double lambda)
static const double DEFAULT_LAMBDA_PENTE
double limitValue_const(void) const
double operator()(void) const
VISP_EXPORT std::ostream & operator<<(std::ostream &os, const vpImagePoint &ip)
static const double DEFAULT_LAMBDA_INFINI
Class that provides a data structure for the column vectors as well as a set of operations on these v...
double limitValue(void) const
double value_const(double val_e) const
void initStandard(double en_zero, double en_infini, double pente_en_zero)
double value(double val_e) const