def test_line_profile_dynamic(): """Test a line profile updating after an image transform""" image = data.coins()[:-50, :] # shave some off to make the line lower image = skimage.img_as_float(image) viewer = ImageViewer(image) lp = LineProfile(limits='dtype') viewer += lp line = lp.get_profiles()[-1][0] assert line.size == 129 assert_almost_equal(np.std(viewer.image), 0.208, 3) assert_almost_equal(np.std(line), 0.229, 3) assert_almost_equal(np.max(line) - np.min(line), 0.725, 1) # Matplotlib 2.2.3 seems to use np.asscalar which issues a warning # with numpy 1.16 # Matplotlib 2.2.3 is the last supported version for Python 2.7 with expected_warnings(['precision loss', r'np.asscalar|\A\Z']): viewer.image = skimage.img_as_float(median(image, selem=disk(radius=3))) line = lp.get_profiles()[-1][0] assert_almost_equal(np.std(viewer.image), 0.198, 3) assert_almost_equal(np.std(line), 0.220, 3) assert_almost_equal(np.max(line) - np.min(line), 0.639, 1)
def test_viewer(): astro = data.astronaut() coins = data.coins() view = ImageViewer(astro) import tempfile _, filename = tempfile.mkstemp(suffix='.png') view.show(False) view.close() view.save_to_file(filename) view.open_file(filename) assert_equal(view.image, astro) view.image = coins assert_equal(view.image, coins), view.save_to_file(filename), view.open_file(filename), view.reset_image(), assert_equal(view.image, coins)
def test_line_profile_dynamic(): """Test a line profile updating after an image transform""" image = data.coins()[:-50, :] # shave some off to make the line lower image = skimage.img_as_float(image) viewer = ImageViewer(image) lp = LineProfile(limits='dtype') viewer += lp line = lp.get_profiles()[-1][0] assert line.size == 129 assert_almost_equal(np.std(viewer.image), 0.208, 3) assert_almost_equal(np.std(line), 0.229, 3) assert_almost_equal(np.max(line) - np.min(line), 0.725, 1) viewer.image = skimage.img_as_float(median(image, selem=disk(radius=3))) line = lp.get_profiles()[-1][0] assert_almost_equal(np.std(viewer.image), 0.198, 3) assert_almost_equal(np.std(line), 0.220, 3) assert_almost_equal(np.max(line) - np.min(line), 0.639, 1)