Beispiel #1
0
def maximum_position(power_masked, kx, ky):
    # estimate the maximum by parabolic->gaussian interpolation of pixels
    dkx, dky = kx[0,1]-kx[0,0], ky[1,0]-ky[0,0]
    iy_max, ix_max = ndimage.maximum_position(power_masked)
    data_roi = power_masked.data[iy_max-1:iy_max+2, ix_max-1:ix_max+2]
    x0, y0, z0 = utils.parab_interpolation(np.log(data_roi), 1, 1)
    k_vec = np.array([(x0+ix_max-1)*dkx + kx[0, 0], (y0+iy_max-1)*dky + ky[0, 0]])
    amp = np.exp(z0)
    return k_vec, amp
Beispiel #2
0
 def findmax(data):
     i_max = data.argmax()
     ix_max = int(i_max % data.shape[1])
     iy_max = int(i_max / data.shape[1])
     x0, y0, z0 = utils.parab_interpolation(data, ix_max, iy_max)
     return np.array([kx[0]+x0*dkx, ky[0]+y0*dky])