ENH: Add demo of LabelPlugin

This commit is contained in:
Tony S Yu
2012-12-26 22:10:27 -08:00
parent df916713f5
commit d77aa6034e
+31
View File
@@ -0,0 +1,31 @@
import matplotlib.pyplot as plt
from skimage import data
from skimage import filter
from skimage import morphology
from skimage.viewer import ImageViewer
from skimage.viewer.plugins.labelplugin import LabelPainter
class WatershedPlugin(LabelPainter):
def help(self):
helpstr = ("Watershed plugin",
"----------------",
"Use mouse to paint each region with a different label.",
"Press enter to display segmented image.")
return '\n'.join(helpstr)
def on_enter(self, overlay):
viewer = self.image_viewer
edge_image = filter.sobel(viewer.image)
labels = morphology.watershed(edge_image, overlay)
viewer.ax.imshow(labels, cmap=plt.cm.jet, alpha=0.5)
viewer.redraw()
self.close()
image = data.coins()
viewer = ImageViewer(image)
viewer += WatershedPlugin()
viewer.show()