def test_plugin(): img = skimage.img_as_float(data.moon()) viewer = ImageViewer(img) def median_filter(img, radius=3): return median(img, selem=disk(radius=radius)) plugin = Plugin(image_filter=median_filter) viewer += plugin plugin += Slider('radius', 1, 5) assert_almost_equal(np.std(viewer.image), 12.556, 3) plugin.filter_image() assert_almost_equal(np.std(viewer.image), 12.931, 3) plugin.show() plugin.close() plugin.clean_up() img, _ = plugin.output() assert_equal(img, viewer.image)
================================== Demo of a CollectionViewer for viewing collections of images with the `autolevel` rank filter connected as a plugin. """ from skimage import data from skimage.filter import rank from skimage.morphology import disk from skimage.viewer import CollectionViewer from skimage.viewer.widgets import Slider from skimage.viewer.plugins.base import Plugin # Wrap autolevel function to make the disk size a filter argument. def autolevel(image, disk_size): return rank.autolevel(image, disk(disk_size)) img_collection = [data.camera(), data.coins(), data.text()] plugin = Plugin(image_filter=autolevel) plugin += Slider("disk_size", 2, 8, value_type="int") plugin.name = "Autolevel" viewer = CollectionViewer(img_collection) viewer += plugin viewer.show()