示例#1
0
def binstats_test():
    lin = np.arange(10)
    inds = np.zeros((4), dtype=np.object)
    inds[0] = np.ones((len(lin)), dtype=np.int32)
    inds[1] = np.array([])
    inds[2] = np.array(1)
    inds[3] = lin
    res = r.binstats(inds, lin, (1, 1, 1, 1))
    assert(res[0][0] == 1.0)
    assert(np.isnan(res[0][1]))
    assert(res[0][2] == 1.0)
    assert(res[0][3] == np.mean(lin))
    assert(res[1][0] == 1.0)
    assert(np.isnan(res[1][1]))
    assert(res[1][2] == 1.0)
    assert(res[1][3] == np.mean(lin))
    assert(res[2][0] == 0.0)
    assert(np.isnan(res[2][1]))
    assert(res[2][2] == 0.0)
    assert(res[2][3] == np.std(lin)/np.sqrt(len(lin)))
    assert(res[3][0] == np.sqrt(len(lin))/len(lin))
    assert(np.isnan(res[3][1]))
    assert(res[3][2] == 1.0)
    assert(res[3][3] == np.sqrt(np.sum(lin))/len(lin))
示例#2
0
def eiger_binned(indices, framefile):
    print(framefile)
    fr = read_eiger(framefile)
    stats = r.binstats(indices, fr.im, calculate=(1,0,1,1))
    return (stats[0], stats[2])
示例#3
0
def get_binned(indices, framefile):
    """Return mean and std of bins (defined by `indices`) in `framefile`.
    """
    fr = read_cbf(framefile)
    stats = r.binstats(indices, fr.im, calculate=(1,0,0,1))
    return (stats[0], stats[3]) # Mean and Poisson count std of mean