Changes in src/sas/sasgui/perspectives/fitting/pagestate.py [0b1d7d3:c8e1996] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/pagestate.py
r0b1d7d3 rc8e1996 25 25 from lxml import etree 26 26 27 from sasmodels import convert28 27 import sasmodels.weights 29 28 … … 356 355 obj.saved_states[copy_name] = copy_state 357 356 return obj 358 359 def _is_sasmodels(self):360 """361 A check to see if the loaded save state was saved in SasView v4_0+362 :return: None363 """364 newname = convert._conversion_target(self.formfactorcombobox)365 if newname == None:366 return True367 else:368 return False369 370 def _convert_to_sasmodels(self):371 """372 Convert parameters to a form usable by sasmodels converter373 374 :return: None375 """376 # Create conversion dictionary to send to sasmodels377 p = dict()378 for fittable, name, value, _, uncert, lower, upper, units in \379 self.parameters:380 if not value:381 value = numpy.nan382 if not uncert or uncert[1] == '':383 uncert[0] = False384 uncert[1] = numpy.nan385 if not upper or upper[1] == '':386 upper[0] = False387 upper[1] = numpy.nan388 if not lower or lower[1] == '':389 lower[0] = False390 lower[1] = numpy.nan391 p[name] = float(value)392 p[name + ".fittable"] = bool(fittable)393 p[name + ".std"] = float(uncert[1])394 p[name + ".upper"] = float(upper[1])395 p[name + ".lower"] = float(lower[1])396 p[name + ".units"] = units397 398 structurefactor, params = \399 convert.convert_model(self.structurecombobox, p)400 formfactor, params = \401 convert.convert_model(self.formfactorcombobox, params)402 # if len(self.str_parameters) > 0:403 # formfactor, str_params = \404 # convert.convert_model(formfactor, self.str_parameters)405 406 # Only convert if old != new, otherwise all the same407 if formfactor != self.formfactorcombobox or \408 structurefactor != self.structurecombobox:409 self.formfactorcombobox = formfactor410 self.structurecombobox = structurefactor411 self.parameters = []412 for name, info in params.iteritems():413 if ".fittable" in name or ".std" in name or ".upper" in name or\414 ".lower" in name or ".units" in name:415 pass416 else:417 fittable = params.get(name + ".fittable", True)418 std = params.get(name + ".std", '0.0')419 upper = params.get(name + ".upper", 'inf')420 lower = params.get(name + ".lower", '-inf')421 units = params.get(name + ".units")422 if std is not None and std is not numpy.nan:423 std = [True, str(std)]424 else:425 std = [False, '']426 if lower is not None and lower is not numpy.nan:427 lower = [True, str(lower)]428 else:429 lower = [True, '-inf']430 if upper is not None and upper is not numpy.nan:431 upper = [True, str(upper)]432 else:433 upper = [True, 'inf']434 param_list = [bool(fittable), str(name), str(info),435 "+/-", std, lower, upper, str(units)]436 self.parameters.append(param_list)437 438 357 439 358 def _repr_helper(self, list, rep):
Note: See TracChangeset
for help on using the changeset viewer.