Changeset 8f83719f in sasview for src/sas/qtgui/Perspectives/Inversion/DMaxExplorerWidget.py
- Timestamp:
- Nov 24, 2017 9:57:08 AM (6 years ago)
- Branches:
- ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
- Children:
- f4480f0
- Parents:
- cb4d219
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Inversion/DMaxExplorerWidget.py
r0261bc1 r8f83719f 16 16 from PyQt5 import QtWidgets 17 17 18 from twisted.internet import threads19 20 18 # sas-global 21 19 from sas.qtgui.Plotting.PlotterData import Data1D … … 30 28 from sas.qtgui.Utilities.GuiUtils import enum 31 29 32 W = enum( 'NPTS', 33 'DMIN', 34 'DMAX', 35 'VARIABLE', 30 W = enum( 'NPTS', #0 31 'DMIN', #1 32 'DMAX', #2 33 'VARIABLE', #3 36 34 ) 37 35 … … 59 57 self.mapper = None 60 58 59 # Add validators on line edits 60 self.setupValidators() 61 61 62 # # Connect buttons to slots. 62 63 # # Needs to be done early so default values propagate properly. … … 69 70 self.setupMapper() 70 71 72 def setupValidators(self): 73 """Add validators on relevant line edits""" 74 self.Npts.setValidator(QtGui.QIntValidator()) 75 self.minDist.setValidator(GuiUtils.DoubleValidator()) 76 self.maxDist.setValidator(GuiUtils.DoubleValidator()) 77 71 78 def setupSlots(self): 72 79 self.closeButton.clicked.connect(self.close) 73 74 80 self.model.itemChanged.connect(self.modelChanged) 81 self.dependentVariable.currentIndexChanged.connect(lambda:self.modelChanged(None)) 75 82 76 83 def setupModel(self): 77 84 self.model.setItem(W.NPTS, QtGui.QStandardItem(str(self.nfunc))) 78 self.model.setItem(W.DMIN, QtGui.QStandardItem( str(0.9*self.pr_state.d_max)))79 self.model.setItem(W.DMAX, QtGui.QStandardItem( str(1.1*self.pr_state.d_max)))85 self.model.setItem(W.DMIN, QtGui.QStandardItem("{:.1f}".format(0.9*self.pr_state.d_max))) 86 self.model.setItem(W.DMAX, QtGui.QStandardItem("{:.1f}".format(1.1*self.pr_state.d_max))) 80 87 self.model.setItem(W.VARIABLE, QtGui.QStandardItem( "ϲ/dof")) 81 88 … … 91 98 92 99 self.mapper.toFirst() 100 101 def variableChanged(self, index): 102 """ 103 Respond to combobox update 104 """ 105 # Just fire the model change signal, mate 106 pass 93 107 94 108 def modelChanged(self, item): … … 121 135 bck.append(self.pr_state.background) 122 136 chi2.append(self.pr_state.chi2) 123 except :137 except Exception as ex: 124 138 # This inversion failed, skip this D_max value 125 139 msg = "ExploreDialog: inversion failed " 126 msg += "for D_max=%s\n%s" % (str(x), sys.exc_info()[1])140 msg += "for D_max=%s\n%s" % (str(x), ex) 127 141 print(msg) 128 142 logger.error(msg) … … 134 148 except RuntimeError as ex: 135 149 msg = "ExploreDialog: inversion failed " 136 msg += "for D_max=%s\n%s" % (str(x), sys.exc_info()[1])150 msg += "for D_max=%s\n%s" % (str(x), ex) 137 151 print(msg) 138 152 logger.error(msg) 139 153 140 plotter = str(self.model.item(W.VARIABLE).text()) 154 plotter = self.model.item(W.VARIABLE).text() 155 y_label = y_unit = "" 156 x_label = "D_{max}" 157 x_unit = "A" 141 158 if plotter == "ϲ/dof": 142 159 ys = chi2 160 y_label = "\chi^2/dof" 161 y_unit = "a.u." 143 162 elif plotter == "I(Q=0)": 144 163 ys = iq0 164 y_label = "I(q=0)" 165 y_unit = "\AA^{-1}" 145 166 elif plotter == "Rg": 146 167 ys = rg 168 y_label = "R_g" 169 y_unit = "\AA" 147 170 elif plotter == "Oscillation parameter": 148 171 ys = osc 172 y_label = "Osc" 173 y_unit = "a.u." 149 174 elif plotter == "Background": 150 175 ys = bck 176 y_label = "Bckg" 177 y_unit = "\AA^{-1}" 151 178 elif plotter == "Positive Fraction": 152 179 ys = pos 180 y_label = "P^+" 181 y_unit = "a.u." 153 182 else: 154 183 ys = pos_err 184 y_label = "P^{+}_{1\sigma}" 185 y_unit = "a.u." 155 186 156 187 data = Data1D(xs, ys) … … 158 189 self.plot.removePlot(None) 159 190 self.hasPlot = True 191 data.title = plotter 192 data._xaxis= x_label 193 data._xunit = x_unit 194 data._yaxis = y_label 195 data._yunit = y_unit 160 196 self.plot.plot(data=data, marker="-")
Note: See TracChangeset
for help on using the changeset viewer.