summaryrefslogtreecommitdiff
path: root/PyMca5/PyMcaGui/physics/xas/XASWindow.py
diff options
context:
space:
mode:
Diffstat (limited to 'PyMca5/PyMcaGui/physics/xas/XASWindow.py')
-rw-r--r--PyMca5/PyMcaGui/physics/xas/XASWindow.py93
1 files changed, 41 insertions, 52 deletions
diff --git a/PyMca5/PyMcaGui/physics/xas/XASWindow.py b/PyMca5/PyMcaGui/physics/xas/XASWindow.py
index b4fa9a4..bea81ef 100644
--- a/PyMca5/PyMcaGui/physics/xas/XASWindow.py
+++ b/PyMca5/PyMcaGui/physics/xas/XASWindow.py
@@ -32,16 +32,17 @@ __license__ = "MIT"
__copyright__ = "European Synchrotron Radiation Facility, Grenoble, France"
import os
import sys
-import numpy
-import traceback
-import copy
+import logging
from PyMca5.PyMcaGui import PyMcaQt as qt
from PyMca5.PyMcaGui import PyMca_Icons
IconDict = PyMca_Icons.IconDict
-from PyMca5.PyMcaGui import PlotWindow
from PyMca5.PyMcaGui import XASParameters
from PyMca5.PyMca import XASClass
-DEBUG = 0
+from silx.gui.plot import PlotWindow
+from PyMca5.PyMcaGui.PluginsToolButton import PluginsToolButton
+
+_logger = logging.getLogger(__name__)
+
class XASDialog(qt.QDialog):
def __init__(self, parent=None, analyzer=None, backend=None):
@@ -116,15 +117,13 @@ class XASWindow(qt.QMainWindow):
return self.parametersWidget.getParameters()
def _parametersSlot(self, ddict):
- if DEBUG:
- print("XASWindow.parametersSlot", ddict)
+ _logger.debug("XASWindow.parametersSlot: %s", ddict)
analyzer = self.mdiArea.analyzer
if "XASParameters" in ddict:
ddict = ddict["XASParameters"]
analyzer.setConfiguration(ddict)
- if DEBUG:
- print("ANALYZER CONFIGURATION FINAL")
- print(analyzer.getConfiguration())
+ _logger.debug("ANALYZER CONFIGURATION FINAL")
+ _logger.debug(analyzer.getConfiguration())
self.update()
def update(self, ddict=None):
@@ -156,10 +155,14 @@ class XASMdiArea(qt.QMdiArea):
self._windowList = ["Spectrum", "Post-edge", "Signal", "FT"]
self._windowList.reverse()
for title in self._windowList:
- plot = PlotWindow.PlotWindow(self,
- #control=True,
- position=True,
- backend=backend)
+ plot = PlotWindow(self, position=True, aspectRatio=False,
+ colormap=False, yInverted=False,
+ roi=False, mask=False, fit=False,
+ backend=backend)
+ plot.zoomModeAction.setVisible(False)
+ plot.panModeAction.setVisible(False)
+ pluginsToolButton = PluginsToolButton(plot=plot)
+ plot.toolBar().addWidget(pluginsToolButton)
plot.setWindowTitle(title)
self.addSubWindow(plot)
self._windowDict[title] = plot
@@ -190,6 +193,7 @@ class XASMdiArea(qt.QMdiArea):
legend="Spectrum",
xlabel="Energy (eV)",
ylabel="Absorption (a.u.)")
+ self._windowDict["Spectrum"].setActiveCurve("Spectrum")
return self.analyzer.setSpectrum(energy, mu)
def update(self, ddict=None):
@@ -200,19 +204,17 @@ class XASMdiArea(qt.QMdiArea):
plot = self._windowDict["Spectrum"]
e0 = ddict["Edge"]
plot.addCurve(ddict["Energy"] - e0, ddict["Mu"], legend="Spectrum",
- xlabel="Energy (eV)", ylabel="Absorption (a.u.)",
- replot=False, replace=True)
- plot.addCurve(ddict["NormalizedEnergy"][idx] - e0,
+ xlabel="Energy (eV)", ylabel="Absorption (a.u.)")
+ plot.addCurve(ddict["NormalizedEnergy"][idx] - e0,
ddict["NormalizedMu"][idx],
legend="Normalized",
xlabel="Energy (eV)",
ylabel="Absorption (a.u.)",
- yaxis="right",
- replot=False)
+ yaxis="right")
plot.addCurve(ddict["NormalizedEnergy"] - e0,
- ddict["NormalizedSignal"], legend="Post", replot=False)
+ ddict["NormalizedSignal"], legend="Post", resetzoom=False)
plot.addCurve(ddict["NormalizedEnergy"] - e0,
- ddict["NormalizedBackground"], legend="Pre",replot=False)
+ ddict["NormalizedBackground"], legend="Pre", resetzoom=False)
plot.resetZoom()
#idxK = ddict["EXAFSKValues"] >= 0
idx = (ddict["EXAFSKValues"] >= ddict["KMin"]) & \
@@ -222,32 +224,28 @@ class XASMdiArea(qt.QMdiArea):
ddict["EXAFSSignal"][idx],
legend="EXAFSSignal",
xlabel="K",
- ylabel="Normalized Units",
- replace=True,
- replot=False)
+ ylabel="Normalized Units")
+ plot.setActiveCurve("EXAFSSignal")
plot.addCurve(ddict["EXAFSKValues"][idx],
ddict["PostEdgeB"][idx],
legend="PostEdge",
xlabel="K",
ylabel="Normalized Units",
- color="blue",
- replot=False)
+ color="blue")
if 0:
plot.clearMarkers()
for i in range(len(ddict["KnotsX"])):
- plot.insertMarker(ddict["KnotsX"][i],
- ddict["KnotsY"][i],
- legend="Knot %d" % (i+1),
- text="Knot %d" % (i+1),
- replot=False,
- draggable=False,
- selectable=False,
- color="orange")
+ plot.addMarker(ddict["KnotsX"][i],
+ ddict["KnotsY"][i],
+ legend="Knot %d" % (i+1),
+ text="Knot %d" % (i+1),
+ draggable=False,
+ selectable=False,
+ color="orange")
else:
plot.addCurve(ddict["KnotsX"],
ddict["KnotsY"],
legend="Knots",
- replot=False,
linestyle="",
symbol="o",
color="orange")
@@ -264,50 +262,41 @@ class XASMdiArea(qt.QMdiArea):
ddict["EXAFSNormalized"][idx],
legend="Normalized EXAFS",
xlabel="K",
- ylabel=ylabel,
- replace=True,
- replot=False)
+ ylabel=ylabel)
+ plot.setActiveCurve("Normalized EXAFS")
plot.addCurve(ddict["FT"]["K"],
ddict["FT"]["WindowWeight"],
legend="FT Window",
xlabel="K",
ylabel="Weight",
yaxis="right",
- color="red",
- replace=False,
- replot=False)
+ color="red")
plot.resetZoom()
plot = self._windowDict["FT"]
plot.addCurve(ddict["FT"]["FTRadius"],
ddict["FT"]["FTIntensity"],
legend="FT Intensity",
xlabel="R (Angstrom)",
- ylabel="Arbitrary Units",
- replace=True,
- replot=False)
+ ylabel="Arbitrary Units")
+ plot.setActiveCurve("FT Intensity")
"""
plot.addCurve(ddict["FT"]["FTRadius"],
ddict["FT"]["FTReal"],
legend="FT Real",
xlabel="R (Angstrom)",
ylabel="Arbitrary Units",
- color="green",
- replace=False,
- replot=False)
+ color="green")
"""
plot.addCurve(ddict["FT"]["FTRadius"],
ddict["FT"]["FTImaginary"],
legend="FT Imaginary",
xlabel="R (Angstrom)",
ylabel="Arbitrary Units",
- color="red",
- replace=False,
- replot=False)
- plot.resetZoom()
+ color="red")
self.sigXASMdiAreaSignal.emit(ddict)
if __name__ == "__main__":
- DEBUG = 1
+ _logger.setLevel(logging.DEBUG)
app = qt.QApplication([])
from PyMca5.PyMcaIO import specfilewrapper as specfile
from PyMca5.PyMcaDataDir import PYMCA_DATA_DIR