Changeset 4dd63eb in sasview for park_integration/ParkFitting.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/ParkFitting.py

    r792db7d5 r4dd63eb  
    185185        self.fitArrangeList={} 
    186186        
    187     def createProblem(self,pars={}): 
     187    def createProblem(self): 
    188188        """ 
    189189        Extract sansmodel and sansdata from self.FitArrangelist ={Uid:FitArrange} 
     
    211211         
    212212     
    213     def fit(self,pars=None, qmin=None, qmax=None): 
     213    def fit(self, qmin=None, qmax=None): 
    214214        """ 
    215215            Performs fit with park.fit module.It can  perform fit with one model 
     
    229229 
    230230        
    231         self.createProblem(pars) 
     231        self.createProblem() 
    232232        pars=self.problem.fit_parameters() 
    233233        self.problem.eval() 
     
    240240                         fitter=fitter, 
    241241                         handler= fitresult.ConsoleUpdate(improvement_delta=0.1)) 
    242          
     242        print "result",result 
    243243        return result.fitness,result.pvec,result.cov 
    244244     
    245     def set_model(self,model,Uid): 
    246         """  
     245    def set_model(self,model,name,Uid,pars={}): 
     246        """  
     247       
     248            Receive a dictionary of parameter and save it Parameter list 
     249            For scipy.fit use. 
    247250            Set model in a FitArrange object and add that object in a dictionary 
    248251            with key Uid. 
    249             @param model: the model added 
     252            @param model: model on with parameter values are set 
     253            @param name: model name 
    250254            @param Uid: unique key corresponding to a fitArrange object with model 
    251         """ 
     255            @param pars: dictionary of paramaters name and value 
     256            pars={parameter's name: parameter's value} 
     257             
     258        """ 
     259        self.parameters=[] 
     260        if model==None: 
     261            raise ValueError, "Cannot set parameters for empty model" 
     262        else: 
     263            model.name=name 
     264            for key, value in pars.iteritems(): 
     265                param = Parameter(model, key, value) 
     266                self.parameters.append(param) 
     267         
    252268        #A fitArrange is already created but contains dList only at Uid 
    253269        if self.fitArrangeList.has_key(Uid): 
     
    258274            fitproblem.set_model(model) 
    259275            self.fitArrangeList[Uid]=fitproblem 
     276         
    260277         
    261278    def set_data(self,data,Uid): 
     
    286303            return None 
    287304     
    288     def set_param(self,model,name, pars): 
    289         """  
    290             Recieve a dictionary of parameter and save it  
    291             @param model: model on with parameter values are set 
    292             @param name: model name 
    293             @param pars: dictionary of paramaters name and value 
    294             pars={parameter's name: parameter's value} 
    295             @return list of Parameter instance 
    296         """ 
    297         parameters=[] 
    298         if model==None: 
    299             raise ValueError, "Cannot set parameters for empty model" 
    300         else: 
    301             model.name=name 
    302             for key, value in pars.iteritems(): 
    303                 param = Parameter(model, key, value) 
    304                 parameters.append(param) 
    305         return parameters 
    306      
    307     def remove_data(self,Uid,data=None): 
    308         """ remove one or all data.if data ==None will remove the whole 
    309             list of data at Uid; else will remove only data in that list. 
    310             @param Uid: unique id containing FitArrange object with data 
    311             @param data:data to be removed 
    312         """ 
    313         if data==None: 
    314         # remove all element in data list 
    315             if self.fitArrangeList.has_key(Uid): 
    316                 self.fitArrangeList[Uid].remove_datalist() 
    317         else: 
    318         #remove only data in dList 
    319             if self.fitArrangeList.has_key(Uid): 
    320                 self.fitArrangeList[Uid].remove_data(data) 
    321                  
    322     def remove_model(self,Uid): 
    323         """  
    324             remove model in FitArrange object with Uid. 
    325             @param Uid: Unique id corresponding to the FitArrange object  
    326             where model must be removed. 
    327         """ 
    328         if self.fitArrangeList.has_key(Uid): 
    329             self.fitArrangeList[Uid].remove_model() 
    330305    def remove_Fit_Problem(self,Uid): 
    331306        """remove   fitarrange in Uid""" 
    332307        if self.fitArrangeList.has_key(Uid): 
    333308            del self.fitArrangeList[Uid] 
     309             
    334310    def _concatenateData(self, listdata=[]): 
    335311        """   
Note: See TracChangeset for help on using the changeset viewer.