Changeset 2627 for trunk/GSASIIimgGUI.py


Ignore:
Timestamp:
Jan 12, 2017 1:22:19 PM (5 years ago)
Author:
vondreele
Message:

remove progress bar stuff from image Integrate
put progress bar around integrate all
put wx.BusyCursor? around individual integrations & autointegrate

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIimgGUI.py

    r2626 r2627  
    211211        CleanupMasks(masks)
    212212        blkSize = 128   #this seems to be optimal; will break in polymask if >1024
    213         Nx,Ny = data['size']
    214         nXBlks = (Nx-1)/blkSize+1
    215         nYBlks = (Ny-1)/blkSize+1
    216         Nup = nXBlks*nYBlks*3+1     #exact count expected so AUTO_HIDE works!
    217213        sumImg = GetImageZ(G2frame,data)
    218         if IntegrateOnly:
    219             dlg = wx.ProgressDialog("Elapsed time","2D image integration\nPress Cancel to pause after current image",
    220                 Nup,style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT)
    221         else:
    222             dlg = wx.ProgressDialog("Elapsed time","2D image integration",Nup,
    223                 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE)
     214        wx.BeginBusyCursor()
    224215        try:
    225             G2frame.Integrate = G2img.ImageIntegrate(sumImg,data,masks,blkSize,dlg)           
     216            G2frame.Integrate = G2img.ImageIntegrate(sumImg,data,masks,blkSize)           
    226217        finally:
    227             dlg.Destroy()
     218            wx.EndBusyCursor()   
    228219        G2frame.PauseIntegration = G2frame.Integrate[-1]
    229220        del sumImg  #force cleanup
     
    241232                items = dlg.GetSelections()
    242233                G2frame.EnablePlot = False
    243                 for item in items:
    244                     name = Names[item]
    245                     G2frame.Image = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,name)
    246                     CId = G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Image Controls')
    247                     Data = G2frame.PatternTree.GetItemPyData(CId)
    248                     blkSize = 128   #this seems to be optimal; will break in polymask if >1024
    249                     Nx,Ny = Data['size']
    250                     nXBlks = (Nx-1)/blkSize+1
    251                     nYBlks = (Ny-1)/blkSize+1
    252                     Nup = nXBlks*nYBlks*3+3
    253                     image = GetImageZ(G2frame,Data)
    254                     Masks = G2frame.PatternTree.GetItemPyData(
    255                         G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Masks'))
    256                     image = GetImageZ(G2frame,Data)
    257                     dlg = wx.ProgressDialog("Elapsed time","2D image integration",Nup,
    258                         style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT)
    259                     try:
    260                         G2frame.Integrate = G2img.ImageIntegrate(image,Data,Masks,blkSize,dlg)
    261                     finally:
    262                         dlg.Destroy()
    263                     del image   #force cleanup
    264                     pId = G2IO.SaveIntegration(G2frame,CId,Data)
    265                     if G2frame.Integrate[-1]:       #Cancel from progress bar?
    266                         break
    267                 else:
     234                dlgp = wx.ProgressDialog("Elapsed time","2D image integrations",len(items)+1,
     235                    style = wx.PD_ELAPSED_TIME|wx.PD_CAN_ABORT)
     236                try:
     237                    for icnt,item in enumerate(items):
     238                        GoOn = dlgp.Update(icnt)
     239                        if not GoOn[0]:
     240                            break
     241                        name = Names[item]
     242                        G2frame.Image = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,name)
     243                        CId = G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Image Controls')
     244                        Data = G2frame.PatternTree.GetItemPyData(CId)
     245                        Masks = G2frame.PatternTree.GetItemPyData(
     246                            G2gd.GetPatternTreeItemId(G2frame,G2frame.Image,'Masks'))
     247                        image = GetImageZ(G2frame,Data)
     248                        blkSize = 128   #this seems to be optimal; will break in polymask if >1024
     249                        G2frame.Integrate = G2img.ImageIntegrate(image,Data,Masks,blkSize)
     250                        del image   #force cleanup
     251                        pId = G2IO.SaveIntegration(G2frame,CId,Data)
     252                finally:   
     253                    dlgp.Destroy()
    268254                    G2frame.EnablePlot = True
    269255                    G2frame.PatternTree.SelectItem(pId)
Note: See TracChangeset for help on using the changeset viewer.