def test_image_stack_correlation():
    num_levels = 1
    num_bufs = 2  # must be even
    coins = data.camera()
    coins_stack = []

    for i in range(4):
        coins_stack.append(coins)

    coins_mesh = np.zeros_like(coins)
    coins_mesh[coins < 30] = 1
    coins_mesh[coins > 50] = 2

    g2, lag_steps = corr.multi_tau_auto_corr(num_levels, num_bufs, coins_mesh, coins_stack)

    assert np.all(g2[:, 0], axis=0)
    assert np.all(g2[:, 1], axis=0)

    num_buf = 5

    # check the number of buffers are even
    assert_raises(ValueError, lambda: corr.multi_tau_auto_corr(num_levels, num_buf, coins_mesh, coins_stack))
    # check image shape and labels shape are equal
    # assert_raises(ValueError,
    #            lambda : corr.multi_tau_auto_corr(num_levels, num_bufs,
    #                                                indices, coins_stack))

    # check the number of pixels is zero
    mesh = np.zeros_like(coins)
    assert_raises(ValueError, lambda: corr.multi_tau_auto_corr(num_levels, num_bufs, mesh, coins_stack))
示例#2
0
def test_image_stack_correlation():
    num_levels = 1
    num_bufs = 2  # must be even
    coins = data.camera()
    coins_stack = []

    for i in range(4):
        coins_stack.append(coins)

    coins_mesh = np.zeros_like(coins)
    coins_mesh[coins < 30] = 1
    coins_mesh[coins > 50] = 2

    g2, lag_steps = corr.multi_tau_auto_corr(num_levels, num_bufs, coins_mesh,
                                             coins_stack)

    assert_almost_equal(True, np.all(g2[:, 0], axis=0))
    assert_almost_equal(True, np.all(g2[:, 1], axis=0))
def test_correlation():
    num_levels = 4
    num_bufs = 8  # must be even
    num_qs = 2  # number of interested roi's (rings)
    img_dim = (50, 50)  # detector size

    roi_data = np.array(([10, 20, 12, 14], [40, 10, 9, 10]), dtype=np.int64)

    indices = roi.rectangles(roi_data, img_dim)

    img_stack = np.random.randint(1, 5, size=(500,) + img_dim)

    g2, lag_steps = corr.multi_tau_auto_corr(num_levels, num_bufs, indices, img_stack)

    assert_array_almost_equal(
        lag_steps, np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56])
    )

    assert_array_almost_equal(g2[1:, 0], 1.00, decimal=2)
    assert_array_almost_equal(g2[1:, 1], 1.00, decimal=2)
    im = ax.imshow(image, interpolation='none', norm=LogNorm())
    im = ax.imshow(tt.reshape(*img_dim), cmap='Paired',
                   interpolation='nearest')

roi_names = ['gray', 'orange', 'brown']
tt = np.zeros(img_stack.shape[1:]).ravel()
tt[pixel_list] = roi_indices

fig, ax = plt.subplots()
ax.set_title("NIPA_GEL_250K")
overlay_rois(ax, roi_indices, pixel_list,
             img_stack.shape[1:], img_stack[0])

# g2 one time correlation results for 3 ROI's
g2, lag_steps = corr.multi_tau_auto_corr(
    num_levels, num_bufs, labeled_roi_array, img_stack)
# lag_staps are delays for multiple tau analysis
lag_time = 0.001
lag_step = lag_steps[:g2.shape[0]]
lags = lag_step*lag_time

fig, axes = plt.subplots(num_rings, sharex=True, figsize=(5,10))
axes[num_rings-1].set_xlabel("lags")
for i, roi_color in zip(range(num_rings), roi_names):
    axes[i].set_ylabel("g2")
    axes[i].semilogx(lags, g2[:, i], 'o', markerfacecolor=roi_color, markersize=10)
    axes[i].set_ylim(bottom=1, top=np.max(g2[1:, i]))

plt.show()
示例#5
0
    im = ax.imshow(image, interpolation='none', norm=LogNorm())
    im = ax.imshow(tt.reshape(*img_dim),
                   cmap='Paired',
                   interpolation='nearest')


roi_names = ['gray', 'orange', 'brown']
tt = np.zeros(img_stack.shape[1:]).ravel()
tt[pixel_list] = roi_indices

fig, ax = plt.subplots()
ax.set_title("NIPA_GEL_250K")
overlay_rois(ax, roi_indices, pixel_list, img_stack.shape[1:], img_stack[0])

# g2 one time correlation results for 3 ROI's
g2, lag_steps = corr.multi_tau_auto_corr(num_levels, num_bufs,
                                         labeled_roi_array, img_stack)
# lag_staps are delays for multiple tau analysis
lag_time = 0.001
lag_step = lag_steps[:g2.shape[0]]
lags = lag_step * lag_time

fig, axes = plt.subplots(num_rings, sharex=True, figsize=(5, 10))
axes[num_rings - 1].set_xlabel("lags")
for i, roi_color in zip(range(num_rings), roi_names):
    axes[i].set_ylabel("g2")
    axes[i].semilogx(lags,
                     g2[:, i],
                     'o',
                     markerfacecolor=roi_color,
                     markersize=10)
    axes[i].set_ylim(bottom=1, top=np.max(g2[1:, i]))