Changes in / [e33fcd1:ccdee50] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py
raea6bb7 r11a336f 329 329 surface = None 330 330 331 if self._low_extrapolate:332 try:333 qstar_low, qstar_low_err = inv.get_qstar_low()334 except Exception as ex:335 calculation_failed = True336 msg += str(ex)337 if self._high_extrapolate:338 try:339 qstar_high, qstar_high_err = inv.get_qstar_high()340 except Exception as ex:341 calculation_failed = True342 msg += str(ex)343 344 331 if (calculation_failed): 345 332 logging.warning('Calculation failed: {}'.format(msg)) 346 333 return self.model 347 348 if self._low_extrapolate: 349 extrapolated_data = inv.get_extra_data_low(self._low_points) 350 power_low = inv.get_extrapolation_power(range='low') 351 352 # Plot the chart 353 title = "Low-Q extrapolation" 354 355 # Convert the data into plottable 356 extrapolated_data = self._manager.createGuiData(extrapolated_data) 357 358 extrapolated_data.name = title 359 extrapolated_data.title = title 360 extrapolated_data.symbol = "Line" 361 extrapolated_data.has_errors = False 362 363 # copy labels and units of axes for plotting 364 extrapolated_data._xaxis = temp_data._xaxis 365 extrapolated_data._xunit = temp_data._xunit 366 extrapolated_data._yaxis = temp_data._yaxis 367 extrapolated_data._yunit = temp_data._yunit 368 369 # Add the plot to the model item 370 # This needs to run in the main thread 371 reactor.callFromThread(GuiUtils.updateModelItemWithPlot, 334 else: 335 336 if self._low_extrapolate: 337 # for presentation in InvariantDetails 338 qstar_low, qstar_low_err = inv.get_qstar_low() 339 extrapolated_data = inv.get_extra_data_low(self._low_points) 340 power_low = inv.get_extrapolation_power(range='low') 341 342 # Plot the chart 343 title = "Low-Q extrapolation" 344 345 # Convert the data into plottable 346 extrapolated_data = self._manager.createGuiData(extrapolated_data) 347 348 extrapolated_data.name = title 349 extrapolated_data.title = title 350 extrapolated_data.symbol = "Line" 351 extrapolated_data.has_errors = False 352 353 # copy labels and units of axes for plotting 354 extrapolated_data._xaxis = temp_data._xaxis 355 extrapolated_data._xunit = temp_data._xunit 356 extrapolated_data._yaxis = temp_data._yaxis 357 extrapolated_data._yunit = temp_data._yunit 358 359 # Add the plot to the model item 360 # This needs to run in the main thread 361 reactor.callFromThread(GuiUtils.updateModelItemWithPlot, 372 362 self._model_item, 373 363 extrapolated_data, 374 364 title) 375 365 376 if self._high_extrapolate: 377 # for presentation in InvariantDetails 378 qmax_plot = Q_MAXIMUM_PLOT * max(temp_data.x) 379 380 if qmax_plot > Q_MAXIMUM: 381 qmax_plot = Q_MAXIMUM 382 power_high = inv.get_extrapolation_power(range='high') 383 high_out_data = inv.get_extra_data_high(q_end=qmax_plot, npts=500) 384 385 # Plot the chart 386 title = "High-Q extrapolation" 387 388 # Convert the data into plottable 389 high_out_data = self._manager.createGuiData(high_out_data) 390 high_out_data.name = title 391 high_out_data.title = title 392 high_out_data.symbol = "Line" 393 high_out_data.has_errors = False 394 395 # copy labels and units of axes for plotting 396 high_out_data._xaxis = temp_data._xaxis 397 high_out_data._xunit = temp_data._xunit 398 high_out_data._yaxis = temp_data._yaxis 399 high_out_data._yunit = temp_data._yunit 400 401 # Add the plot to the model item 402 # This needs to run in the main thread 403 reactor.callFromThread(GuiUtils.updateModelItemWithPlot, 366 if self._high_extrapolate: 367 # for presentation in InvariantDetails 368 qmax_plot = Q_MAXIMUM_PLOT * max(temp_data.x) 369 370 if qmax_plot > Q_MAXIMUM: 371 qmax_plot = Q_MAXIMUM 372 qstar_high, qstar_high_err = inv.get_qstar_high() 373 power_high = inv.get_extrapolation_power(range='high') 374 high_out_data = inv.get_extra_data_high(q_end=qmax_plot, npts=500) 375 376 # Plot the chart 377 title = "High-Q extrapolation" 378 379 # Convert the data into plottable 380 high_out_data = self._manager.createGuiData(high_out_data) 381 high_out_data.name = title 382 high_out_data.title = title 383 high_out_data.symbol = "Line" 384 high_out_data.has_errors = False 385 386 # copy labels and units of axes for plotting 387 high_out_data._xaxis = temp_data._xaxis 388 high_out_data._xunit = temp_data._xunit 389 high_out_data._yaxis = temp_data._yaxis 390 high_out_data._yunit = temp_data._yunit 391 392 # Add the plot to the model item 393 # This needs to run in the main thread 394 reactor.callFromThread(GuiUtils.updateModelItemWithPlot, 404 395 self._model_item, high_out_data, title) 405 396 406 item = QtGui.QStandardItem(str(float('%.3g'% volume_fraction)))407 self.model.setItem(WIDGETS.W_VOLUME_FRACTION, item)408 item = QtGui.QStandardItem(str(float('%.3g'% volume_fraction_error)))409 self.model.setItem(WIDGETS.W_VOLUME_FRACTION_ERR, item)410 if surface:411 item = QtGui.QStandardItem(str(float('%.3g'% surface)))412 self.model.setItem(WIDGETS.W_SPECIFIC_SURFACE, item)413 item = QtGui.QStandardItem(str(float('%.3g'% surface_error)))414 self.model.setItem(WIDGETS.W_SPECIFIC_SURFACE_ERR, item)415 item = QtGui.QStandardItem(str(float('%.3g'% qstar_total)))416 self.model.setItem(WIDGETS.W_INVARIANT, item)417 item = QtGui.QStandardItem(str(float('%.3g'% qstar_total_error)))418 self.model.setItem(WIDGETS.W_INVARIANT_ERR, item)419 420 item = QtGui.QStandardItem(str(float('%.3g'% qstar_low)))421 self.model.setItem(WIDGETS.D_LOW_QSTAR, item)422 item = QtGui.QStandardItem(str(float('%.3g'% qstar_low_err)))423 self.model.setItem(WIDGETS.D_LOW_QSTAR_ERR, item)424 item = QtGui.QStandardItem(str(float('%.3g'% qstar_high)))425 self.model.setItem(WIDGETS.D_HIGH_QSTAR, item)426 item = QtGui.QStandardItem(str(float('%.3g'% qstar_high_err)))427 self.model.setItem(WIDGETS.D_HIGH_QSTAR_ERR, item)428 429 return self.model397 item = QtGui.QStandardItem(str(float('%.3g'% volume_fraction))) 398 self.model.setItem(WIDGETS.W_VOLUME_FRACTION, item) 399 item = QtGui.QStandardItem(str(float('%.3g'% volume_fraction_error))) 400 self.model.setItem(WIDGETS.W_VOLUME_FRACTION_ERR, item) 401 if surface: 402 item = QtGui.QStandardItem(str(float('%.3g'% surface))) 403 self.model.setItem(WIDGETS.W_SPECIFIC_SURFACE, item) 404 item = QtGui.QStandardItem(str(float('%.3g'% surface_error))) 405 self.model.setItem(WIDGETS.W_SPECIFIC_SURFACE_ERR, item) 406 item = QtGui.QStandardItem(str(float('%.3g'% qstar_total))) 407 self.model.setItem(WIDGETS.W_INVARIANT, item) 408 item = QtGui.QStandardItem(str(float('%.3g'% qstar_total_error))) 409 self.model.setItem(WIDGETS.W_INVARIANT_ERR, item) 410 411 item = QtGui.QStandardItem(str(float('%.3g'% qstar_low))) 412 self.model.setItem(WIDGETS.D_LOW_QSTAR, item) 413 item = QtGui.QStandardItem(str(float('%.3g'% qstar_low_err))) 414 self.model.setItem(WIDGETS.D_LOW_QSTAR_ERR, item) 415 item = QtGui.QStandardItem(str(float('%.3g'% qstar_high))) 416 self.model.setItem(WIDGETS.D_HIGH_QSTAR, item) 417 item = QtGui.QStandardItem(str(float('%.3g'% qstar_high_err))) 418 self.model.setItem(WIDGETS.D_HIGH_QSTAR_ERR, item) 419 420 return self.model 430 421 431 422 def title(self):
Note: See TracChangeset
for help on using the changeset viewer.