def initGaussian(im): """Returns (y0, x0, sigmay, sigmax, phi, amp, offset) the gaussian parameters of a 2D distribution by calculating its moments borrowed from: http://wiki.scipy.org/Cookbook/FittingData""" #total = im.sum() #X, Y = np.indices(im.shape) #y = (Y*im).sum()/total #x = (X*im).sum()/total y0, x0 = img.maxPos(im) col = im[:, int(y0)] sigmax = np.sqrt(abs((np.arange(col.size)-y0)**2*col).sum()/np.abs(col).sum()) row = im[int(x0), :] sigmay = np.sqrt(abs((np.arange(row.size)-x0)**2*row).sum()/np.abs(row).sum()) offset = np.median(im) amp = im.max() - offset phi = 0. # no rotation return float(x0), float(y0), sigmax, sigmay, phi, amp, offset
def initGaussian(im): """Returns (y0, x0, sigmay, sigmax, phi, amp, offset) the gaussian parameters of a 2D distribution by calculating its moments borrowed from: http://wiki.scipy.org/Cookbook/FittingData""" #total = im.sum() #X, Y = np.indices(im.shape) #y = (Y*im).sum()/total #x = (X*im).sum()/total y0, x0 = img.maxPos(im) col = im[:, int(y0)] sigmax = np.sqrt( abs((np.arange(col.size) - y0)**2 * col).sum() / np.abs(col).sum()) row = im[int(x0), :] sigmay = np.sqrt( abs((np.arange(row.size) - x0)**2 * row).sum() / np.abs(row).sum()) offset = np.median(im) amp = im.max() - offset phi = 0. # no rotation return float(x0), float(y0), sigmax, sigmay, phi, amp, offset
tc+=1 try: beta0,phi0=initBetaPhi(subim,mode='basic') print beta0, phi0 beta0,phi0=initBetaPhi(subim,mode='fit') print beta0, phi0 except: print 'Test failed (%i):'%tc, sys.exc_info()[0] te+=1 #genPolarBasisMatrix(beta,nmax,r,th): #solveCoeffs(m,im): tc+=1 try: beta0,phi0=initBetaPhi(subim,mode='fit') xc=img.maxPos(subim) r0,th0=shapelet.polarArray(xc,subim.shape) mPolar=genPolarBasisMatrix(beta0,5,0.,r0,th0) coeffs=solveCoeffs(mPolar,subim) print coeffs if write_files: fileio.writeLageurreCoeffs('testLageurre.pkl',coeffs,xc,subim.shape,beta0,0.,[5,5],pos=[hdr['ra'],hdr['dec'],hdr['dra'],hdr['ddec']],info='Test Lageurre coeff file') except: print 'Test failed (%i):'%tc, sys.exc_info()[0] te+=1 #genBasisMatrix(beta,nmax,rx,ry): #solveCoeffs(m,im): tc+=1 try: beta0,phi0=initBetaPhi(subim,mode='fit') xc=img.maxPos(subim)
tc += 1 try: beta0, phi0 = initBetaPhi(subim, mode='basic') print beta0, phi0 beta0, phi0 = initBetaPhi(subim, mode='fit') print beta0, phi0 except: print 'Test failed (%i):' % tc, sys.exc_info()[0] te += 1 #genPolarBasisMatrix(beta,nmax,r,th): #solveCoeffs(m,im): tc += 1 try: beta0, phi0 = initBetaPhi(subim, mode='fit') xc = img.maxPos(subim) r0, th0 = shapelet.polarArray(xc, subim.shape) mPolar = genPolarBasisMatrix(beta0, 5, 0., r0, th0) coeffs = solveCoeffs(mPolar, subim) print coeffs if write_files: fileio.writeLageurreCoeffs( 'testLageurre.pkl', coeffs, xc, subim.shape, beta0, 0., [5, 5], pos=[hdr['ra'], hdr['dec'], hdr['dra'], hdr['ddec']], info='Test Lageurre coeff file') except: