Changeset 67e258c in sasview for sansview


Ignore:
Timestamp:
Oct 21, 2010 12:25:55 PM (14 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:
4628e31
Parents:
b2f25dc5
Message:

working pylint fitting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansview/perspectives/fitting/fitting.py

    rfb59ed9 r67e258c  
    495495        ## redraw the model with data smeared 
    496496 
    497         smear =self.page_finder[self.current_pg].get_smearer() 
    498         if model!= None: 
    499             self.draw_model( model=model, data= data, smearer= smear, 
    500                 qmin= qmin, qmax= qmax) 
    501  
    502     def draw_model(self, model, data= None,smearer= None, 
    503                    enable1D= True, enable2D= False, 
    504                    qmin= DEFAULT_QMIN, qmax= DEFAULT_QMAX, qstep= DEFAULT_NPTS): 
     497        smear = self.page_finder[self.current_pg].get_smearer() 
     498        if model != None: 
     499            self.draw_model(model=model, data=data, smearer=smear, 
     500                qmin=qmin, qmax=qmax) 
     501 
     502    def draw_model(self, model, data=None, smearer=None, 
     503                   enable1D=True, enable2D=False, 
     504                   qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX, qstep=DEFAULT_NPTS): 
    505505        """ 
    506506        Draw model. 
     
    517517              
    518518        """ 
    519         if data.__class__.__name__ !="Data2D":     
     519        if data.__class__.__name__ != "Data2D":     
    520520            ## draw model 1D with no loaded data 
    521             self._draw_model1D( model= model, data= data, 
    522                                                     enable1D=enable1D,  
    523                                                     smearer= smearer, 
    524                                                     qmin= qmin, qmax= qmax, qstep= qstep ) 
     521            self._draw_model1D(model=model,  
     522                               data=data, 
     523                               enable1D=enable1D,  
     524                               smearer=smearer, 
     525                               qmin=qmin, 
     526                               qmax=qmax,  
     527                               qstep=qstep) 
    525528        else:      
    526529            ## draw model 2D with no initial data 
    527530             self._draw_model2D(model=model, 
    528                                       data = data, 
    529                                       enable2D= enable2D, 
    530                                       smearer= smearer, 
    531                                       qmin=qmin, 
    532                                       qmax=qmax, 
    533                                       qstep=qstep) 
     531                                data=data, 
     532                                enable2D=enable2D, 
     533                                smearer=smearer, 
     534                                qmin=qmin, 
     535                                qmax=qmax, 
     536                                qstep=qstep) 
    534537             
    535538    def onFit(self): 
     
    538541        """ 
    539542        ##  count the number of fitproblem schedule to fit  
    540         fitproblem_count= 0 
     543        fitproblem_count = 0 
    541544        for value in self.page_finder.itervalues(): 
    542             if value.get_scheduled()==1: 
     545            if value.get_scheduled() == 1: 
    543546                fitproblem_count += 1 
    544547                 
    545548        ## if simultaneous fit change automatically the engine to park 
    546         if fitproblem_count >1: 
     549        if fitproblem_count > 1: 
    547550            self._on_change_engine(engine='park') 
    548551             
     
    550553           
    551554        from sans.fit.Fitting import Fit 
    552         self.fitter= Fit(self._fit_engine) 
    553          
    554         if self._fit_engine=="park": 
    555             engineType="Simultaneous Fit" 
     555        self.fitter = Fit(self._fit_engine) 
     556         
     557        if self._fit_engine == "park": 
     558            engineType = "Simultaneous Fit" 
    556559        else: 
    557             engineType="Single Fit" 
     560            engineType = "Single Fit" 
    558561             
    559562        fproblemId = 0 
    560         self.current_pg=None 
     563        self.current_pg = None 
    561564        for page, value in self.page_finder.iteritems(): 
    562565            try: 
    563                 if value.get_scheduled()==1: 
     566                if value.get_scheduled() == 1: 
    564567                    #Get list of parameters name to fit 
    565568                    pars = [] 
     
    570573                        pars.append(name) 
    571574                    #Set Engine  (model , data) related to the page on  
    572                     self._fit_helper( value=value,pars=pars, 
    573                                       id=fproblemId, title= engineType )  
     575                    self._fit_helper(value=value, pars=pars, 
     576                                      id=fproblemId, title=engineType)  
    574577                    fproblemId += 1  
    575                     self.current_pg= page 
     578                    self.current_pg = page 
    576579            except: 
    577                 msg= "%s error: %s" % (engineType,sys.exc_value) 
     580                msg= "%s error: %s" % (engineType, sys.exc_value) 
    578581                wx.PostEvent(self.parent, StatusEvent(status=msg, info="error", 
    579582                                                      type="stop")) 
     
    586589        ## perform single fit 
    587590        if fitproblem_count == 1: 
    588             calc_fit=FitThread(parent =self.parent, 
     591            calc_fit = FitThread(parent=self.parent, 
    589592                                    handler = handler, 
    590                                     fn= self.fitter, 
     593                                    fn=self.fitter, 
    591594                                   cpage=self.current_pg, 
    592                                    pars= pars, 
     595                                   pars=pars, 
    593596                                   updatefn=handler.update_fit, 
    594                                    completefn= self._single_fit_completed) 
     597                                   completefn=self._single_fit_completed) 
    595598        else: 
    596599            ## Perform more than 1 fit at the time 
    597             calc_fit=FitThread(parent=self.parent, 
     600            calc_fit = FitThread(parent=self.parent, 
    598601                                handler=handler, 
    599602                                    fn= self.fitter, 
     
    797800            fitproblem.schedule_tofit(value) 
    798801             
    799     def _fit_helper(self,pars,value, id, title="Single Fit " ): 
     802    def _fit_helper(self, pars, value, id, title="Single Fit " ): 
    800803        """ 
    801804        helper for fitting 
     
    804807        model = value.get_model() 
    805808        smearer = value.get_smearer() 
    806         qmin , qmax = value.get_range() 
    807         self.fit_id =id 
     809        qmin, qmax = value.get_range() 
     810        self.fit_id = id 
    808811        #Create list of parameters for fitting used 
    809         templist=[] 
     812        templist = [] 
    810813        
    811814        try: 
    812815            #Extra list of parameters and their constraints 
    813             listOfConstraint= [] 
     816            listOfConstraint = [] 
    814817             
    815818            param = value.get_model_param() 
    816             if len(param)>0: 
     819            if len(param) > 0: 
    817820                for item in param: 
    818821                    ## check if constraint 
    819                     if item[0] !=None and item[1] != None: 
     822                    if item[0] != None and item[1] != None: 
    820823                        listOfConstraint.append((item[0],item[1])) 
    821824                    
    822825            #Do the single fit 
    823826            self.fitter.set_model(model, self.fit_id, 
    824                                    pars,constraints = listOfConstraint) 
    825             print "listOfConstraint",listOfConstraint 
    826             self.fitter.set_data(data=metadata,Uid=self.fit_id, 
    827                                  smearer=smearer,qmin= qmin,qmax=qmax ) 
     827                                   pars, constraints=listOfConstraint) 
     828             
     829            self.fitter.set_data(data=metadata, id=self.fit_id, 
     830                                 smearer=smearer, qmin=qmin, qmax=qmax) 
    828831            
    829             self.fitter.select_problem_for_fit(Uid= self.fit_id, 
    830                                                value= value.get_scheduled()) 
     832            self.fitter.select_problem_for_fit(id=self.fit_id, 
     833                                               value=value.get_scheduled()) 
    831834            value.clear_model_param() 
    832835        except: 
    833             msg= title +" error: %s" % sys.exc_value 
    834             wx.PostEvent(self.parent, StatusEvent(status= msg, type="stop")) 
    835             return 
    836         
     836            msg = title + " error: %s" % sys.exc_value 
     837            wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 
     838           
    837839    def _onSelect(self,event): 
    838840        """  
     
    841843        """ 
    842844        self.panel = event.GetEventObject() 
    843         Plugin.on_perspective(self,event=event) 
     845        Plugin.on_perspective(self, event=event) 
    844846        for plottable in self.panel.graph.plottables: 
    845847            if plottable.__class__.__name__ in ["Data1D", "Theory1D"]: 
     
    869871                                                      type="stop")) 
    870872                return 
    871             if not numpy.isfinite(result.fitness) or numpy.any(result.pvec ==None )or not numpy.all(numpy.isfinite(result.pvec) ): 
    872                 msg= "Single Fitting did not converge!!!" 
    873                 wx.PostEvent(self.parent, StatusEvent(status=msg,type="stop")) 
     873            if not numpy.isfinite(result.fitness) or \ 
     874                    numpy.any(result.pvec == None) or \ 
     875                    not numpy.all(numpy.isfinite(result.pvec)): 
     876                msg = "Single Fitting did not converge!!!" 
     877                wx.PostEvent(self.parent,  
     878                             StatusEvent(status=msg, type="stop")) 
    874879                return 
    875880            for page, value in self.page_finder.iteritems(): 
    876                 if page==cpage : 
    877                     model= value.get_model() 
     881                if page == cpage : 
     882                    model = value.get_model() 
    878883                    break 
    879884            param_name = [] 
     
    882887                param_name.append(name) 
    883888 
    884             cpage.onsetValues(result.fitness,param_name, result.pvec,result.stderr) 
     889            cpage.onsetValues(result.fitness,  
     890                              param_name, result.pvec,result.stderr) 
    885891            
    886892        except: 
    887             msg= "Single Fit completed but Following error occurred:%s"% sys.exc_value 
     893            msg = "Single Fit completed but Following" 
     894            msg += " error occurred:%s" % sys.exc_value 
    888895            wx.PostEvent(self.parent, StatusEvent(status=msg, info="error", 
    889896                                                  type="stop")) 
    890897            return 
    891898        
    892     def _simul_fit_completed(self,result,pars=None,cpage=None, elapsed=None): 
     899    def _simul_fit_completed(self, result, pars=None, cpage=None, elapsed=None): 
    893900        """ 
    894901        Parameter estimation completed,  
     
    971978            #self.menu3.Append(event_id, new_panel.window_caption,  
    972979            #                 "Show %s plot panel" % new_panel.window_caption) 
    973             # Set UID to allow us to reference the panel later 
     980            # Set id to allow us to reference the panel later 
    974981          
    975982            new_panel.uid = event_id 
     
    12691276            theory.detector= data.detector 
    12701277            theory.source= data.source 
    1271             theory.is_data =False  
     1278            theory.is_data = False  
    12721279            theory.qx_data = data.qx_data 
    12731280            theory.qy_data = data.qy_data 
     
    13491356 
    13501357        except: 
    1351             msg= " Error occurred when drawing %s Model 2D: "%model.name 
    1352             msg+= " %s"%sys.exc_value 
    1353             wx.PostEvent( self.parent, StatusEvent(status= msg )) 
    1354  
    1355     def _draw_model1D(self, model, data=None, smearer= None, 
    1356                 qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX, qstep= DEFAULT_NPTS,enable1D= True): 
     1358            msg= " Error occurred when drawing %s Model 2D: " % model.name 
     1359            msg+= " %s" % sys.exc_value 
     1360            wx.PostEvent(self.parent, StatusEvent(status=msg)) 
     1361 
     1362    def _draw_model1D(self, model, data=None, smearer=None, 
     1363                qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX,  
     1364                qstep=DEFAULT_NPTS, enable1D=True): 
    13571365        """ 
    13581366        Draw model 1D from loaded data1D 
Note: See TracChangeset for help on using the changeset viewer.