Files
scikit-image/skimage/viewer/plugins/crop.py
T
2012-12-12 23:59:40 -05:00

35 lines
1009 B
Python

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()