Ignore:
Timestamp:
Dec 12, 2008 3:13:10 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:
3aae6b6
Parents:
2d107b8
Message:

scroll bars and model2d view added—bug?

File:
1 edited

Legend:

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

    rb2c3225 rf39511b  
    5858        #menu for model 
    5959        menu2 = wx.Menu() 
    60         id4 = wx.NewId() 
    61         menu2.AppendCheckItem(id4, "model view 2D")  
    62         wx.EVT_MENU(owner, id4, self.on_draw_model2D) 
    63          
     60     
    6461        self.menu_mng.populate_menu(menu2, owner) 
    6562        id2 = wx.NewId() 
     
    351348            result=self.fitter.fit() 
    352349            #self._single_fit_completed(result,pars,current_pg,qmin,qmax) 
    353             print "single_fit: result",result.fitness,result.pvec,result.stderr 
     350            #print "single_fit: result",result.fitness,result.pvec,result.stderr 
    354351            #self._single_fit_completed(result,pars,page,qmin,qmax) 
    355352            self._single_fit_completed(result,pars,page_fitted,qmin,qmax,ymin,ymax) 
     
    577574         
    578575        model=evt.model() 
    579         name="Model View" 
    580         print "mon menu",model.name 
     576        #name="Model View" 
     577        #print "mon menu",model.name 
    581578        description=model.description 
    582         #self.fit_panel.add_model_page(model,description,model.name)    
    583         self.fit_panel.add_model_page(model,description,name)           
     579        #self.fit_panel.add_model_page(model,description,name)    
     580             
    584581        self.draw_model(model,self.enable_model2D) 
    585582         
    586     def draw_model(self,model,enable2D=False): 
     583    def draw_model(self,model,description=None, enable2D=False,qmin=None, qmax=None): 
    587584        """ 
    588585             draw model with default data value 
    589586        """ 
    590         x = numpy.arange(0.001, 1.0, 0.001) 
    591         xlen = len(x) 
    592         y = numpy.zeros(xlen) 
    593         if not enable2D: 
    594             for i in range(xlen): 
    595                 y[i] = model.run(x[i]) 
    596      
    597             try: 
    598                 new_plot = Theory1D(x, y) 
    599                 new_plot.name = model.name 
    600                 #new_plot.name = "Model" 
    601                 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    602                 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
    603                   
    604                 new_plot.group_id ="Fitness" 
    605                 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 
    606                  
    607             except: 
    608                 raise 
     587        self.fit_panel.add_model_page(model,model.description,model.name)  
     588        #x = numpy.arange(0.001, 1.0, 0.001) 
     589        #y = numpy.arange(0.001, 1.0, 0.001) 
     590        x = numpy.arange(-0.05, 0.05, 0.001) 
     591        y = numpy.arange(-0.05, 0.05, 0.001) 
     592        print "went here ",enable2D 
     593        if enable2D: 
     594            data=numpy.zeros([len(x),len(y)]) 
     595            for i in range(len(y)): 
     596                for j in range(len(x)): 
     597                    data[i][j]=model.runXY([j,i]) 
     598            theory = Theory2D(data)   
     599            theory.group_id =str(model.name)+" 2D" 
     600            theory.xmin=-0.05 
     601            theory.xmax= 0.05 
     602            theory.ymin= -0.05 
     603            theory.ymax= 0.05 
     604            wx.PostEvent(self.parent, NewPlotEvent(plot=theory, title="Analytical model 2D")) 
    609605        else: 
    610             for i in range(xlen): 
    611                 y[i] = model.run(x[i]) 
    612      
    613             try: 
    614                 new_plot = Theory1D(x, y) 
    615                 new_plot.name = model.name 
    616                 #new_plot.name = "Model" 
    617                 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    618                 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
    619                   
    620                 new_plot.group_id ="Fitness" 
    621                 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 
    622                  
    623             except: 
    624                 raise 
     606            x = numpy.arange(0.001, 1.0, 0.001)         
     607            xlen= len(x) 
     608            y = numpy.zeros(xlen) 
     609            if not enable2D: 
     610                for i in range(xlen): 
     611                    y[i] = model.run(x[i]) 
     612         
     613                try: 
     614                    new_plot = Theory1D(x, y) 
     615                    #new_plot.name = model.name 
     616                    new_plot.name = "Model" 
     617                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
     618                    new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
     619                      
     620                    new_plot.group_id ="Fitness" 
     621                    wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 
     622                     
     623                except: 
     624                    raise 
     625            else: 
     626                for i in range(xlen): 
     627                    y[i] = model.run(x[i]) 
     628         
     629                try: 
     630                    new_plot = Theory1D(x, y) 
     631                    new_plot.name = model.name 
     632                    #new_plot.name = "Model" 
     633                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
     634                    new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
     635                      
     636                    new_plot.group_id ="Fitness" 
     637                    wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 
     638                     
     639                except: 
     640                    raise 
    625641    def on_draw_model2D(self, event): 
    626642        """ 
Note: See TracChangeset for help on using the changeset viewer.