コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
    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)
コード例 #4
0
    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: