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))
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()
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]))