Changeset cb4ef58 in sasview


Ignore:
Timestamp:
Apr 13, 2016 7:23:07 AM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
16b769b
Parents:
fa4ea80
Message:

remove references to internal _model_info attribute from sasview

Location:
src/sas
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sascalc/calculator/BaseComponent.py

    r53aa66d rcb4ef58  
    5050        self.output_unit = "cm^{-1}" 
    5151 
     52        self.is_multiplicity_model = False 
     53        self.is_structure_factor = False 
     54        self.is_form_factor = False 
     55 
    5256    def __str__(self): 
    5357        """ 
  • src/sas/sascalc/calculator/sas_gen.py

    r9e531f2 rcb4ef58  
    8080        ## Parameter details [units, min, max] 
    8181        self.details = {} 
    82         self.details['scale'] = ['', None, None] 
    83         self.details['background'] = ['[1/cm]', None, None] 
    84         self.details['solvent_SLD'] = ['1/A^(2)', None, None] 
    85         self.details['total_volume'] = ['A^(3)', None, None] 
    86         self.details['Up_frac_in'] = ['[u/(u+d)]', None, None] 
    87         self.details['Up_frac_out'] = ['[u/(u+d)]', None, None] 
    88         self.details['Up_theta'] = ['[deg]', None, None] 
     82        self.details['scale'] = ['', 0.0, numpy.inf] 
     83        self.details['background'] = ['[1/cm]', 0.0, numpy.inf] 
     84        self.details['solvent_SLD'] = ['1/A^(2)', -numpy.inf, numpy.inf] 
     85        self.details['total_volume'] = ['A^(3)', 0.0, numpy.inf] 
     86        self.details['Up_frac_in'] = ['[u/(u+d)]', 0.0, 1.0] 
     87        self.details['Up_frac_out'] = ['[u/(u+d)]', 0.0, 1.0] 
     88        self.details['Up_theta'] = ['[deg]', -numpy.inf, numpy.inf] 
    8989        # fixed parameters 
    9090        self.fixed = [] 
  • src/sas/sascalc/fit/MultiplicationModel.py

    r08959b8 rcb4ef58  
     1import copy 
     2 
     3import numpy 
    14 
    25from sas.sascalc.calculator.BaseComponent import BaseComponent 
    3 #import numpy, math 
    4 import copy 
    5 from sas.sascalc.fit.pluginmodel import Model1DPlugin 
     6 
    67class MultiplicationModel(BaseComponent): 
    78    r""" 
     
    4748        ## Parameter details [units, min, max] 
    4849        self._set_details() 
    49         self.details['scale_factor'] = ['',     None, None] 
     50        self.details['scale_factor'] = ['', 0.0, numpy.inf] 
    5051         
    5152        #list of parameter that can be fitted 
     
    7576                self.multiplicity_info = p_model.multiplicity_info  
    7677                self.fun_list = p_model.fun_list 
     78                self.is_multiplicity_model = True 
    7779            except: 
    7880                pass 
    7981        else: 
    80             self.multiplicity_info = [] 
     82            self.is_multiplicity_model = False 
     83            self.multiplicity_info = [0] 
    8184             
    8285    def _clone(self, obj): 
  • src/sas/sasgui/perspectives/calculator/model_editor.py

    raa03e0d rcb4ef58  
    13291329SUM_TEMPLATE = """ 
    13301330# A sample of an experimental model function for Sum/Multiply(Pmodel1,Pmodel2) 
     1331import os 
     1332import sys 
    13311333import copy 
     1334 
     1335import nuympy 
     1336 
    13321337from sas.sascalc.fit.pluginmodel import Model1DPlugin 
    13331338from sasmodels.sasview_model import make_class 
     
    13391344#P2_model: 
    13401345#from %s import Model as P2 
    1341 import os 
    1342 import sys 
    13431346 
    13441347class Model(Model1DPlugin): 
     
    13851388        ## Parameter details [units, min, max] 
    13861389        self._set_details() 
    1387         self.details['scale_factor'] = ['', None, None] 
     1390        self.details['scale_factor'] = ['', 0.0, numpy.inf] 
    13881391 
    13891392 
  • src/sas/sasgui/perspectives/fitting/basepage.py

    r08959b8 rcb4ef58  
    18961896                for model in self.model_list_box[mod_cat]: 
    18971897                    if 'sasmodels.sasview_model.' in str(model): 
    1898                         str_m = model._model_info['id'] 
     1898                        str_m = model.id 
    18991899                    else: 
    19001900                        str_m = str(model).split(".")[0] 
     
    19451945        mlist = [] 
    19461946        for models in list: 
    1947             model = models() 
    1948             name = model.__class__.__name__ 
    1949             if models.__name__ != "NoStructure": 
    1950                 name = model.name 
    1951                 mlist.append((name, models)) 
     1947            if models.name != "NoStructure": 
     1948                mlist.append((models.name, models)) 
    19521949 
    19531950        # Sort the models 
     
    20992096        if form_factor != None: 
    21002097            # set multifactor for Mutifunctional models 
    2101             if form_factor().__class__ in \ 
    2102                                         self.model_list_box["Multi-Functions"]: 
     2098            if form_factor.is_multiplicity_model: 
    21032099                m_id = self.multifactorbox.GetCurrentSelection() 
    2104                 multiplicity = form_factor().multiplicity_info[0] 
     2100                multiplicity = form_factor.multiplicity_info[0] 
    21052101                self.multifactorbox.Clear() 
    21062102                self._set_multfactor_combobox(multiplicity) 
    21072103                self._show_multfactor_combobox() 
    21082104                #ToDo:  this info should be called directly from the model 
    2109                 text = form_factor().multiplicity_info[1]  # 'No. of Shells: ' 
     2105                text = form_factor.multiplicity_info[1]  # 'No. of Shells: ' 
    21102106 
    21112107                self.mutifactor_text.SetLabel(text) 
     
    21172113                if self.multi_factor == None: 
    21182114                    self.multi_factor = 0 
    2119                 form_factor = form_factor(int(self.multi_factor)) 
    21202115                self.multifactorbox.SetSelection(m_id) 
    21212116                # Check len of the text1 and max_multiplicity 
     
    21312126                else: 
    21322127                    self.sld_axes = "" 
    2133  
    21342128            else: 
    21352129                self._hide_multfactor_combobox() 
    21362130                self.show_sld_button.Hide() 
    2137                 form_factor = form_factor() 
    21382131                self.multi_factor = None 
    21392132        else: 
     
    21472140        if  struct_factor != None: 
    21482141            from sas.sascalc.fit.MultiplicationModel import MultiplicationModel 
    2149             self.model = MultiplicationModel(form_factor, struct_factor()) 
     2142            self.model = MultiplicationModel(form_factor(self.multi_factor), 
     2143                                             struct_factor()) 
    21502144            # multifunctional form factor 
    21512145            if len(form_factor.non_fittable) > 0: 
    21522146                self.temp_multi_functional = True 
     2147        elif form_factor != None: 
     2148            self.model = form_factor(self.multi_factor) 
    21532149        else: 
    2154             if form_factor != None: 
    2155                 self.model = form_factor 
    2156             else: 
    2157                 self.model = None 
    2158                 return self.model 
     2150            self.model = None 
     2151            return 
     2152 
    21592153        # check if model has magnetic parameters 
    21602154        if len(self.model.magnetic_params) > 0: 
     
    22862280                parameter's error of fit, 
    22872281                parameter's minimum value, 
    2288                 parrameter's maximum value , 
     2282                parameter's maximum value , 
    22892283                parameter's units] 
    22902284        """ 
  • src/sas/sasgui/perspectives/fitting/fitpage.py

    rf27dd1e rcb4ef58  
    1010import math 
    1111import time 
     12 
     13from sasmodels.weights import MODELS as POLYDISPERSITY_MODELS 
     14 
    1215from sas.sasgui.guiframe.events import StatusEvent 
    1316from sas.sasgui.guiframe.events import NewPlotEvent 
     
    621624        model_disp = wx.StaticText(self, wx.ID_ANY, 'Function') 
    622625        CHECK_STATE = self.cb1.GetValue() 
    623         #import sas.models.dispersion_models 
    624         #self.polydisp = sas.models.dispersion_models.models 
    625         import sasmodels.weights 
    626         self.polydisp =  sasmodels.weights.models 
    627626 
    628627        ix = 0 
     
    784783                disp_box = wx.ComboBox(self, wx.ID_ANY, size=(65, -1), 
    785784                                       style=wx.CB_READONLY, name='%s' % name1) 
    786                 for key, value in self.polydisp.iteritems(): 
     785                for key, value in POLYDISPERSITY_MODELS.iteritems(): 
    787786                    name_disp = str(key) 
    788787                    disp_box.Append(name_disp, value) 
     
    948947                disp_box = wx.ComboBox(self, wx.ID_ANY, size=(65, -1), 
    949948                                style=wx.CB_READONLY, name='%s' % name1) 
    950                 for key, value in self.polydisp.iteritems(): 
     949                for key, value in POLYDISPERSITY_MODELS.iteritems(): 
    951950                    name_disp = str(key) 
    952951                    disp_box.Append(name_disp, value) 
  • src/sas/sasgui/perspectives/fitting/models.py

    rdcdca68 rcb4ef58  
    296296        #Build list automagically from sasmodels package 
    297297        for model in load_standard_models(): 
    298             self.model_dictionary[model._model_info['name']] = model 
    299             if model._model_info['structure_factor'] == True: 
     298            self.model_dictionary[model.name] = model 
     299            if model.is_structure_factor: 
    300300                self.struct_list.append(model) 
    301             if model._model_info['variant_info'] is not None: 
     301            if model.is_form_factor: 
     302                self.multiplication_factor.append(model) 
     303            if model.is_multiplicity_model: 
    302304                self.multi_func_list.append(model) 
    303305            else: 
    304                 self.model_name_list.append(model._model_info['name']) 
    305             if model._model_info['ER'] is not None: 
    306                 self.multiplication_factor.append(model) 
     306                self.model_name_list.append(model.name) 
    307307 
    308308        #Looking for plugins 
     
    387387        Get the multifunctional models 
    388388        """ 
    389         for item in self.plugins: 
    390             try: 
    391                 # check the multiplicity if any 
    392                 if item.multiplicity_info[0] > 1: 
    393                     self.multi_func_list.append(item) 
    394             except: 
    395                 # pass to other items 
    396                 pass 
     389        items = [item for item in self.plugins if item.is_multiplicity_model] 
     390        self.multi_func_list = items 
    397391 
    398392    def get_model_list(self): 
Note: See TracChangeset for help on using the changeset viewer.