Changes in src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py [11a336f:aea6bb7] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py
r11a336f raea6bb7 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 = True 336 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 = True 342 msg += str(ex) 343 331 344 if (calculation_failed): 332 345 logging.warning('Calculation failed: {}'.format(msg)) 333 346 return self.model 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, 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, 362 372 self._model_item, 363 373 extrapolated_data, 364 374 title) 365 375 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, 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, 395 404 self._model_item, high_out_data, title) 396 405 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 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.model 421 430 422 431 def title(self):
Note: See TracChangeset
for help on using the changeset viewer.