def __init__(self, parent, data, image=None, x=None, smooth=False): qt.QWidget.__init__(self, parent) self.setWindowTitle("SNIP Configuration Window") self.mainLayout = qt.QVBoxLayout(self) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.mainLayout.setSpacing(2) if image is None: image = False if data.shape == 2: if 1 not in data.shape: image = True else: spectrum = data.ravel() else: spectrum = data elif not image: spectrum = data self.__smooth = smooth self.__image = image if self.__image: self.spectrum = None else: if x is None: self.xValues = range(len(spectrum)) else: self.xValues = x if self.__image: self.image = data self.graphWidget = MaskImageWidget.MaskImageWidget( self, colormap=True, selection=False, imageicons=False, standalonesave=True) self.parametersWidget = SNIP2DParametersWidget( self, shape=self.image.shape) self.graph = self.graphWidget.graphWidget.graph self.graphWidget.setImageData(data) self.mainLayout.addWidget(self.parametersWidget) self.mainLayout.addWidget(self.graphWidget) self.o3dScene = None else: self.image = None self.spectrum = spectrum self.parametersWidget = SNIP1DParametersWidget( self, length=len(spectrum), smooth=smooth) self.graph = ScanWindow.ScanWindow(self) self.graph.newCurve(self.xValues, spectrum, "Spectrum", replace=True) self.mainLayout.addWidget(self.parametersWidget) self.mainLayout.addWidget(self.graph) self.xMarkers = [] self.yMarkers = [] self.getParameters = self.parametersWidget.getParameters self.setParameters = self.parametersWidget.setParameters self.parametersWidget.sigSNIPParametersSignal.connect( \ self.updateGraph) self.updateGraph(self.getParameters())
def _add(self, replace=False): curve = self.getActiveCurve() if curve is None: text = "Please make sure to have an active curve" raise TypeError(text) x, y, legend, info = self.getActiveCurve() if self.widget is None: self.widget = ScanWindow.ScanWindow() self.widget.addCurve(x, y, legend=legend, replot=True, replace=replace) self.widget.show() self.widget.raise_()
def __addRegionsWidget(self): #Region handling self.regionsWidget = RegionsWidget(self) self.regionsWidget.setEnabled(True) self.regionsWidget.sigRegionsWidgetSignal.connect( \ self.regionsWidgetSlot) #the plot self.graph = ScanWindow.ScanWindow(self) self.graph.setEnabled(False) self.graph.sigPlotSignal.connect(self._graphSlot) if not self.__regions: #I am adding after instantiation self.mainLayout.insertWidget(2, self.regionsWidget) self.mainLayout.addWidget(self.graph) self.__regions = True
def __init__(self, parent, data, image=None, x=None): qt.QWidget.__init__(self, parent) self.setWindowTitle("Savitzky-Golay Filter Configuration Window") self.mainLayout = qt.QVBoxLayout(self) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.mainLayout.setSpacing(2) spectrum = data if x is None: self.xValues = range(len(spectrum)) else: self.xValues = x self.image = None self.spectrum = spectrum self.parametersWidget = SGParametersWidget(self, length=len(spectrum)) self.graph = ScanWindow.ScanWindow(self) self.graph.addCurve(self.xValues, spectrum, "Spectrum", replace=True) self.mainLayout.addWidget(self.parametersWidget) self.mainLayout.addWidget(self.graph) self.getParameters = self.parametersWidget.getParameters self.setParameters = self.parametersWidget.setParameters self.parametersWidget.sigSGParametersSignal.connect(self.updateGraph) self.updateGraph(self.getParameters())
nSelectors = 5) MENU_TEXT = "XLD/XMCD Analysis" def getPlugin1DInstance(plotWindow, **kw): ob = XMCDAnalysis(plotWindow) return ob if __name__ == "__main__": from PyMca5.PyMcaGui import PyMcaQt as qt from PyMca5.PyMcaGui import ScanWindow import numpy app = qt.QApplication([]) # Create dummy ScanWindow swin = ScanWindow.ScanWindow() info0 = {'xlabel': 'foo', 'ylabel': 'arb', 'MotorNames': 'oxPS Motor11 Motor10', 'MotorValues': '1 8.69271399699 21.9836418539'} info1 = {'MotorNames': 'PhaseD oxPS Motor16 Motor15', 'MotorValues': '0.470746882688 -0.695816070299 0.825780811755 0.25876374531'} info2 = {'MotorNames': 'PhaseD oxPS Motor10 Motor8', 'MotorValues': '2 0.44400576644 0.613870067852 0.901968648111'} x = numpy.arange(100.,1100.) y0 = 10*x + 10000.*numpy.exp(-0.5*(x-500)**2/400) + 1500*numpy.random.random(1000) y1 = 10*x + 10000.*numpy.exp(-0.5*(x-600)**2/400) + 1500*numpy.random.random(1000) y2 = 10*x + 10000.*numpy.exp(-0.5*(x-400)**2/400) + 1500*numpy.random.random(1000) swin.newCurve(x, y2, legend="Curve2", xlabel='ene_st2', ylabel='zratio2', info=info2) swin.newCurve(x, y0, legend="Curve0", xlabel='ene_st0', ylabel='zratio0', info=info0)
def __init__(self, *var, **kw): ddict = {} ddict['usetab'] = True ddict.update(kw) ddict['standalonesave'] = False MaskImageWidget.MaskImageWidget.__init__(self, *var, **ddict) self.slider = qt.QSlider(self) self.slider.setOrientation(qt.Qt.Horizontal) self.slider.setMinimum(0) self.slider.setMaximum(0) # The 1D graph self.vectorGraph = ScanWindow.ScanWindow(self) self.mainTab.addTab(self.vectorGraph, "VECTORS") self.mainLayout.addWidget(self.slider) self.slider.valueChanged[int].connect(self._showImage) self.imageList = None self.imageNames=None self.eigenValues = None self.eigenVectors = None self.vectorNames = None self.vectorGraphTitles = None standalonesave = kw.get("standalonesave", True) if standalonesave: self.graphWidget.saveToolButton.clicked.connect( \ self._saveToolButtonSignal) self._saveMenu = qt.QMenu() self._saveMenu.addAction(QString("Image Data"), self.saveImageList) self._saveMenu.addAction(QString("Standard Graphics"), self.graphWidget._saveIconSignal) if MATPLOTLIB: self._saveMenu.addAction(QString("Matplotlib") , self._saveMatplotlibImage) self.multiplyIcon = qt.QIcon(qt.QPixmap(IconDict["swapsign"])) infotext = "Multiply image by -1" self.multiplyButton = self.graphWidget._addToolButton(\ self.multiplyIcon, self._multiplyIconChecked, infotext, toggle=False, position=12) # The density plot widget self.scatterPlotWidget = ScatterPlotCorrelatorWidget.ScatterPlotCorrelatorWidget(None, labels=["Legend", "X", "Y"], types=["Text", "RadioButton", "RadioButton"], maxNRois=1) self.__scatterPlotWidgetDataToUpdate = True self.__maskToScatterConnected = True self.sigMaskImageWidgetSignal.connect(self._internalSlot) self.scatterPlotWidget.sigMaskScatterWidgetSignal.connect( \ self._internalSlot) # add the command to show it to the menu if hasattr(self, "_additionalSelectionMenu"): self.additionalSelectionMenu().addAction(\ QString("Show scatter plot"), self.showScatterPlot)
self._widget = TaurusModelChooser() #self._adapter = TaurusPyMcaAdapter() if Release.version_info >= (4,): self._widget.updateModels.connect(self.onSelectionChanged) else: Qt.QObject.connect(self._widget, Qt.SIGNAL("updateModels"), self.onSelectionChanged) self._widget.show() MENU_TEXT = "Taurus Device Browser" def getPlugin1DInstance(plotWindow, **kw): ob = TaurusPlugin1D(plotWindow) return ob if __name__ == "__main__": app = qt.QApplication([]) import os from PyMca5.PyMcaGui import ScanWindow plot = ScanWindow.ScanWindow() pluginDir = os.path.dirname(os.path.abspath(__file__)) SILX = False if silx: plot.pluginsToolButton.setPluginDirectoryList([pluginDir]) plot.pluginsToolButton.getPlugins() else plot.setPluginDirectoryList([pluginDir]) plot.getPlugins() plot.show() app.exec()