Changeset 442895f in sasview for sansview/perspectives/fitting/fitting.py
- Timestamp:
- Sep 23, 2008 1:25:52 PM (16 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:
- 6aa47df
- Parents:
- e71440c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/fitting.py
r55fd102 r442895f 14 14 import fitpage 15 15 import park 16 class PlottableDatas(Data,Data1D): 17 """ class plottable data: class allowing to plot Data type on panel""" 18 19 def __init__(self,data=None,data1d=None): 20 Data.__init__(self,sans_data=data1d) 21 Data1D.__init__(self,x=data1d.x,y = data1d.y,dx = data1d.dx,dy = data1d.dy) 22 #self.x = data1d.x 23 #self.y = data1d.y 24 #self.dx = data1d.dx 25 #self.dy = data1d.dy 26 #self.data=data 27 self.group_id = data1d.group_id 28 #x_name, x_units = data1d.get_xaxis() 29 #y_name, y_units = data1d.get_yaxis() 30 #self.xaxis( x_name, x_units) 31 #self.yaxis( y_name, y_units ) 32 #self.qmin = data.qmin 33 #self.qmax = data.qmax 34 16 35 17 36 class PlottableData(Data,Data1D): 18 37 """ class plottable data: class allowing to plot Data type on panel""" 19 def __init__(self,data,data1d): 38 39 def __init__(self,data=None,data1d=None): 40 #Data.__init__(self,*args) 41 #Data1D.__init__(self,**kw) 20 42 self.x = data1d.x 21 43 self.y = data1d.y 22 44 self.dx = data1d.dx 23 45 self.dy = data1d.dy 24 46 self.data=data 25 47 self.group_id = data1d.group_id 26 48 x_name, x_units = data1d.get_xaxis() … … 30 52 self.qmin = data.qmin 31 53 self.qmax = data.qmax 54 def residuals(self, fn): 55 return self.data.residuals(fn) 32 56 33 57 class Plugin: … … 68 92 wx.EVT_MENU(owner, id1, self.on_perspective) 69 93 id3 = wx.NewId() 70 self.menu1.Append (id3,'&scipy \ park','toggle engine to park or scipy')94 self.menu1.AppendCheckItem(id3, "park") 71 95 wx.EVT_MENU(owner, id3, self._onset_engine) 72 96 … … 166 190 #create a fitproblem storing all link to data,model,page creation 167 191 self.page_finder[page]= FitProblem() 168 data_for_park= Data(sans_data=item) 169 datap=PlottableData(data=data_for_park,data1d=item) 170 self.page_finder[page].add_data(datap) 192 #data_for_park= Data(sans_data=item) 193 #datap = PlottableData(data=data_for_park,data1d=item) 194 #self.page_finder[page].add_data(datap) 195 self.page_finder[page].add_data(item) 171 196 except: 197 #raise 172 198 wx.PostEvent(self.parent, StatusEvent(status="Fitting error: \ 173 199 data already Selected ")) … … 230 256 break 231 257 i = 0 258 # print "fitting: single fit pars ", pars 232 259 for name in pars: 233 260 if result.pvec.__class__==numpy.float64: … … 235 262 else: 236 263 model.setParam(name,result.pvec[i]) 264 # print "fitting: single fit", name, result.pvec[i] 237 265 i += 1 266 # print "fitting result : chisqr",result.fitness 267 # print "fitting result : pvec",result.pvec 268 # print "fitting result : stderr",result.stderr 269 238 270 current_pg.onsetValues(result.fitness, result.pvec,result.stderr) 239 271 self.plot_helper(currpage=current_pg,qmin=qmin,qmax=qmax) 240 272 except: 273 raise 241 274 wx.PostEvent(self.parent, StatusEvent(status="Fitting error: %s" % sys.exc_value)) 242 275 … … 319 352 try: 320 353 self.fitter.set_model(Model(model), self.id, pars) 321 self.fitter.set_data(data,self.id,qmin,qmax) 354 #print "fitting: data .x",data.x 355 #print "fitting: data .y",data.y 356 #print "fitting: data .dy",data.dy 357 self.fitter.set_data(Data(sans_data=data),self.id,qmin,qmax) 322 358 323 359 result=self.fitter.fit() … … 325 361 326 362 except: 363 raise 327 364 wx.PostEvent(self.parent, StatusEvent(status="Single Fit error: %s" % sys.exc_value)) 328 365 return … … 364 401 return 365 402 self.fitter.set_model(Model(model), self.id, pars) 366 self.fitter.set_data( data,self.id,qmin,qmax)403 self.fitter.set_data(Data(sans_data=data),self.id,qmin,qmax) 367 404 368 405 self.id += 1 … … 415 452 model.name="M"+str(self.index_model) 416 453 self.index_model += 1 417 #self.page_finder[current_pg].set_theory("Fitness")454 418 455 self.page_finder[current_pg].set_model(model,M_name) 419 456 self.plot_helper(currpage= current_pg,qmin= None,qmax= None) … … 448 485 if data!=None: 449 486 theory = Theory1D(x=[], y=[]) 450 theory.name = model.name487 theory.name = "Model" 451 488 theory.group_id = data.group_id 452 489 … … 455 492 theory.xaxis(x_name, x_units) 456 493 theory.yaxis(y_name, y_units) 457 494 #print"fitting : redraw data.x",data.x 495 #print"fitting : redraw data.y",data.y 496 #print"fitting : redraw data.dy",data.dy 458 497 if qmin == None : 459 498 qmin = min(data.x) … … 489 528 skipping point x %g %s" %(qmax, sys.exc_value))) 490 529 try: 491 from sans.guicomm.events import NewPlotEvent 530 #print "fitting redraw for plot thoery .x",theory.x 531 #print "fitting redraw for plot thoery .y",theory.y 532 #print "fitting redraw for plot thoery .dy",theory.dy 533 #rom sans.guicomm.events import NewPlotEvent 492 534 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, title="Analytical model")) 493 535 except: 536 raise 494 537 print "SimView.complete1D: could not import sans.guicomm.events" 495 538 … … 520 563 521 564 new_plot = Theory1D(x, y) 522 new_plot.name = model.name565 new_plot.name = "Model" 523 566 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 524 567 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}")
Note: See TracChangeset
for help on using the changeset viewer.