Changeset 254 for trunk/GSASIIimgGUI.py
- Timestamp:
- Mar 7, 2011 3:31:18 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIimgGUI.py
r253 r254 27 27 asind = lambda x: 180.*math.asin(x)/math.pi 28 28 29 29 30 def UpdateImageControls(self,data,masks): 30 31 import ImageCalibrants as calFile … … 53 54 data['calibskip'] = int(calibSkip.GetValue()) 54 55 56 def OnSetRings(event): 57 if data['setRings']: 58 data['setRings'] = False 59 else: 60 data['setRings'] = True 61 showCalib.SetValue(data['setRings']) 62 G2plt.PlotExposedImage(self,event=event) 63 55 64 def OnCalibDmin(event): 56 65 try: … … 104 113 except ValueError: 105 114 pass 106 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)107 115 outChan.SetValue(str(data['outChannels'])) #reset in case of error 108 116 … … 115 123 except ValueError: 116 124 pass 117 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)118 125 outAzim.SetValue(str(data['outAzimuths'])) #reset in case of error 119 126 … … 144 151 self.Lazim.SetEditable(False) 145 152 self.Razim.SetEditable(False) 146 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)147 153 G2plt.PlotExposedImage(self,event=event) 148 154 … … 164 170 self.InnerTth.SetValue("%8.3f" % (Ltth)) 165 171 self.OuterTth.SetValue("%8.2f" % (Utth)) 166 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)167 172 G2plt.PlotExposedImage(self,event=event) 168 173 … … 171 176 Razm = int(self.Razim.GetValue()) 172 177 data['LRazimuth'] = [Lazm,Razm] 173 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)174 178 G2plt.PlotExposedImage(self,event=event) 175 179 176 def OnSetRings(event):177 if data['setRings']:178 data['setRings'] = False179 else:180 data['setRings'] = True181 setRings.SetValue(data['setRings'])182 G2plt.PlotExposedImage(self,event=event)183 180 184 181 def OnClearCalib(event): … … 201 198 dlg.ShowModal() 202 199 self.ifGetRing = False 203 204 if G2img.ImageCalibrate(self,data): 205 Status.SetStatusText('Calibration successful') 206 cent = data['center'] 207 centText.SetValue(("%8.3f,%8.3f" % (cent[0],cent[1]))) 208 distSel.SetValue("%8.3f"%(data['distance'])) 209 tiltSel.SetValue("%9.3f"%(data['tilt'])) 210 rotSel.SetValue("%9.3f"%(data['rotation'])) 211 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCLEARCALIB,enable=True) 212 else: 213 Status.SetStatusText('Calibration failed') 214 200 Calibrate(self) 201 215 202 def OnIntegrate(event): 216 203 self.Integrate = G2img.ImageIntegrate(self.ImageZ,data,masks) 217 204 G2plt.PlotIntegration(self,newPlot=True) 218 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=True)205 G2IO.SaveIntegration(self,self.PickId,data) 219 206 220 207 def OnIntegrateAll(event): … … 256 243 self.Integrate = G2img.ImageIntegrate(image,Data,Masks) 257 244 # G2plt.PlotIntegration(self,newPlot=True,event=event) 258 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=True)259 245 G2IO.SaveIntegration(self,Id,Data) 260 246 finally: 261 247 dlg.Destroy() 262 248 263 def OnSaveIntegrate(event):264 print 'save integration'265 G2IO.SaveIntegration(self,self.PickId,data)266 267 249 def OnCopyControls(event): 268 250 import copy … … 359 341 dlg.Destroy() 360 342 343 #fix for old files: 344 if 'azmthOff' not in data: 345 data['azmthOff'] = 0.0 346 #end fix 347 361 348 colorList = [m for m in mpl.cm.datad.keys() if not m.endswith("_r")] 362 349 calList = [m for m in calFile.Calibrants.keys()] … … 377 364 self.dataFrame.Bind(wx.EVT_MENU, OnIntegrate, id=G2gd.wxID_IMINTEGRATE) 378 365 self.dataFrame.Bind(wx.EVT_MENU, OnIntegrateAll, id=G2gd.wxID_INTEGRATEALL) 379 self.dataFrame.Bind(wx.EVT_MENU, OnSaveIntegrate, id=G2gd.wxID_SAVEINTG)380 366 self.dataFrame.Bind(wx.EVT_MENU, OnCopyControls, id=G2gd.wxID_IMCOPYCONTROLS) 381 367 self.dataFrame.Bind(wx.EVT_MENU, OnSaveControls, id=G2gd.wxID_IMSAVECONTROLS) 382 368 self.dataFrame.Bind(wx.EVT_MENU, OnLoadControls, id=G2gd.wxID_IMLOADCONTROLS) 383 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_SAVEINTG,enable=False)384 369 self.dataDisplay = wx.Panel(self.dataFrame) 385 370 mainSizer = wx.BoxSizer(wx.VERTICAL) 386 371 mainSizer.Add((5,10),0) 387 372 388 typeSizer = wx.BoxSizer(wx.HORIZONTAL)389 typeSizer.Add(wx.StaticText(parent=self.dataDisplay,label='Type of image data: '),0,373 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 374 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Type of image data: '),0, 390 375 wx.ALIGN_CENTER_VERTICAL) 391 376 typeSel = wx.ComboBox(parent=self.dataDisplay,value=typeDict[data['type']],choices=typeList, … … 393 378 typeSel.SetValue(data['type']) 394 379 typeSel.Bind(wx.EVT_COMBOBOX, OnDataType) 395 typeSizer.Add(typeSel,0,wx.ALIGN_CENTER_VERTICAL) 396 mainSizer.Add(typeSizer,0,wx.ALIGN_CENTER_HORIZONTAL) 380 comboSizer.Add(typeSel,0,wx.ALIGN_CENTER_VERTICAL) 381 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Color bar '),0, 382 wx.ALIGN_CENTER_VERTICAL) 383 colSel = wx.ComboBox(parent=self.dataDisplay,value=data['color'],choices=colorList, 384 style=wx.CB_READONLY|wx.CB_DROPDOWN|wx.CB_SORT) 385 colSel.Bind(wx.EVT_COMBOBOX, OnNewColorBar) 386 comboSizer.Add(colSel,0,wx.ALIGN_CENTER_VERTICAL) 387 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Azimuth offset '),0, 388 wx.ALIGN_CENTER_VERTICAL) 389 azmthOff = wx.TextCtrl(parent=self.dataDisplay,value=("%.2f" % (data['azmthOff'])), 390 style=wx.TE_PROCESS_ENTER) 391 azmthOff.Bind(wx.EVT_TEXT_ENTER,OnAzmthOff) 392 azmthOff.Bind(wx.EVT_KILL_FOCUS,OnAzmthOff) 393 comboSizer.Add(azmthOff,0,wx.ALIGN_CENTER_VERTICAL) 394 mainSizer.Add(comboSizer,0,wx.ALIGN_LEFT) 395 mainSizer.Add((5,5),0) 397 396 398 397 maxSizer = wx.FlexGridSizer(2,2,0,5) … … 413 412 maxSizer.Add(minSel,1,wx.EXPAND|wx.RIGHT) 414 413 minSel.Bind(wx.EVT_SLIDER, OnMinSlider) 415 mainSizer.Add(maxSizer,1,wx.EXPAND|wx.RIGHT) 416 417 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 418 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Color bar '),0, 419 wx.ALIGN_CENTER_VERTICAL) 420 colSel = wx.ComboBox(parent=self.dataDisplay,value=data['color'],choices=colorList, 421 style=wx.CB_READONLY|wx.CB_DROPDOWN|wx.CB_SORT) 422 colSel.Bind(wx.EVT_COMBOBOX, OnNewColorBar) 423 comboSizer.Add(colSel,0,wx.ALIGN_CENTER_VERTICAL) 424 425 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calibrant '),0, 426 wx.ALIGN_CENTER_VERTICAL) 427 calSel = wx.ComboBox(parent=self.dataDisplay,value=data['calibrant'],choices=calList, 428 style=wx.CB_READONLY|wx.CB_DROPDOWN|wx.CB_SORT) 429 calSel.Bind(wx.EVT_COMBOBOX, OnNewCalibrant) 430 comboSizer.Add(calSel,0,wx.ALIGN_CENTER_VERTICAL) 431 432 #fix for old files: 433 if 'azmthOff' not in data: 434 data['azmthOff'] = 0.0 435 #end fix 436 437 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Azimuth offset '),0, 438 wx.ALIGN_CENTER_VERTICAL) 439 azmthOff = wx.TextCtrl(parent=self.dataDisplay,value=("%.2f" % (data['azmthOff'])), 440 style=wx.TE_PROCESS_ENTER) 441 azmthOff.Bind(wx.EVT_TEXT_ENTER,OnAzmthOff) 442 azmthOff.Bind(wx.EVT_KILL_FOCUS,OnAzmthOff) 443 comboSizer.Add(azmthOff,0,wx.ALIGN_CENTER_VERTICAL) 444 445 mainSizer.Add(comboSizer,0,wx.ALIGN_CENTER_HORIZONTAL) 446 mainSizer.Add((10,10),0) 447 448 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 449 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Pixel search range '),0, 450 wx.ALIGN_CENTER_VERTICAL) 451 pixLimit = wx.ComboBox(parent=self.dataDisplay,value=str(data['pixLimit']),choices=['1','2','5','10','15','20'], 452 style=wx.CB_READONLY|wx.CB_DROPDOWN) 453 pixLimit.Bind(wx.EVT_COMBOBOX, OnPixLimit) 454 comboSizer.Add(pixLimit,0,wx.ALIGN_CENTER_VERTICAL) 455 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Min ring I/Ib '),0, 456 wx.ALIGN_CENTER_VERTICAL) 457 cutOff = wx.TextCtrl(parent=self.dataDisplay,value=("%.1f" % (data['cutoff'])), 458 style=wx.TE_PROCESS_ENTER) 459 cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff) 460 cutOff.Bind(wx.EVT_KILL_FOCUS,OnCutOff) 461 comboSizer.Add(cutOff,0,wx.ALIGN_CENTER_VERTICAL) 462 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calib lines to skip '),0, 463 wx.ALIGN_CENTER_VERTICAL) 464 calibSkip = wx.ComboBox(parent=self.dataDisplay,value=str(data['calibskip']),choices=['0','1','2','3','4','5','6','7','8','9','10'], 465 style=wx.CB_READONLY|wx.CB_DROPDOWN) 466 calibSkip.Bind(wx.EVT_COMBOBOX, OnCalibSkip) 467 comboSizer.Add(calibSkip,0,wx.ALIGN_CENTER_VERTICAL) 468 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Min calib d-spacing '),0, 469 wx.ALIGN_CENTER_VERTICAL) 470 calibDmin = wx.TextCtrl(parent=self.dataDisplay,value=("%.1f" % (data['calibdmin'])), 471 style=wx.TE_PROCESS_ENTER) 472 calibDmin.Bind(wx.EVT_TEXT_ENTER,OnCalibDmin) 473 calibDmin.Bind(wx.EVT_KILL_FOCUS,OnCalibDmin) 474 comboSizer.Add(calibDmin,0,wx.ALIGN_CENTER_VERTICAL) 475 476 mainSizer.Add(comboSizer,0,wx.ALIGN_CENTER_HORIZONTAL) 477 mainSizer.Add((5,5),0) 478 414 mainSizer.Add(maxSizer,1,wx.ALIGN_LEFT|wx.EXPAND|wx.RIGHT) 415 416 # mainSizer.Add((5,5),0) 479 417 dataSizer = wx.FlexGridSizer(6,4,5,5) 480 418 dataSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calibration coefficients'),0, … … 575 513 setDefault.Bind(wx.EVT_CHECKBOX, OnSetDefault) 576 514 setDefault.SetValue(data['setDefault']) 515 516 mainSizer.Add((5,5),0) 517 mainSizer.Add(dataSizer,0) 518 mainSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calibration controls:'),0, 519 wx.ALIGN_CENTER_VERTICAL) 520 mainSizer.Add((5,5),0) 521 calibSizer = wx.FlexGridSizer(2,3,5,5) 522 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 523 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calibrant '),0, 524 wx.ALIGN_CENTER_VERTICAL) 525 calSel = wx.ComboBox(parent=self.dataDisplay,value=data['calibrant'],choices=calList, 526 style=wx.CB_READONLY|wx.CB_DROPDOWN|wx.CB_SORT) 527 calSel.Bind(wx.EVT_COMBOBOX, OnNewCalibrant) 528 comboSizer.Add(calSel,0,wx.ALIGN_CENTER_VERTICAL) 529 calibSizer.Add(comboSizer,0) 530 531 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 532 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Calib lines to skip '),0, 533 wx.ALIGN_CENTER_VERTICAL) 534 calibSkip = wx.ComboBox(parent=self.dataDisplay,value=str(data['calibskip']),choices=['0','1','2','3','4','5','6','7','8','9','10'], 535 style=wx.CB_READONLY|wx.CB_DROPDOWN) 536 calibSkip.Bind(wx.EVT_COMBOBOX, OnCalibSkip) 537 comboSizer.Add(calibSkip,0,wx.ALIGN_CENTER_VERTICAL) 538 calibSizer.Add(comboSizer,0) 539 540 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 541 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Min calib d-spacing '),0, 542 wx.ALIGN_CENTER_VERTICAL) 543 calibDmin = wx.TextCtrl(parent=self.dataDisplay,value=("%.1f" % (data['calibdmin'])), 544 style=wx.TE_PROCESS_ENTER) 545 calibDmin.Bind(wx.EVT_TEXT_ENTER,OnCalibDmin) 546 calibDmin.Bind(wx.EVT_KILL_FOCUS,OnCalibDmin) 547 comboSizer.Add(calibDmin,0,wx.ALIGN_CENTER_VERTICAL) 548 calibSizer.Add(comboSizer,0) 549 550 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 551 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Min ring I/Ib '),0, 552 wx.ALIGN_CENTER_VERTICAL) 553 cutOff = wx.TextCtrl(parent=self.dataDisplay,value=("%.1f" % (data['cutoff'])), 554 style=wx.TE_PROCESS_ENTER) 555 cutOff.Bind(wx.EVT_TEXT_ENTER,OnCutOff) 556 cutOff.Bind(wx.EVT_KILL_FOCUS,OnCutOff) 557 comboSizer.Add(cutOff,0,wx.ALIGN_CENTER_VERTICAL) 558 calibSizer.Add(comboSizer,0) 559 560 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 561 comboSizer.Add(wx.StaticText(parent=self.dataDisplay,label=' Pixel search range '),0, 562 wx.ALIGN_CENTER_VERTICAL) 563 pixLimit = wx.ComboBox(parent=self.dataDisplay,value=str(data['pixLimit']),choices=['1','2','5','10','15','20'], 564 style=wx.CB_READONLY|wx.CB_DROPDOWN) 565 pixLimit.Bind(wx.EVT_COMBOBOX, OnPixLimit) 566 comboSizer.Add(pixLimit,0,wx.ALIGN_CENTER_VERTICAL) 567 calibSizer.Add(comboSizer,0) 568 569 comboSizer = wx.BoxSizer(wx.HORIZONTAL) 577 570 setRings = wx.CheckBox(parent=self.dataDisplay,label='Show ring picks?') 578 dataSizer.Add(setRings,0)571 comboSizer.Add(setRings,0) 579 572 setRings.Bind(wx.EVT_CHECKBOX, OnSetRings) 580 573 setRings.SetValue(data['setRings']) 581 582 mainSizer.Add(dataSizer,0) 574 calibSizer.Add(comboSizer,0) 575 576 mainSizer.Add(calibSizer,0,wx.ALIGN_CENTER_VERTICAL) 577 583 578 584 579 mainSizer.Layout() … … 587 582 self.dataFrame.setSizePosLeft(mainSizer.Fit(self.dataFrame)) 588 583 584 def Calibrate(self): 585 if G2img.ImageCalibrate(self,data): 586 Status.SetStatusText('Calibration successful') 587 cent = data['center'] 588 centText.SetValue(("%8.3f,%8.3f" % (cent[0],cent[1]))) 589 distSel.SetValue("%8.3f"%(data['distance'])) 590 tiltSel.SetValue("%9.3f"%(data['tilt'])) 591 rotSel.SetValue("%9.3f"%(data['rotation'])) 592 self.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCLEARCALIB,enable=True) 593 else: 594 Status.SetStatusText('Calibration failed') 595 589 596 def UpdateMasks(self,data): 590 597
Note: See TracChangeset
for help on using the changeset viewer.