mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-13 17:45:20 +08:00
ENH: Display overlay by default
This commit is contained in:
@@ -84,7 +84,12 @@ class Plugin(QtGui.QDialog):
|
||||
arguments = [self._get_value(a) for a in self.arguments]
|
||||
kwargs = dict([(name, self._get_value(a))
|
||||
for name, a in self.keyword_arguments.iteritems()])
|
||||
self.image_filter(*arguments, **kwargs)
|
||||
filtered = self.image_filter(*arguments, **kwargs)
|
||||
self.display_filtered_image(filtered)
|
||||
|
||||
def display_filtered_image(self, image):
|
||||
"""Override this method to display image on image viewer."""
|
||||
pass
|
||||
|
||||
def _get_value(self, param):
|
||||
return param if not hasattr(param, 'val') else param.val()
|
||||
@@ -102,6 +107,9 @@ class Plugin(QtGui.QDialog):
|
||||
self.layout.addWidget(widget, self.row, 0)
|
||||
self.row += 1
|
||||
|
||||
def __iadd__(self, widget):
|
||||
self.add_widget(widget)
|
||||
|
||||
def update_plugin(self, name, value):
|
||||
setattr(self, name, value)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ class CannyPlugin(OverlayPlugin):
|
||||
name = 'Canny Filter'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CannyPlugin, self).__init__(**kwargs)
|
||||
super(CannyPlugin, self).__init__(image_filter=canny, **kwargs)
|
||||
|
||||
self.add_widget(Slider('sigma', 0, 5, update_on='release'))
|
||||
self.add_widget(Slider('low threshold', 0, 255, update_on='release'))
|
||||
@@ -20,7 +20,3 @@ class CannyPlugin(OverlayPlugin):
|
||||
super(CannyPlugin, self).attach(image_viewer)
|
||||
# Update image overlay to default slider values.
|
||||
self.filter_image()
|
||||
|
||||
def image_filter(self, *args, **kwargs):
|
||||
image = canny(*args, **kwargs)
|
||||
self.overlay = image
|
||||
|
||||
@@ -45,6 +45,10 @@ class OverlayPlugin(Plugin):
|
||||
self._overlay_plot.set_array(image)
|
||||
self.image_viewer.redraw()
|
||||
|
||||
def display_filtered_image(self, image):
|
||||
"""Display image over image in viewer."""
|
||||
self.overlay = image
|
||||
|
||||
def closeEvent(self, event):
|
||||
self.overlay = None
|
||||
super(OverlayPlugin, self).closeEvent(event)
|
||||
|
||||
Reference in New Issue
Block a user