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