- Timestamp:
- Mar 26, 2019 10:52:56 AM (6 years ago)
- Branches:
- ESS_GUI, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_opencl
- Children:
- 9f3db13
- Parents:
- 60e20d8 (diff), 82efbe9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - git-author:
- Piotr Rozyczko <piotr.rozyczko@…> (03/26/19 10:52:56)
- git-committer:
- GitHub <noreply@…> (03/26/19 10:52:56)
- Location:
- src/sas/qtgui
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Calculators/SldPanel.py
r33c0561 r82efbe9 32 32 ) 33 33 34 class SldResult(object): 35 def __init__(self, molecular_formula, mass_density, 36 neutron_wavelength, neutron_sld_real, neutron_sld_imag, 37 xray_wavelength, xray_sld_real, xray_sld_imag, 38 neutron_inc_xs, neutron_abs_xs, neutron_length): 39 40 self.molecular_formula = molecular_formula 41 self.mass_density = mass_density 34 class NeutronSldResult(object): 35 def __init__(self, neutron_wavelength, neutron_sld_real, 36 neutron_sld_imag, neutron_inc_xs, neutron_abs_xs, 37 neutron_length): 38 42 39 self.neutron_wavelength = neutron_wavelength 43 40 self.neutron_sld_real = neutron_sld_real 44 41 self.neutron_sld_imag = neutron_sld_imag 42 self.neutron_inc_xs = neutron_inc_xs 43 self.neutron_abs_xs = neutron_abs_xs 44 self.neutron_length = neutron_length 45 46 class XraySldResult(object): 47 def __init__(self, xray_wavelength, xray_sld_real, xray_sld_imag): 48 45 49 self.xray_wavelength = xray_wavelength 46 50 self.xray_sld_real = xray_sld_real 47 51 self.xray_sld_imag = xray_sld_imag 48 self.neutron_inc_xs = neutron_inc_xs 49 self.neutron_abs_xs = neutron_abs_xs 50 self.neutron_length = neutron_length 51 52 def sldAlgorithm(molecular_formula, mass_density, neutron_wavelength, xray_wavelength): 53 54 xray_sld_real, xray_sld_imag = xray_sld( 55 compound=molecular_formula, 56 density=mass_density, 57 wavelength=xray_wavelength) 52 53 def neutronSldAlgorithm(molecular_formula, mass_density, neutron_wavelength): 58 54 59 55 (neutron_sld_real, neutron_sld_imag, _), (_, neutron_abs_xs, neutron_inc_xs), neutron_length = \ … … 69 65 scaled_neutron_sld_imag = SCALE * abs(neutron_sld_imag) 70 66 67 return NeutronSldResult(neutron_wavelength, scaled_neutron_sld_real, 68 scaled_neutron_sld_imag, neutron_inc_xs, 69 neutron_abs_xs, neutron_length) 70 71 def xraySldAlgorithm(molecular_formula, mass_density, xray_wavelength): 72 73 xray_sld_real, xray_sld_imag = xray_sld( 74 compound=molecular_formula, 75 density=mass_density, 76 wavelength=xray_wavelength) 77 78 SCALE = 1e-6 79 71 80 # xray sld 72 81 scaled_xray_sld_real = SCALE * xray_sld_real … … 74 83 75 84 76 return SldResult( 77 molecular_formula, mass_density, 78 neutron_wavelength, scaled_neutron_sld_real, scaled_neutron_sld_imag, 79 xray_wavelength, scaled_xray_sld_real, scaled_xray_sld_imag, 80 neutron_inc_xs, neutron_abs_xs, neutron_length) 85 return XraySldResult(xray_wavelength, scaled_xray_sld_real, 86 scaled_xray_sld_imag) 81 87 82 88 … … 176 182 xrayWavelength = self.ui.editXrayWavelength.text() 177 183 178 if len(formula) > 0 and len(density) > 0 and len(neutronWavelength) > 0 and len(xrayWavelength) > 0: 179 try: 180 results = sldAlgorithm(str(formula), float(density), float(neutronWavelength), float(xrayWavelength)) 181 182 def format(value): 183 return ("%-5.3g" % value).strip() 184 185 self.model.item(MODEL.NEUTRON_SLD_REAL).setText(format(results.neutron_sld_real)) 186 self.model.item(MODEL.NEUTRON_SLD_IMAG).setText(format(results.neutron_sld_imag)) 187 188 self.model.item(MODEL.XRAY_SLD_REAL).setText(format(results.xray_sld_real)) 189 self.model.item(MODEL.XRAY_SLD_IMAG).setText(format(results.xray_sld_imag)) 190 191 self.model.item(MODEL.NEUTRON_INC_XS).setText(format(results.neutron_inc_xs)) 192 self.model.item(MODEL.NEUTRON_ABS_XS).setText(format(results.neutron_abs_xs)) 193 self.model.item(MODEL.NEUTRON_LENGTH).setText(format(results.neutron_length)) 194 195 return 196 197 except Exception as e: 198 pass 199 200 for key in list(self._getOutputs().keys()): 201 self.model.item(key).setText("") 184 if not formula or not density: 185 return 186 187 def format(value): 188 return ("%-5.3g" % value).strip() 189 190 if neutronWavelength: 191 results = neutronSldAlgorithm(str(formula), float(density), float(neutronWavelength)) 192 193 self.model.item(MODEL.NEUTRON_SLD_REAL).setText(format(results.neutron_sld_real)) 194 self.model.item(MODEL.NEUTRON_SLD_IMAG).setText(format(results.neutron_sld_imag)) 195 self.model.item(MODEL.NEUTRON_INC_XS).setText(format(results.neutron_inc_xs)) 196 self.model.item(MODEL.NEUTRON_ABS_XS).setText(format(results.neutron_abs_xs)) 197 self.model.item(MODEL.NEUTRON_LENGTH).setText(format(results.neutron_length)) 198 self.model.item(MODEL.NEUTRON_LENGTH).setEnabled(True) 199 self.ui.editNeutronSldReal.setEnabled(True) 200 self.ui.editNeutronSldImag.setEnabled(True) 201 self.ui.editNeutronIncXs.setEnabled(True) 202 self.ui.editNeutronLength.setEnabled(True) 203 self.ui.editNeutronAbsXs.setEnabled(True) 204 else: 205 self.model.item(MODEL.NEUTRON_SLD_REAL).setText("") 206 self.model.item(MODEL.NEUTRON_SLD_IMAG).setText("") 207 self.model.item(MODEL.NEUTRON_INC_XS).setText("") 208 self.model.item(MODEL.NEUTRON_ABS_XS).setText("") 209 self.model.item(MODEL.NEUTRON_LENGTH).setText("") 210 self.ui.editNeutronSldReal.setEnabled(False) 211 self.ui.editNeutronSldImag.setEnabled(False) 212 self.ui.editNeutronIncXs.setEnabled(False) 213 self.ui.editNeutronLength.setEnabled(False) 214 self.ui.editNeutronAbsXs.setEnabled(False) 215 216 if xrayWavelength: 217 results = xraySldAlgorithm(str(formula), float(density), float(xrayWavelength)) 218 219 self.model.item(MODEL.XRAY_SLD_REAL).setText(format(results.xray_sld_real)) 220 self.model.item(MODEL.XRAY_SLD_IMAG).setText(format(results.xray_sld_imag)) 221 self.ui.editXraySldReal.setEnabled(True) 222 self.ui.editXraySldImag.setEnabled(True) 223 else: 224 self.model.item(MODEL.XRAY_SLD_REAL).setText("") 225 self.model.item(MODEL.XRAY_SLD_IMAG).setText("") 226 self.ui.editXraySldReal.setEnabled(False) 227 self.ui.editXraySldImag.setEnabled(False) 202 228 203 229 def modelReset(self): -
src/sas/qtgui/Calculators/UI/SldPanel.ui
r5c0e717 r82efbe9 182 182 <widget class="QLineEdit" name="editNeutronSldReal"> 183 183 <property name="enabled"> 184 <bool> false</bool>184 <bool>true</bool> 185 185 </property> 186 186 <property name="readOnly"> … … 206 206 <widget class="QLineEdit" name="editNeutronIncXs"> 207 207 <property name="enabled"> 208 <bool> false</bool>208 <bool>true</bool> 209 209 </property> 210 210 <property name="readOnly"> … … 237 237 <widget class="QLineEdit" name="editNeutronSldImag"> 238 238 <property name="enabled"> 239 <bool> false</bool>239 <bool>true</bool> 240 240 </property> 241 241 <property name="readOnly"> … … 254 254 <widget class="QLineEdit" name="editNeutronLength"> 255 255 <property name="enabled"> 256 <bool> false</bool>256 <bool>true</bool> 257 257 </property> 258 258 <property name="readOnly"> … … 271 271 <widget class="QLineEdit" name="editNeutronAbsXs"> 272 272 <property name="enabled"> 273 <bool> false</bool>273 <bool>true</bool> 274 274 </property> 275 275 <property name="readOnly"> … … 340 340 <widget class="QLineEdit" name="editXraySldReal"> 341 341 <property name="enabled"> 342 <bool> false</bool>342 <bool>true</bool> 343 343 </property> 344 344 <property name="readOnly"> … … 350 350 <widget class="QLineEdit" name="editXraySldImag"> 351 351 <property name="enabled"> 352 <bool> false</bool>352 <bool>true</bool> 353 353 </property> 354 354 <property name="readOnly"> -
src/sas/qtgui/Plotting/Plotter.py
rd9e7792 r4c11b2a 420 420 This effectlvely refreshes the chart with changes to one of its plots 421 421 """ 422 423 # Pull the current transform settings from the old plot 424 selected_plot = self.plot_dict[id] 425 new_plot.xtransform = selected_plot.xtransform 426 new_plot.ytransform = selected_plot.ytransform 427 422 428 self.removePlot(id) 423 429 self.plot(data=new_plot)
Note: See TracChangeset
for help on using the changeset viewer.