Q3D-Calibration/include/utils.h

21 lines
463 B
C

#pragma once
#ifndef utils_h
#define utils_h
#include <cmath>
double Gaussian(double x, double* p) {
return p[0] * exp(-(x - p[1]) * (x - p[1]) / (2 * p[2] * p[2]));
}
double* GaussianJacobian(double x, double *p) {
double* resJ = new double[3];
resJ[0] = -Gaussian(x, p) / p[0];
resJ[1] = -(x - p[1]) * Gaussian(x, p) / (p[2] * p[2]);
resJ[2] = -(x - p[1]) * (x - p[1]) * Gaussian(x, p) / (p[2] * p[2] * p[2]);
return resJ;
}
#endif