Ignore:
Timestamp:
Sep 14, 2021 11:55:59 AM (2 years ago)
Author:
vondreele
Message:

Add shell plots to 3D reflection plots.
Fix escape character issues in CopyRietveld2Origin
Revise LeBail? operation - now works in sequential refinements. Remove "Fit LeBail?" from Calculate menu.
OnLeBail? does 10 cycles instead of 3 in the "zero cycle" step.
Initial FOSQ set to Scale*Phase fr. instead of 1.0 - improves initial LeBaill? fit.
Put newLeBail flag in Controls - as more global.
Allow LeBail? refinements in sequential refinements.
Remove a wx.Yield() - obsolete
Disable deletion of selected parameters in a LeBail? refinement & let the LS handle any singularities that may ensue
Derivatives no longer controlled by LeBail? flag.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIdataGUI.py

    r5021 r5025  
    760760        self.Refine.append(item)
    761761        self.Bind(wx.EVT_MENU, self.OnRefine, id=item.GetId())
    762         item = parent.Append(wx.ID_ANY,'&Le Bail fit\tCTRL+B','Fit Le Bail intensities only')
    763         item.Enable(state)
    764         self.Refine.append(item)
    765         self.Bind(wx.EVT_MENU, self.OnLeBail, id=item.GetId())
     762        # item = parent.Append(wx.ID_ANY,'&Le Bail fit\tCTRL+B','Fit Le Bail intensities only')
     763        # item.Enable(state)
     764        # self.Refine.append(item)
     765        # self.Bind(wx.EVT_MENU, self.OnLeBail, id=item.GetId())
    766766
    767767        item = parent.Append(wx.ID_ANY,'&Run Fprime','X-ray resonant scattering')
     
    51735173        #    imp.reload(G2G)
    51745174        # end debug stuff   
    5175         dlg = G2G.ShowLSParms(self,'Least Squares Parameters',parmValDict,
    5176                     varyList,reqVaryList,Controls)
     5175        dlg = G2G.ShowLSParms(self,'Least Squares Parameters',parmValDict,varyList,reqVaryList,Controls)
    51775176        dlg.CenterOnParent()
    51785177        dlg.ShowModal()
     
    51835182        Called from the Calculate/Refine menu.
    51845183        '''
     5184        Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls'))
    51855185        if self.testSeqRefineMode():
    51865186            self.OnSeqRefine(event)
    51875187            return
     5188        if Controls.get('newLeBail',False):
     5189            G2G.G2MessageBox(self,'Doing a zero cycle Le Bail refinement first','Le Bail Refinement')           
     5190            self.OnLeBail(event)
    51885191        G2cnstG.CheckAllScalePhaseFractions(self) # can be slow for sequential fits, skip
    51895192        self.OnFileSave(event)
     
    52065209            dlg.SetSize((int(Size[0]*1.2),Size[1])) # increase size a bit along x
    52075210        dlg.CenterOnParent()
    5208         #dlg.Raise()  # dangerous, crashes on some platforms
    52095211        Rw = 100.00
    52105212        self.SaveTreeSetting() # save the current tree selection
     
    52585260                msg = ''
    52595261            try:
    5260                 dlg = wx.MessageDialog(self, msg,'Note singularities',
    5261                     wx.OK)
     5262                dlg = wx.MessageDialog(self, msg,'Note singularities',wx.OK)
    52625263                dlg.CenterOnParent()
    52635264                dlg.SetSize((700,300)) # does not resize on Mac
     
    52695270           
    52705271    def OnLeBail(self,event):
    5271         seqList = self.testSeqRefineMode()
    5272         if seqList:
    5273             self.ErrorDialog('Not for Sequential Fits',
    5274                 'This command is not yet implemented for sequential fitting')
    5275             return
     5272        Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls'))
     5273        # seqList = self.testSeqRefineMode()
     5274        # if seqList:
     5275        #     self.ErrorDialog('Not for Sequential Fits',
     5276        #         'This command is not yet implemented for sequential fitting')
     5277        #     return
    52765278        self.OnFileSave(event)
    52775279        item = GetGPXtreeItemId(self,self.root,'Covariance')
     
    53115313                rtext += txt
    53125314            text += '\nLoad new result?'
    5313             dlg2 = wx.MessageDialog(self,text,'Le Bail fit: Rwp={:.3f}'
    5314                                             .format(Rwp),wx.OK|wx.CANCEL)
     5315            dlg2 = wx.MessageDialog(self,text,'Le Bail fit: Rwp={:.3f}'.format(Rwp),wx.OK|wx.CANCEL)
    53155316            dlg2.CenterOnParent()
    53165317            try:
    53175318                if dlg2.ShowModal() == wx.ID_OK:
     5319                    Controls['newLeBail'] = False
    53185320                    if refPlotUpdate: refPlotUpdate({},restore=True)
    53195321                    wx.CallAfter(self.reloadFromGPX,rtext)
     
    54075409        Called from self.OnRefine (Which is called from the Calculate/Refine menu)
    54085410        '''
     5411        Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls'))
    54095412        seqList = self.testSeqRefineMode()
    5410         if not seqList:
    5411             self.OnRefine(event)
    5412             return
     5413        # if not seqList:
     5414        #     self.OnRefine(event)
     5415        #     return
    54135416        #plotHist = self.GPXtree.GetItemText(self.PatternId)
    54145417        Id = GetGPXtreeItemId(self,self.root,'Sequential results')
     
    54175420            self.GPXtree.SetItemPyData(Id,{})           
    54185421        self.G2plotNB.Delete('Sequential refinement')    #clear away probably invalid plot
    5419         Controls = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,self.root, 'Controls'))
    54205422        Controls['ShowCell'] = True
    54215423        for key in ('parmMinDict','parmMaxDict','parmFrozen'):
     
    54465448                  warnmsg+u'\nRefinement not possible')
    54475449            self.ErrorDialog('Refinement Flag Error',
    5448                              u'Conflict between refinment flag settings and constraints:\n'+
    5449                              warnmsg+u'\nRefinement not possible')
     5450                 u'Conflict between refinment flag settings and constraints:\n'+
     5451                 warnmsg+u'\nRefinement not possible')
    54505452            return
    54515453        self.GPXtree.SaveExposedItems()       
     
    54765478            dlg.Update(101.) # forces the Auto_Hide; needed after move w/Win & wx3.0
    54775479            dlg.Destroy()
    5478             wx.Yield()
    54795480        if OK:
    54805481            lst = os.path.splitext(os.path.abspath(self.GSASprojectfile))[0]
     
    66476648    if 'Marquardt' not in data:
    66486649        data['Marquardt'] = -3
     6650    if 'newLeBail' not in data:
     6651        data['newLeBail'] = False
    66496652   
    66506653    #end patch
Note: See TracChangeset for help on using the changeset viewer.