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私の画像配列は、どのように私のフィットルーチンを教えてください?
探しています: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