mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-13 03:35:55 +08:00
STY: Refactor MatplotlibCanvas from ImageCanvas and PlotCanvas.
This commit is contained in:
@@ -2,12 +2,12 @@ import numpy as np
|
||||
from PyQt4 import QtGui
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg
|
||||
|
||||
from ..utils import MatplotlibCanvas
|
||||
from .base import Plugin
|
||||
|
||||
|
||||
class PlotCanvas(FigureCanvasQTAgg):
|
||||
class PlotCanvas(MatplotlibCanvas):
|
||||
"""Canvas for displaying images.
|
||||
|
||||
This canvas derives from Matplotlib, and has attributes `fig` and `ax`,
|
||||
@@ -15,17 +15,9 @@ class PlotCanvas(FigureCanvasQTAgg):
|
||||
"""
|
||||
def __init__(self, parent, height, width, **kwargs):
|
||||
self.fig, self.ax = plt.subplots(figsize=(height, width), **kwargs)
|
||||
|
||||
FigureCanvasQTAgg.__init__(self, self.fig)
|
||||
FigureCanvasQTAgg.setSizePolicy(self,
|
||||
QtGui.QSizePolicy.Expanding,
|
||||
QtGui.QSizePolicy.Expanding)
|
||||
FigureCanvasQTAgg.updateGeometry(self)
|
||||
# Note: `setParent` must be called after `FigureCanvasQTAgg.__init__`.
|
||||
self.setParent(parent)
|
||||
super(PlotCanvas, self).__init__(parent, self.fig, **kwargs)
|
||||
self.setMinimumHeight(150)
|
||||
|
||||
|
||||
class PlotPlugin(Plugin):
|
||||
"""Plugin for ImageViewer that contains a plot canvas.
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.colors import LinearSegmentedColormap
|
||||
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg
|
||||
from PyQt4 import QtGui
|
||||
|
||||
|
||||
__all__ = ['figimage', 'LinearColormap', 'ClearColormap']
|
||||
__all__ = ['figimage', 'LinearColormap', 'ClearColormap', 'MatplotlibCanvas']
|
||||
|
||||
|
||||
def figimage(image, scale=1, dpi=None, **kwargs):
|
||||
@@ -72,3 +74,16 @@ class ClearColormap(LinearColormap):
|
||||
'red': [(0.0, r), (1.0, r)],
|
||||
'alpha': [(0.0, 0.0), (1.0, max_alpha)]}
|
||||
LinearColormap.__init__(self, name, cg_speq)
|
||||
|
||||
|
||||
class MatplotlibCanvas(FigureCanvasQTAgg):
|
||||
"""Canvas for displaying images."""
|
||||
def __init__(self, parent, figure, **kwargs):
|
||||
self.fig = figure
|
||||
FigureCanvasQTAgg.__init__(self, self.fig)
|
||||
FigureCanvasQTAgg.setSizePolicy(self,
|
||||
QtGui.QSizePolicy.Expanding,
|
||||
QtGui.QSizePolicy.Expanding)
|
||||
FigureCanvasQTAgg.updateGeometry(self)
|
||||
# Note: `setParent` must be called after `FigureCanvasQTAgg.__init__`.
|
||||
self.setParent(parent)
|
||||
|
||||
@@ -4,26 +4,18 @@ ImageViewer class for viewing and interacting with images.
|
||||
import sys
|
||||
|
||||
from PyQt4 import QtGui, QtCore
|
||||
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg
|
||||
|
||||
from skimage.viewer.utils import figimage
|
||||
from ..utils import figimage, MatplotlibCanvas
|
||||
|
||||
|
||||
qApp = None
|
||||
|
||||
|
||||
class ImageCanvas(FigureCanvasQTAgg):
|
||||
class ImageCanvas(MatplotlibCanvas):
|
||||
"""Canvas for displaying images."""
|
||||
def __init__(self, parent, image, **kwargs):
|
||||
self.fig, self.ax = figimage(image, **kwargs)
|
||||
|
||||
FigureCanvasQTAgg.__init__(self, self.fig)
|
||||
FigureCanvasQTAgg.setSizePolicy(self,
|
||||
QtGui.QSizePolicy.Expanding,
|
||||
QtGui.QSizePolicy.Expanding)
|
||||
FigureCanvasQTAgg.updateGeometry(self)
|
||||
# Note: `setParent` must be called after `FigureCanvasQTAgg.__init__`.
|
||||
self.setParent(parent)
|
||||
super(ImageCanvas, self).__init__(parent, self.fig, **kwargs)
|
||||
|
||||
|
||||
class ImageViewer(QtGui.QMainWindow):
|
||||
|
||||
Reference in New Issue
Block a user