Changeset 2047
- Timestamp:
- Nov 12, 2015 4:55:14 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r2043 r2047 2253 2253 self.IntgOutList = [] # list of integration tree item Ids created in G2IO.SaveIntegration 2254 2254 self.autoIntFrame = None 2255 self.IntegratedList = [] # list of integrated image files 2255 2256 self.Sngl = False 2256 2257 self.ifGetRing = False … … 2420 2421 def OnImageRead(self,event): 2421 2422 'Called to read in an image in any known format' 2423 G2G.G2MessageBox(self,'Please use the Import/Image/... menu item rather than this','depreciating menu item') 2422 2424 self.CheckNotebook() 2423 2425 dlg = wx.FileDialog( -
trunk/autoint.py
r2026 r2047 38 38 return 39 39 40 # index of image tree items by file name: 41 imageDict = {G2frame.PatternTree.GetItemPyData( 42 G2gd.GetPatternTreeItemId(G2frame,G2frame.root,img))[1]: 43 G2gd.GetPatternTreeItemId(G2frame,G2frame.root,img) 44 for img in G2gd.GetPatternTreeDataNames(G2frame,['IMG '])} 40 45 createdImageIdList = [] 41 46 # loop over files that are found, reading in new ones 42 47 for newImage in self.currImageList: 43 if newImage in self.IntegratedList: continue # already processed 44 Comments,Data,Npix,Image = G2IO.GetImageData(G2frame,newImage) 45 if not Npix: 46 print('problem reading '+newImage) 47 continue 48 G2IO.LoadImage2Tree(newImage,G2frame,Comments,Data,Npix,Image) 48 if newImage in self.G2frame.IntegratedList: continue # already integrated 49 # has this image already been loaded? 50 if newImage not in imageDict: 51 Comments,Data,Npix,Image = G2IO.GetImageData(G2frame,newImage) 52 if not Npix: 53 print('problem reading '+newImage) 54 continue 55 G2IO.LoadImage2Tree(newImage,G2frame,Comments,Data,Npix,Image) 56 else: 57 G2frame.Image = imageDict[newImage] 49 58 # update controls from master 50 59 controlsDict = G2frame.PatternTree.GetItemPyData( … … 55 64 G2gd.GetPatternTreeItemId(G2frame,G2frame.Image, 'Masks')) 56 65 createdImageIdList.append(G2frame.Image) # save IMG Id 57 self. IntegratedList.append(newImage) # save name of image so we don't process it again66 self.G2frame.IntegratedList.append(newImage) # save name of image so we don't process it again 58 67 #print('debug: read '+newImage) 59 68 … … 69 78 G2frame.ImageZ = G2IO.GetImageData(G2frame,imagefile,True) 70 79 self.oldImagefile = '' # mark image as changed; reread as needed 80 # simulate a Image Controls press, since that is where the 81 # integration is hidden 71 82 G2imG.UpdateImageControls(G2frame,data,masks,IntegrateOnly=True) 72 83 # split name and control number … … 77 88 else: 78 89 namenum = '' 79 # write out the images in the selected formats 90 # write out the images in the selected formats and save the names, 91 # reset will delete them 80 92 for Id in G2frame.IntgOutList: 81 93 treename = G2frame.PatternTree.GetItemText(Id) 94 self.CreatedPWDRnames.append(treename) 82 95 Sdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Sample Parameters')) 83 96 # determine the name for the current file … … 142 155 if not os.path.exists(self.params['outdir']): 143 156 os.makedirs(self.params['outdir']) 157 if self.Reset: # after Reset has been pressed, delete all PWDR items 158 # created after last Start was pressed 159 G2frame = self.G2frame 160 idlist = [] 161 item, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root) 162 while item: 163 itemName = G2frame.PatternTree.GetItemText(item) 164 if itemName in self.CreatedPWDRnames: 165 idlist.append(item) 166 item, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie) 167 for item in idlist: 168 G2frame.PatternTree.Delete(item) 169 self.Reset = False 170 self.CreatedPWDRnames = [] # list of created PWDR tree item names 171 144 172 def __init__(self,G2frame,PollTime=60.0): 145 173 def OnStart(event): … … 172 200 self.OnTimerLoop(None) # run once immediately and again after delay 173 201 self.timer.Start(int(1000*PollTime),oneShot=False) 202 self.Status.SetStatusText('Press Pause to delay integration or Reset to prepare to reintegrate all images') 174 203 else: 175 204 btnstart.SetLabel('Resume') 176 205 if self.timer.IsRunning(): self.timer.Stop() 177 206 print('\nPausing autointegration\n') 178 179 def OnStop(event): 180 '''Called when Stop button is pressed. At present this only 181 stops the processing loop (same as pressing Pause except the 182 label is reset to "Start".) 207 self.Status.SetStatusText('Press Resume to continue integration or Reset to prepare to reintegrate all images') 208 209 def OnReset(event): 210 '''Called when Reset button is pressed. This stops the 211 processing loop and resets the list of integrated files so 212 all images can be reintegrated. 183 213 ''' 184 btnstart.SetLabel('Start') 214 btnstart.SetLabel('Restart') 215 self.Status.SetStatusText('Press Restart to reload and re-integrate images matching filter') 185 216 if self.timer.IsRunning(): self.timer.Stop() 217 self.Reset = True 218 self.G2frame.IntegratedList = [] 186 219 187 220 def OnQuit(event): 188 221 '''Stop the processing loop and close the Frame 189 222 ''' 190 # make sure we stop first 191 OnStop(event) 192 self.Destroy() 223 if self.timer.IsRunning(): self.timer.Stop() # make sure we stop first 224 wx.CallAfter(self.Destroy) 193 225 194 226 def OnBrowse(event): … … 265 297 self.G2frame = G2frame 266 298 self.params = {} 299 self.Reset = False 267 300 self.params['IMGfile'] = '' 268 301 self.params['MaskFile'] = '' … … 277 310 self.params['filter'] = '*'+os.path.splitext(fileroot)[1] 278 311 self.params['outdir'] = os.path.abspath(self.imagedir) 279 # get image names that have already been read 280 self.IntegratedList = [] 281 for img in G2gd.GetPatternTreeDataNames(G2frame,['IMG ']): 282 self.IntegratedList.append(G2frame.PatternTree.GetItemPyData( 283 G2gd.GetPatternTreeItemId(G2frame,G2frame.root,img) 284 )[1]) 285 312 self.CreatedPWDRnames = [] # list of created PWDR tree item names 286 313 wx.Frame.__init__(self, G2frame,title='Automatic Integration') 314 self.Status = self.CreateStatusBar() 315 self.Status.SetStatusText('Press Start to load and integrate images matching filter') 287 316 mnpnl = wx.Panel(self) 288 317 mnsizer = wx.BoxSizer(wx.VERTICAL) … … 375 404 btnstart.Bind(wx.EVT_BUTTON, OnStart) 376 405 sizer.Add(btnstart) 377 btnstop = wx.Button(mnpnl, wx.ID_ANY, " Stop")378 btnstop.Bind(wx.EVT_BUTTON, On Stop)406 btnstop = wx.Button(mnpnl, wx.ID_ANY, "Reset") 407 btnstop.Bind(wx.EVT_BUTTON, OnReset) 379 408 sizer.Add(btnstop) 380 409 sizer.Add((20,-1),wx.EXPAND,1)
Note: See TracChangeset
for help on using the changeset viewer.