- Timestamp:
- Sep 18, 2018 2:33:43 AM (6 years ago)
- Branches:
- ESS_GUI, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
- Children:
- 16287f3
- Parents:
- db500cb
- git-author:
- Ingo Breßler <dev@…> (09/18/18 02:33:38)
- git-committer:
- Ingo Breßler <dev@…> (09/18/18 02:33:43)
- Location:
- src/sas/qtgui/Perspectives/Fitting
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py
rdb500cb raa82f54 577 577 # test for model being a sasmodels.sasview_model.SasviewModel? 578 578 for name, pars in model.dispersion.items(): 579 if 0 == pars['width']: 580 continue # no actual polydispersity 581 disp_args = pars.copy() 582 disp_type = disp_args.pop('type', None) 583 if disp_type is None: 584 continue # show an error? "poly type ... not found" 585 disp_func = disp_models[disp_type](**disp_args) 586 center = model.params[name] 587 # same as in sasmodels.weights.Dispersion 588 lb = center - disp_args['nsigmas']*disp_args['width']*center 589 ub = center + disp_args['nsigmas']*disp_args['width']*center 590 arr = disp_func.get_weights(center, lb, ub, relative = True) 579 if 0 == pars['width']: # no actual polydispersity 580 continue 581 _, xarr, yarr = model.get_weights(name) 582 if xarr is None or yarr is None: # param name not found 583 continue 591 584 # create Data1D as in residualsData1D() and fill x/y members 592 585 # similar to FittingLogic._create1DPlot() but different data/axes 593 data1d = Data1D(x = arr[0], y = arr[1])586 data1d = Data1D(x = xarr, y = yarr) 594 587 xunit = "" 595 588 if name in model.details and len(model.details[name]): -
src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
r3ae70f9 raa82f54 58 58 DEFAULT_POLYDISP_FUNCTION = 'gaussian' 59 59 60 # CRUFT: remove when new release of sasmodels is available 61 # https://github.com/SasView/sasview/pull/181#discussion_r218135162 62 from sasmodels.sasview_model import SasviewModel 63 if not hasattr(SasviewModel, 'get_weights'): 64 def get_weights(self, name): 65 """Returns model weights by parameter name. 66 type: (str) -> Tuple(float, np.ndarray, np.ndarray) 67 Supposed to be a member of SasviewModel.""" 68 p = [p for p in self._model_info.parameters.call_parameters 69 if name is p.name] 70 if not len(p): 71 return None, None, None 72 return self._get_weights(p[0]) 73 74 SasviewModel.get_weights = get_weights 60 75 61 76 logger = logging.getLogger(__name__)
Note: See TracChangeset
for help on using the changeset viewer.