Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/pagestate.py

    r0b1d7d3 rc8e1996  
    2525from lxml import etree 
    2626 
    27 from sasmodels import convert 
    2827import sasmodels.weights 
    2928 
     
    356355            obj.saved_states[copy_name] = copy_state 
    357356        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: None 
    363         """ 
    364         newname = convert._conversion_target(self.formfactorcombobox) 
    365         if newname == None: 
    366             return True 
    367         else: 
    368             return False 
    369  
    370     def _convert_to_sasmodels(self): 
    371         """ 
    372         Convert parameters to a form usable by sasmodels converter 
    373  
    374         :return: None 
    375         """ 
    376         # Create conversion dictionary to send to sasmodels 
    377         p = dict() 
    378         for fittable, name, value, _, uncert, lower, upper, units in \ 
    379                 self.parameters: 
    380             if not value: 
    381                 value = numpy.nan 
    382             if not uncert or uncert[1] == '': 
    383                 uncert[0] = False 
    384                 uncert[1] = numpy.nan 
    385             if not upper or upper[1] == '': 
    386                 upper[0] = False 
    387                 upper[1] = numpy.nan 
    388             if not lower or lower[1] == '': 
    389                 lower[0] = False 
    390                 lower[1] = numpy.nan 
    391             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"] = units 
    397  
    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 same 
    407         if formfactor != self.formfactorcombobox or \ 
    408                         structurefactor != self.structurecombobox: 
    409             self.formfactorcombobox = formfactor 
    410             self.structurecombobox = structurefactor 
    411             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                     pass 
    416                 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  
    438357 
    439358    def _repr_helper(self, list, rep): 
Note: See TracChangeset for help on using the changeset viewer.