class TestNamedScatterAlphaSlider(TestCaseQt): def setUp(self): super(TestNamedScatterAlphaSlider, self).setUp() self.plot = PlotWidget() self.aslider = AlphaSlider.NamedScatterAlphaSlider(plot=self.plot) self.aslider.setOrientation(qt.Qt.Horizontal) toolbar = qt.QToolBar("plot", self.plot) toolbar.addWidget(self.aslider) self.plot.addToolBar(toolbar) self.plot.show() self.qWaitForWindowExposed(self.plot) self.mouseMove(self.plot) # Move to center self.qapp.processEvents() def tearDown(self): self.qapp.processEvents() self.plot.setAttribute(qt.Qt.WA_DeleteOnClose) self.plot.close() del self.plot del self.aslider super(TestNamedScatterAlphaSlider, self).tearDown() def testWidgetEnabled(self): # no Scatter set initially, slider must be deactivate self.assertFalse(self.aslider.isEnabled()) self.plot.addScatter([0, 1, 2], [2, 3, 4], [5, 6, 7], legend="1") self.aslider.setLegend("1") # now we have an image set self.assertTrue(self.aslider.isEnabled()) def testGetScatter(self): self.plot.addScatter([0, 1, 2], [2, 3, 4], [5, 6, 7], legend="1") self.plot.addScatter([0, 10, 20], [20, 30, 40], [50, 60, 70], legend="2") self.aslider.setLegend("1") self.assertEqual(self.plot.getScatter("1"), self.aslider.getItem()) self.aslider.setLegend("2") self.assertEqual(self.plot.getScatter("2"), self.aslider.getItem()) def testGetAlpha(self): self.plot.addScatter([0, 10, 20], [20, 30, 40], [50, 60, 70], legend="1") self.aslider.setLegend("1") self.aslider.setValue(128) self.assertAlmostEqual(self.aslider.getAlpha(), 128. / 255)
class TestActiveImageAlphaSlider(TestCaseQt): def setUp(self): super(TestActiveImageAlphaSlider, self).setUp() self.plot = PlotWidget() self.aslider = AlphaSlider.ActiveImageAlphaSlider(plot=self.plot) self.aslider.setOrientation(qt.Qt.Horizontal) toolbar = qt.QToolBar("plot", self.plot) toolbar.addWidget(self.aslider) self.plot.addToolBar(toolbar) self.plot.show() self.qWaitForWindowExposed(self.plot) self.mouseMove(self.plot) # Move to center self.qapp.processEvents() def tearDown(self): self.qapp.processEvents() self.plot.setAttribute(qt.Qt.WA_DeleteOnClose) self.plot.close() del self.plot del self.aslider super(TestActiveImageAlphaSlider, self).tearDown() def testWidgetEnabled(self): # no active image initially, slider must be deactivate self.assertFalse(self.aslider.isEnabled()) self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]])) # now we have an active image self.assertTrue(self.aslider.isEnabled()) self.plot.setActiveImage(None) self.assertFalse(self.aslider.isEnabled()) def testGetImage(self): self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]])) self.assertEqual(self.plot.getActiveImage(), self.aslider.getItem()) self.plot.addImage(numpy.array([[0, 1, 3], [2, 4, 6]]), legend="2") self.plot.setActiveImage("2") self.assertEqual(self.plot.getImage("2"), self.aslider.getItem()) def testGetAlpha(self): self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]]), legend="1") self.aslider.setValue(137) self.assertAlmostEqual(self.aslider.getAlpha(), 137. / 255)
from PyMca5 import PyMcaPlugins import os from silx.test.utils import add_relative_noise from silx.gui.plot import PlotWidget # build a plot widget with a plugin toolbar button app = qt.QApplication([]) master_plot = PlotWidget() toolb = qt.QToolBar(master_plot) plugins_tb_2d = PluginsToolButton(plot=master_plot, parent=toolb, method="getPlugin2DInstance") plugins_tb_2d.getPlugins( method="getPlugin2DInstance", directoryList=[os.path.dirname(PyMcaPlugins.__file__)]) toolb.addWidget(plugins_tb_2d) master_plot.addToolBar(toolb) master_plot.show() # add a noisy image a, b = numpy.meshgrid(numpy.linspace(-10, 10, 500), numpy.linspace(-10, 5, 400), indexing="ij") myimg = numpy.asarray(numpy.sin(a * b) / (a * b), dtype='float32') myimg = add_relative_noise(myimg, max_noise=10.) # % master_plot.addImage(myimg) app.exec_()
from silx.gui import qt from silx.gui.plot import PlotWidget from silx.gui.plot import PrintPreviewToolButton app = qt.QApplication([]) x = numpy.arange(1000) # first widget has a standalone print preview action pw1 = PlotWidget() pw1.setWindowTitle("Widget 1 with standalone print preview") toolbar1 = qt.QToolBar(pw1) toolbutton1 = PrintPreviewToolButton.PrintPreviewToolButton(parent=toolbar1, plot=pw1) pw1.addToolBar(toolbar1) toolbar1.addWidget(toolbutton1) pw1.show() pw1.addCurve(x, numpy.tan(x * 2 * numpy.pi / 1000)) # next two plots share a common print preview pw2 = PlotWidget() pw2.setWindowTitle("Widget 2 with shared print preview") toolbar2 = qt.QToolBar(pw2) toolbutton2 = PrintPreviewToolButton.SingletonPrintPreviewToolButton( parent=toolbar2, plot=pw2) pw2.addToolBar(toolbar2) toolbar2.addWidget(toolbutton2) pw2.show() pw2.addCurve(x, numpy.sin(x * 2 * numpy.pi / 1000))
comment += ", ".join(legends) else: comment += "none" return comment, "CENTER" app = qt.QApplication([]) x = numpy.arange(1000) # first widget has a standalone preview action with custom title and comment pw1 = PlotWidget() pw1.setWindowTitle("Widget 1 with standalone print preview") toolbar1 = qt.QToolBar(pw1) toolbutton1 = MyPrintPreviewButton(parent=toolbar1, plot=pw1) pw1.addToolBar(toolbar1) toolbar1.addWidget(toolbutton1) pw1.show() pw1.addCurve(x, numpy.tan(x * 2 * numpy.pi / 1000)) # next two plots share a common standard print preview pw2 = PlotWidget() pw2.setWindowTitle("Widget 2 with shared print preview") toolbar2 = qt.QToolBar(pw2) toolbutton2 = PrintPreviewToolButton.SingletonPrintPreviewToolButton( parent=toolbar2, plot=pw2) pw2.addToolBar(toolbar2) toolbar2.addWidget(toolbutton2) pw2.show() pw2.addCurve(x, numpy.sin(x * 2 * numpy.pi / 1000))
# python -m PyMca5.PyMcaPlugins.Medfilt2DPlugin from PyMca5.PyMcaGui.PluginsToolButton import PluginsToolButton from PyMca5 import PyMcaPlugins import os from silx.test.utils import add_relative_noise from silx.gui.plot import PlotWidget # build a plot widget with a plugin toolbar button app = qt.QApplication([]) master_plot = PlotWidget() toolb = qt.QToolBar(master_plot) plugins_tb_2d = PluginsToolButton(plot=master_plot, parent=toolb, method="getPlugin2DInstance") plugins_tb_2d.getPlugins( method="getPlugin2DInstance", directoryList=[os.path.dirname(PyMcaPlugins.__file__)]) toolb.addWidget(plugins_tb_2d) master_plot.addToolBar(toolb) master_plot.show() # add a noisy image a, b = numpy.meshgrid(numpy.linspace(-10, 10, 500), numpy.linspace(-10, 5, 400), indexing="ij") myimg = numpy.asarray(numpy.sin(a * b) / (a * b), dtype='float32') myimg = add_relative_noise(myimg, max_noise=10.) # % master_plot.addImage(myimg) app.exec()