From bd3ee7830675bf68722e0f7ed117a62efea90cb1 Mon Sep 17 00:00:00 2001 From: Tony S Yu Date: Sat, 21 Jul 2012 17:09:29 -0500 Subject: [PATCH] Delete overlay when deleting plugin. --- skimage/viewer/plugins/canny.py | 4 ++++ skimage/viewer/viewers/core.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/skimage/viewer/plugins/canny.py b/skimage/viewer/plugins/canny.py index 176dcf0d..81cc07fe 100644 --- a/skimage/viewer/plugins/canny.py +++ b/skimage/viewer/plugins/canny.py @@ -18,3 +18,7 @@ class CannyPlugin(Plugin): def callback(self, *args, **kwargs): image = canny(*args, **kwargs) self.image_viewer.overlay = image + + def closeEvent(self, event): + self.image_viewer.overlay = None + super(CannyPlugin, self).closeEvent(event) diff --git a/skimage/viewer/viewers/core.py b/skimage/viewer/viewers/core.py index a2bc2385..65939e9a 100644 --- a/skimage/viewer/viewers/core.py +++ b/skimage/viewer/viewers/core.py @@ -117,7 +117,10 @@ class ImageViewer(QtGui.QMainWindow): @overlay.setter def overlay(self, image): self._overlay = image - if self._overlay_plot is None: + if image is None: + self.ax.images.remove(self._overlay_plot) + self._overlay_plot = None + elif self._overlay_plot is None: self._overlay_plot = self.ax.imshow(image, cmap=self.overlay_cmap) else: self._overlay_plot.set_array(image)