Changeset 86c1832 in sasview for sansview/perspectives/fitting/fitting.py
- Timestamp:
- Jan 6, 2009 5:17:06 PM (15 years ago)
- 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
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/fitting.py
rbe404bc r86c1832 578 578 Plot a theory from a model selected from the menu 579 579 """ 580 name = evt.model.__name__ 581 if hasattr(evt.model, "name"): 582 name = evt.model.name 580 583 model=evt.model() 581 584 #name="Model View" … … 584 587 #self.fit_panel.add_model_page(model,description,name) 585 588 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): 589 592 """ 590 593 draw model with default data value 591 594 """ 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) 595 599 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): 597 601 598 602 if enable1D: … … 604 608 qstep =0.001 605 609 606 print "x in data1D",qmin,qmax610 #print "x in data1D",qmin,qmax 607 611 x = numpy.arange(qmin, qmax, qstep) 608 612 xlen= len(x) … … 614 618 try: 615 619 new_plot = Theory1D(x, y) 616 #new_plot.name = model.name 617 new_plot.name = model.name 620 new_plot.name = name 618 621 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 619 622 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") … … 627 630 for i in range(xlen): 628 631 y[i] = model.run(x[i]) 629 632 630 633 try: 631 634 new_plot = Theory1D(x, y) 632 new_plot.name = model.name635 new_plot.name = name 633 636 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 634 637 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") … … 636 639 new_plot.group_id ="Model" 637 640 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 638 title="Analytical model 1D %s"%str(model.name)))641 title="Analytical model 1D " )) 639 642 640 643 except: 641 644 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): 643 646 if qmin==None: 644 647 qmin= -0.05 … … 653 656 data=numpy.zeros([len(x),len(y)]) 654 657 if enable2D: 655 658 #print "drawing model 2D params",qmin, qmax,model.getParamList() 656 659 for i_x in range(int(len(x))): 657 660 for i_y in range(len(y)): … … 662 665 wx.PostEvent(self.parent, StatusEvent(status="\ 663 666 Error computing %s at [%g,%g] :%s" %(model.name,x[i_x],y[i_y], sys.exc_value))) 664 667 #print "data2 draw" ,data 665 668 theory= Data2D(data) 666 theory.name= model.name669 theory.name= name 667 670 theory.group_id ="Model" 668 671 theory.id ="Model" … … 672 675 theory.ymax= qmax 673 676 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, 674 title="Analytical model 2D %s" %str( model.name)))677 title="Analytical model 2D %s" %str(name))) 675 678 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 716 680 if __name__ == "__main__": 717 681 i = Plugin()
Note: See TracChangeset
for help on using the changeset viewer.