Changeset cfc68540 in sasview for sansview/perspectives/fitting


Ignore:
Timestamp:
Jan 18, 2009 10:34:20 AM (16 years ago)
Author:
Mathieu Doucet <doucetm@…>
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:
3f1af74
Parents:
c48a26a
Message:

Fixed the Q range selection problem when a model is first plotted.

Location:
sansview/perspectives/fitting
Files:
2 edited

Legend:

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

    rc48a26a rcfc68540  
    1717import park 
    1818DEFAULT_BEAM = 0.005 
     19DEFAULT_QMIN = 0.0 
     20DEFAULT_QMAX = 0.15 
     21DEFAULT_NPTS = 40 
    1922import time 
    2023import thread 
     
    646649        self.draw_model(model=model,name=name) 
    647650         
    648     def draw_model(self,model,name ,description=None,enable1D=True, enable2D=False,qmin=None, qmax=None,qstep=None): 
     651    def draw_model(self,model,name ,description=None,enable1D=True, enable2D=False, 
     652                   qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX, qstep=DEFAULT_NPTS): 
    649653        """ 
    650654             draw model with default data value 
    651655        """ 
    652656         
    653         self.fit_panel.add_model_page(model=model,description=model.description,page_title=name)  
     657        self.fit_panel.add_model_page(model=model,description=model.description,page_title=name, 
     658                                      qmin=qmin, qmax=qmax, npts=qstep)  
    654659        self._draw_model2D(model=model, 
    655660                           description=model.description, 
     
    659664                           qstep=qstep) 
    660665        self._draw_model1D(model,name,model.description, enable1D,qmin,qmax, qstep) 
    661         
    662     def _draw_model1D(self,model,name,description=None, enable1D=True,qmin=None,qmax=None, qstep=None): 
     666               
     667    def _draw_model1D(self,model,name,description=None, enable1D=True, 
     668                      qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX, qstep=DEFAULT_NPTS): 
    663669         
    664670        if enable1D: 
    665             if qmin==None: 
    666                 qmin= 0.001 
    667             if qmax==None: 
    668                 qmax= 1.0 
    669             if qstep ==None: 
    670                 qstep =100 
    671             
    672             #print "x in data1D",qmin,qmax 
    673             #x = numpy.arange(qmin, qmax, qstep)   
    674671            x=  numpy.linspace(start= qmin, 
    675672                               stop= qmax, 
     
    749746         
    750747          
    751     def _draw_model2D(self,model,description=None, enable2D=False,qmin=None,qmax=None, qstep=None): 
    752         if qmin==None: 
    753             qmin= 0.0 
    754         if qmax==None: 
    755             qmax= 0.05 
    756         if qstep ==None: 
    757             qstep =100 
     748    def _draw_model2D(self,model,description=None, enable2D=False, 
     749                      qmin=DEFAULT_QMIN, qmax=DEFAULT_QMAX, qstep=DEFAULT_NPTS): 
    758750        
    759751        x=  numpy.linspace(start= -1*qmax, 
  • sansview/perspectives/fitting/modelpage.py

    rc48a26a rcfc68540  
    163163        self.Centre() 
    164164        
     165    def set_range(self, qmin, qmax, npts): 
     166        """ 
     167            Set the range for the plotted models 
     168            @param qmin: minimum Q 
     169            @param qmax: maximum Q 
     170            @param npts: number of Q bins 
     171        """ 
     172        # Set the data members 
     173        self.qmin = qmin 
     174        self.qmax = qmax 
     175        self.num_points = npts 
     176         
     177        # Set the controls 
     178        self.xmin.SetValue(format_number(self.qmin)) 
     179        self.xmax.SetValue(format_number(self.qmax)) 
     180        self.npts.SetValue(format_number(self.num_points)) 
    165181         
    166182    def onClose(self,event): 
     
    191207        if self.enable2D==False: 
    192208            self.enable2D=True 
    193             self.manager.draw_model(model=self.model, 
    194                                     name=self.model.name, 
    195                                     description=None, 
    196                                     enable2D=self.enable2D, 
    197                                     qmin=float(self.qmin), 
    198                                     qmax=float(self.qmax), 
    199                                     qstep= self.num_points) 
    200         
     209            self._draw_model() 
    201210             
    202211    def populate_box(self, dict): 
     
    234243            if name ==event.GetString(): 
    235244                model=item() 
    236                 #print "fitpage: _on_select_model model name",name ,event.GetString() 
    237245                self.model= model 
    238246                self.set_panel(model) 
    239247                print "name in model page", name,event.GetString() 
    240248                self.name= name 
    241                 self.manager.draw_model(model, name) 
    242                  
     249                #self.manager.draw_model(model, name) 
     250                self._draw_model() 
    243251             
    244252             
     
    407415           
    408416            if is_modified: 
    409                 self.manager.draw_model(self.model, self.model.name,  
    410                                         qmin=self.qmin, qmax=self.qmax, 
    411                                         qstep= self.num_points, 
    412                                         enable2D=self.enable2D) 
    413              
    414              
     417                self._draw_model()             
     418             
     419    def _draw_model(self): 
     420        """ 
     421            Method to draw or refresh a plotted model. 
     422            The method will use the data member from the model page 
     423            to build a call to the fitting perspective manager. 
     424             
     425            [Note to coder: This way future changes will be done in only one place.]  
     426        """ 
     427        self.manager.draw_model(self.model, self.model.name,  
     428                                qmin=self.qmin, qmax=self.qmax, 
     429                                qstep= self.num_points, 
     430                                enable2D=self.enable2D) 
     431    
    415432             
    416433             
Note: See TracChangeset for help on using the changeset viewer.