Ignore:
Timestamp:
Jan 6, 2009 5:17:06 PM (15 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:
b6b1669
Parents:
78ed1ad
Message:

working on model plot

File:
1 edited

Legend:

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

    rbe404bc r86c1832  
    578578            Plot a theory from a model selected from the menu 
    579579        """ 
     580        name = evt.model.__name__ 
     581        if hasattr(evt.model, "name"): 
     582            name = evt.model.name 
    580583        model=evt.model() 
    581584        #name="Model View" 
     
    584587        #self.fit_panel.add_model_page(model,description,name)   
    585588         
    586         self.draw_model(model,self.enable_model2D) 
    587          
    588     def draw_model(self,model,description=None,enable1D=True, enable2D=False,qmin=None, qmax=None,qstep=None): 
     589        self.draw_model(model=model,name=name,enable2D=self.enable_model2D) 
     590         
     591    def draw_model(self,model,name ,description=None,enable1D=True, enable2D=False,qmin=None, qmax=None,qstep=None): 
    589592        """ 
    590593             draw model with default data value 
    591594        """ 
    592         self.fit_panel.add_model_page(model,model.description,model.name)  
    593         self._draw_model2D(model,model.description, enable2D,qmin,qmax,qstep) 
    594         self._draw_model1D(model,model.description, enable1D,qmin,qmax, qstep) 
     595         
     596        self.fit_panel.add_model_page(model=model,description=model.description,page_title=name)  
     597        self._draw_model2D(model,name,model.description, enable2D,qmin,qmax,qstep) 
     598        self._draw_model1D(model,name,model.description, enable1D,qmin,qmax, qstep) 
    595599        
    596     def _draw_model1D(self,model,description=None, enable1D=True,qmin=None,qmax=None, qstep=None): 
     600    def _draw_model1D(self,model,name,description=None, enable1D=True,qmin=None,qmax=None, qstep=None): 
    597601         
    598602        if enable1D: 
     
    604608                qstep =0.001 
    605609            
    606             print "x in data1D",qmin,qmax 
     610            #print "x in data1D",qmin,qmax 
    607611            x = numpy.arange(qmin, qmax, qstep)         
    608612            xlen= len(x) 
     
    614618                try: 
    615619                    new_plot = Theory1D(x, y) 
    616                     #new_plot.name = model.name 
    617                     new_plot.name = model.name 
     620                    new_plot.name = name 
    618621                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    619622                    new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
     
    627630                for i in range(xlen): 
    628631                    y[i] = model.run(x[i]) 
    629          
     632                     
    630633                try: 
    631634                    new_plot = Theory1D(x, y) 
    632                     new_plot.name = model.name 
     635                    new_plot.name = name 
    633636                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    634637                    new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 
     
    636639                    new_plot.group_id ="Model" 
    637640                    wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 
    638                                      title="Analytical model 1D %s"%str(model.name) )) 
     641                                     title="Analytical model 1D " )) 
    639642                     
    640643                except: 
    641644                    raise 
    642     def _draw_model2D(self,model,description=None, enable2D=False,qmin=None,qmax=None, qstep=None): 
     645    def _draw_model2D(self,model,name,description=None, enable2D=False,qmin=None,qmax=None, qstep=None): 
    643646        if qmin==None: 
    644647            qmin= -0.05 
     
    653656        data=numpy.zeros([len(x),len(y)]) 
    654657        if enable2D: 
    655          
     658            #print "drawing model 2D params",qmin, qmax,model.getParamList() 
    656659            for i_x in range(int(len(x))): 
    657660                for i_y in range(len(y)): 
     
    662665                         wx.PostEvent(self.parent, StatusEvent(status="\ 
    663666                        Error computing %s at [%g,%g] :%s" %(model.name,x[i_x],y[i_y], sys.exc_value))) 
    664                         
     667            #print "data2 draw" ,data           
    665668            theory= Data2D(data) 
    666             theory.name= model.name 
     669            theory.name= name 
    667670            theory.group_id ="Model" 
    668671            theory.id ="Model" 
     
    672675            theory.ymax= qmax 
    673676            wx.PostEvent(self.parent, NewPlotEvent(plot=theory, 
    674                              title="Analytical model 2D %s" %str(model.name))) 
     677                             title="Analytical model 2D %s" %str(name))) 
    675678              
    676                  
    677                  
    678     def H_draw_model2D(self,model,description=None, enable2D=False,qmin=None,qmax=None, qstep=None): 
    679         if qmin==None: 
    680             qmin= -0.05 
    681         if qmax==None: 
    682             qmax= 0.05 
    683         if qstep ==None: 
    684             qstep =0.001 
    685         x = numpy.arange(qmin,qmax, qstep) 
    686         y = numpy.arange(qmin,qmax,qstep) 
    687         lx = len(self.x) 
    688         if enable2D: 
    689             data=numpy.zeros([len(x),len(y)]) 
    690             for i in range(len(x)): 
    691                 for j in range(len(x)): 
    692                     try: 
    693                         data[i][j]=model.runXY([j,i]) 
    694                     except: 
    695                          wx.PostEvent(self.parent, StatusEvent(status="\ 
    696                         Model 2D cannot be plot %g %s %s" %(data[i][j],model.name, sys.exc_value))) 
    697             theory = Data2D(data)   
    698             theory.group_id =str(model.name)+" 2D" 
    699             theory.xmin= qmin 
    700             theory.xmax= qmax 
    701             theory.ymin= qmin 
    702             theory.ymax= qmax 
    703             wx.PostEvent(self.parent, NewPlotEvent(plot=theory, title="Analytical model 2D")) 
    704      
    705      
    706     def on_draw_model2D(self, event): 
    707         """ 
    708              plot view model 2D 
    709         """ 
    710          
    711         if self.enable_model2D== True: 
    712             self.enable_model2D=False 
    713         else: 
    714             self.enable_model2D=True 
    715         print "self.enable_model2D",self.enable_model2D 
     679   
    716680if __name__ == "__main__": 
    717681    i = Plugin() 
Note: See TracChangeset for help on using the changeset viewer.