Changeset 2310 for trunk/GSASIIimgGUI.py
- Timestamp:
- Jun 7, 2016 9:52:48 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIimgGUI.py
r2304 r2310 180 180 wx.CallLater(100,UpdateImageControls,G2frame,data,masks) 181 181 182 def OnRecalibAll(event): 183 Names = G2gd.GetPatternTreeDataNames(G2frame,['IMG ',]) 184 dlg = G2G.G2MultiChoiceDialog(G2frame,'Image calibration controls','Select images to recalibrate:',Names) 185 try: 186 if dlg.ShowModal() == wx.ID_OK: 187 items = dlg.GetSelections() 188 G2frame.EnablePlot = False 189 for item in items: 190 name = Names[item] 191 print 'calibrating',name 192 G2frame.Image = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,name) 193 CId = G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Image Controls') 194 Data = G2frame.PatternTree.GetItemPyData(CId) 195 G2frame.ImageZ = GetImageZ(G2frame,Data) 196 Data['setRings'] = True 197 Mid = G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Masks') 198 Masks = G2frame.PatternTree.GetItemPyData(Mid) 199 G2img.ImageRecalibrate(G2frame,Data,Masks) 200 finally: 201 dlg.Destroy() 202 G2plt.PlotExposedImage(G2frame,event=None) 203 wx.CallLater(100,UpdateImageControls,G2frame,data,masks) 204 182 205 def OnClearCalib(event): 183 206 data['ring'] = [] … … 295 318 dlg.Destroy() 296 319 G2frame.PatternTree.SelectItem(G2frame.PickId) 320 321 def OnCopySelected(event): 322 Names = G2gd.GetPatternTreeDataNames(G2frame,['IMG ',]) 323 if len(Names) == 1: 324 G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "IMG" pattern') 325 return 326 Source = G2frame.PatternTree.GetItemText(G2frame.Image) 327 # Assemble a list of item labels 328 keyList = ['type','wavelength','calibrant','distance','center', 329 'tilt','rotation','azmthOff','fullIntegrate','LRazimuth', 330 'IOtth','outChannels','outAzimuths','invert_x','invert_y','DetDepth', 331 'calibskip','pixLimit','cutoff','calibdmin','chisq','Flat Bkg', 332 'binType','SampleShape','PolaVal','SampleAbs','dark image','background image'] 333 keyText = [i+'='+str(data[i]) for i in keyList] 334 # sort both lists together, ordered by keyText 335 selectedKeys = [] 336 dlg = G2G.G2MultiChoiceDialog( 337 G2frame.dataFrame, 338 'Select which image controls\nto copy', 339 'Select image controls', keyText) 340 try: 341 if dlg.ShowModal() == wx.ID_OK: 342 selectedKeys = [keyList[i] for i in dlg.GetSelections()] 343 finally: 344 dlg.Destroy() 345 if not selectedKeys: return # nothing to copy 346 copyDict = {} 347 for parm in selectedKeys: 348 copyDict[parm] = data[parm] 349 dlg = G2G.G2MultiChoiceDialog( 350 G2frame.dataFrame, 351 'Copy image controls from\n'+Source+' to...', 352 'Copy image controls', Names) 353 try: 354 if dlg.ShowModal() == wx.ID_OK: 355 result = dlg.GetSelections() 356 for i in result: 357 item = Names[i] 358 Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item) 359 Controls = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Image Controls')) 360 Controls.update(copy.deepcopy(copyDict)) 361 finally: 362 dlg.Destroy() 363 364 365 297 366 298 367 def OnSaveControls(event): … … 907 976 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBRATE,enable=True) 908 977 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCALIBRATE,enable=True) 978 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBALL,enable=True) 909 979 data['calibskip'] = calFile.Calibrants[data['calibrant']][3] 910 980 limits = calFile.Calibrants[data['calibrant']][4] … … 917 987 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBRATE,enable=False) 918 988 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCALIBRATE,enable=False) 919 989 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBALL,enable=False) 920 990 def OnCalibSkip(event): 921 991 data['calibskip'] = int(calibSkip.GetValue()) … … 1100 1170 G2frame.dataFrame.Bind(wx.EVT_MENU, OnCalibrate, id=G2gd.wxID_IMCALIBRATE) 1101 1171 G2frame.dataFrame.Bind(wx.EVT_MENU, OnRecalibrate, id=G2gd.wxID_IMRECALIBRATE) 1172 G2frame.dataFrame.Bind(wx.EVT_MENU, OnRecalibAll, id=G2gd.wxID_IMRECALIBALL) 1102 1173 G2frame.dataFrame.Bind(wx.EVT_MENU, OnClearCalib, id=G2gd.wxID_IMCLEARCALIB) 1103 1174 if data.get('calibrant'): 1104 1175 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBRATE,enable=True) 1105 1176 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCALIBRATE,enable=True) 1177 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBALL,enable=True) 1106 1178 else: 1107 1179 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBRATE,enable=False) 1108 1180 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMCALIBRATE,enable=False) 1181 G2frame.dataFrame.ImageEdit.Enable(id=G2gd.wxID_IMRECALIBALL,enable=False) 1109 1182 G2frame.dataFrame.Bind(wx.EVT_MENU, OnIntegrate, id=G2gd.wxID_IMINTEGRATE) 1110 1183 G2frame.dataFrame.Bind(wx.EVT_MENU, OnIntegrateAll, id=G2gd.wxID_INTEGRATEALL) 1111 1184 G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopyControls, id=G2gd.wxID_IMCOPYCONTROLS) 1185 G2frame.dataFrame.Bind(wx.EVT_MENU, OnCopySelected, id=G2gd.wxID_IMCOPYSELECTED) 1112 1186 G2frame.dataFrame.Bind(wx.EVT_MENU, OnSaveControls, id=G2gd.wxID_IMSAVECONTROLS) 1113 1187 G2frame.dataFrame.Bind(wx.EVT_MENU, OnLoadControls, id=G2gd.wxID_IMLOADCONTROLS)
Note: See TracChangeset
for help on using the changeset viewer.