mirror of
https://github.com/wassname/scikit-image.git
synced 2026-09-09 11:33:41 +08:00
ENH: Add rectangle tool and crop plugin example
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from .base import Plugin
|
||||
from ..canvastools import RectangleTool
|
||||
from skimage.viewer.widgets.history import SaveButtons
|
||||
|
||||
|
||||
__all__ = ['Crop']
|
||||
|
||||
|
||||
class Crop(Plugin):
|
||||
name = 'Crop'
|
||||
|
||||
def __init__(self, maxdist=10, **kwargs):
|
||||
super(Crop, self).__init__(**kwargs)
|
||||
self.maxdist = maxdist
|
||||
self.add_widget(SaveButtons())
|
||||
print self.help()
|
||||
|
||||
def attach(self, image_viewer):
|
||||
super(Crop, self).attach(image_viewer)
|
||||
|
||||
self.rect_tool = RectangleTool(self.image_viewer.ax,
|
||||
maxdist=self.maxdist,
|
||||
on_enter=self.crop)
|
||||
|
||||
def help(self):
|
||||
helpstr = ("Crop tool",
|
||||
"Select rectangular region and press enter to crop.")
|
||||
return '\n'.join(helpstr)
|
||||
|
||||
def crop(self, extents):
|
||||
xmin, xmax, ymin, ymax = extents
|
||||
image = self.image_viewer.image[ymin:ymax+1, xmin:xmax+1]
|
||||
self.image_viewer.image = image
|
||||
self.image_viewer.ax.relim()
|
||||
Reference in New Issue
Block a user