예제 #1
0
 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())
예제 #2
0
 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_()
예제 #3
0
파일: PCAWindow.py 프로젝트: jat255/pymca
 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
예제 #4
0
파일: SGWindow.py 프로젝트: gbzan/pymca
 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())
예제 #5
0
                                              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)
예제 #6
0
파일: PCAWindow.py 프로젝트: jat255/pymca
    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)
예제 #7
0
            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()