Changeset 4dd63eb in sasview for park_integration/ScipyFitting.py


Ignore:
Timestamp:
Jul 10, 2008 6:05:09 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
49b3ddd
Parents:
83ca047
Message:

change on set_model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • park_integration/ScipyFitting.py

    r792db7d5 r4dd63eb  
    8888        self.fitArrangeList={} 
    8989         
    90     def fit(self,pars, qmin=None, qmax=None): 
     90    def fit(self,qmin=None, qmax=None): 
    9191        """ 
    9292            Performs fit with scipy optimizer.It can only perform fit with one model 
     
    107107        listdata = fitproblem.get_data() 
    108108         
    109         #Create list of Parameter instances and save parameters values in model 
    110         parameters = self.set_param(model,model.name,pars) 
    111109        
    112110        # Concatenate dList set (contains one or more data)before fitting 
     
    119117        if qmax==None: 
    120118            qmax= max(xtemp)  
    121              
     119         
    122120        #perform the fit  
    123         chisqr, out, cov = fitHelper(model,parameters, xtemp,ytemp, dytemp ,qmin,qmax) 
     121        chisqr, out, cov = fitHelper(model,self.parameters, xtemp,ytemp, dytemp ,qmin,qmax) 
     122         
    124123        return chisqr, out, cov 
    125124     
     
    158157            return xtemp, ytemp,dytemp 
    159158         
    160     def set_model(self,model,Uid): 
    161         """  
     159    def set_model(self,model,name,Uid,pars={}): 
     160        """  
     161       
     162            Receive a dictionary of parameter and save it Parameter list 
     163            For scipy.fit use. 
    162164            Set model in a FitArrange object and add that object in a dictionary 
    163165            with key Uid. 
    164             @param model: the model added 
     166            @param model: model on with parameter values are set 
     167            @param name: model name 
    165168            @param Uid: unique key corresponding to a fitArrange object with model 
    166         """ 
     169            @param pars: dictionary of paramaters name and value 
     170            pars={parameter's name: parameter's value} 
     171             
     172        """ 
     173        self.parameters=[] 
     174        if model==None: 
     175            raise ValueError, "Cannot set parameters for empty model" 
     176        else: 
     177            model.name=name 
     178            for key, value in pars.iteritems(): 
     179                param = Parameter(model, key, value) 
     180                self.parameters.append(param) 
     181         
    167182        #A fitArrange is already created but contains dList only at Uid 
    168183        if self.fitArrangeList.has_key(Uid): 
     
    201216            return None 
    202217     
    203     def set_param(self,model,name, pars): 
    204         """  
    205             Recieve a dictionary of parameter and save it  
    206             @param model: model on with parameter values are set 
    207             @param name: model name 
    208             @param pars: dictionary of paramaters name and value 
    209             pars={parameter's name: parameter's value} 
    210             @return list of Parameter instance 
    211         """ 
    212         parameters=[] 
    213         if model==None: 
    214             raise ValueError, "Cannot set parameters for empty model" 
    215         else: 
    216             model.name=name 
    217             for key, value in pars.iteritems(): 
    218                 param = Parameter(model, key, value) 
    219                 parameters.append(param) 
    220         return parameters 
    221      
    222     def remove_data(self,Uid,data=None): 
    223         """ remove one or all data.if data ==None will remove the whole 
    224             list of data at Uid; else will remove only data in that list. 
    225             @param Uid: unique id containing FitArrange object with data 
    226             @param data:data to be removed 
    227         """ 
    228         if data==None: 
    229         # remove all element in data list 
    230             if self.fitArrangeList.has_key(Uid): 
    231                 self.fitArrangeList[Uid].remove_datalist() 
    232         else: 
    233         #remove only data in dList 
    234             if self.fitArrangeList.has_key(Uid): 
    235                 self.fitArrangeList[Uid].remove_data(data) 
    236                  
    237     def remove_model(self,Uid): 
    238         """  
    239             remove model in FitArrange object with Uid. 
    240             @param Uid: Unique id corresponding to the FitArrange object  
    241             where model must be removed. 
    242         """ 
     218     
     219     
     220    def remove_Fit_Problem(self,Uid): 
     221        """remove   fitarrange in Uid""" 
    243222        if self.fitArrangeList.has_key(Uid): 
    244             self.fitArrangeList[Uid].remove_model() 
     223            del self.fitArrangeList[Uid] 
    245224                 
    246225 
Note: See TracChangeset for help on using the changeset viewer.