0
你好,我正在试图适合一个图像的psf。背景应该用低阶多项式来近似。如果我只是把一个常数,它工作正常:适合执行
def fitter(image, trueImage,psf,intensity):
p0 = [intensity]
p0.append(np.amin(trueImage)*4**2)
meritFun = lambda p: np.ravel(image-(p[0]*psf+p[1]))
p = least_squares(meritFun,p0,method='trf')
现在我有一个如何来改变x的问题和y对我的多项式:
#Does not work!
def fitter(image, trueImage,psf,intensity):
p0 = [intensity]
p0.append(np.amin(trueImage)*4**2)
p0.append(1)
p0.append(1) #some clever initial guess
meritFun = lambda p: np.ravel(image-(p[0]*psf+p[1]+p[2]*x+p[3]*y))
p = least_squares(meritFun,p0,method='trf')
x和y是obviuosly指数我,j我的图像阵列,但我怎么知道我的适合的例程?
您是否在寻找像'np.ogrid [:image.shape [0]: image.shape [1]]'? –
np.ogrid感觉不错....我做的:'meritFun = lambda p:np.ravel(image - (p [0] * psf + p [1] * np.ogrid [:image.shape [0] ] + p [2] * np.ogrid [:image.shape [1]] + p [3]))'。这是否正确实施?代码编译,但现在我的钳工没有找到解决方案(这可能是一个数值难题,但我想排除我的函数有什么问题。再次我想要的模型看起来像:'image - (A * psf + c1 * x + c2 * y + c0)' – Sebastiano1991
我现在很确定np.ogrid做了这个把戏,谢谢你非常有用的功能! – Sebastiano1991