在Python中集成2D高斯

时间:2017-07-28 10:30:12

标签: python integration gaussian

我已经定义了这样的2D高斯:

def gauss2D((x, y), A, x0, y0, sx, sy, offset):
    g = offset + A*np.exp(-((x - x0) ** 2. / (2. * sx ** 2) + (y - y0) ** 2 / (2. * sy ** 2)))
    return g.ravel()

我想在+/- sx和+/- sy之间进行整合。我知道以前适合我的数据的所有参数:popt, pcov = opt.curve_fit(gauss2D, (x, y), src_region.ravel(), p0=initial_guess)

我可以使用dbquad吗?或者我需要使用Gauss-Hermite quadratures?

我已经尝试了dbquad但又回复了:

flux_fit = dblquad(gauss2D, -popt[3], popt[3], lambda x: -popt[4], lambda x: popt[4],
                                         args=(popt[0], popt[1], popt[2], popt[3], popt[4], popt[5]))

return _quadpack._qagse(func,a,b,args,full_output,epsabs,epsrel,limit)
TypeError: gauss2D() takes exactly 7 arguments (8 given)

由于

0 个答案:

没有答案