Changeset 2421


Ignore:
Timestamp:
Aug 12, 2016 12:56:43 PM (5 years ago)
Author:
vondreele
Message:

name sequential results by type of sequence (peak fit, SASD, etc.) so multiple tables are kept in project
add reverse & copyforward to seq. strain fitting
trap cancel from various sequential fitting

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2420 r2421  
    30673067                name = self.PatternTree.GetItemText(item)
    30683068                if name not in ['Notebook','Controls','Covariance','Constraints',
    3069                     'Restraints','Phases','Rigid bodies','Sequential results']:
     3069                    'Restraints','Phases','Rigid bodies'] or 'Sequential' not in name:
    30703070                    if 'PWDR' in name: ifPWDR = True; nItems['PWDR'] += 1
    30713071                    if 'SASD' in name: ifSASD = True; nItems['SASD'] += 1
  • trunk/GSASIIgrid.py

    r2411 r2421  
    40164016            G2frame.EnableSeqRefineMenu()
    40174017            UpdateControls(G2frame,data)
    4018         elif G2frame.PatternTree.GetItemText(item) == 'Sequential results':
     4018        elif 'Sequential' in G2frame.PatternTree.GetItemText(item):
    40194019            data = G2frame.PatternTree.GetItemPyData(item)
    40204020            UpdateSeqResults(G2frame,data)
  • trunk/GSASIIimage.py

    r2411 r2421  
    10481048            ringint = np.array([float(Image[int(y*scaley),int(x*scalex)]) for x,y in np.array(ringxy)[:,:2]])
    10491049            ringint /= np.mean(ringint)
    1050             print 'variance:',ring['Dcalc'],np.var(ringint)
     1050            print ' %s %.3f %s %.3f'%('d-spacing',ring['Dcalc'],'var(MRD):',np.var(ringint))
    10511051            RingsAI.append(np.array(zip(ringazm,ringint)).T)
    10521052#            GSASIIpath.IPyBreak()
  • trunk/GSASIIimgGUI.py

    r2415 r2421  
    17461746        G2frame.G2plotNB.Delete('Ring Intensities')
    17471747        G2plt.PlotXY(G2frame,RingInt,labelX='Azimuth',
    1748             labelY='Intensity',newPlot=True,Title='Ring Intensities',
     1748            labelY='MRD',newPlot=True,Title='Ring Intensities',
    17491749            names=Names,lines=True)
    17501750       
     
    17731773        dlg.Destroy()
    17741774        SeqResult = {}
     1775        Reverse = False
     1776        CopyForward = False
     1777        choice = ['Reverse sequence','Copy from prev.',]
     1778        dlg = wx.MultiChoiceDialog(G2frame.dataFrame,'Sequential controls','Select controls',choice)
     1779        if dlg.ShowModal() == wx.ID_OK:
     1780            for sel in dlg.GetSelections():
     1781                if sel:
     1782                    CopyForward = True
     1783                else:
     1784                    Reverse = True
     1785        dlg.Destroy()
    17751786        dlg = wx.ProgressDialog('Sequential IMG Strain fit','Data set name = '+names[0],len(names),
    17761787            style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_REMAINING_TIME|wx.PD_CAN_ABORT)         
    17771788        wx.BeginBusyCursor()
    17781789        goodnames = []
     1790        if Reverse:
     1791            names.reverse()
    17791792        try:
    17801793            for i,name in enumerate(names):
     
    17931806                Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(Id)
    17941807                image = GetImageZ(G2frame,Controls)
     1808                if i and CopyForward:
     1809                    for j,ring in enumerate(StaCtrls['d-zero']):
     1810                        ring['Emat'] = variables[4*j:4*j+3]
     1811                #get results from previous & put in StaCtrls
    17951812                G2img.FitStrSta(image,StaCtrls,Controls)
    17961813                G2plt.PlotStrain(G2frame,StaCtrls,newPlot=True)
     
    18001817                varyList = []
    18011818                variables = []
    1802                 for i,item in enumerate(StaCtrls['d-zero']):
     1819                for j,item in enumerate(StaCtrls['d-zero']):
    18031820                    variables += item['Emat']
    18041821                    sig += item['Esig']
    1805                     varylist = ['%d;%s'%(i,Name) for Name in varyNames]
     1822                    varylist = ['%d;%s'%(j,Name) for Name in varyNames]
    18061823                    varyList += varylist
    18071824                    parmDict.update(dict(zip(varylist,item['Emat'])))
    1808                     parmDict['%d;Dcalc'%(i)] = item['Dcalc']
    1809                     parmDict['%d;Ivar'%(i)] = item['Ivar']
     1825                    parmDict['%d;Dcalc'%(j)] = item['Dcalc']
     1826                    parmDict['%d;Ivar'%(j)] = item['Ivar']
    18101827                    variables.append(item['Ivar'])
    1811                     varyList.append('%d;Ivar'%(i))
     1828                    varyList.append('%d;Ivar'%(j))
    18121829                    sig.append(0.)
    18131830                SeqResult[name] = {'variables':variables,'varyList':varyList,'sig':sig,'Rvals':[],
     
    18191836        finally:
    18201837            wx.EndBusyCursor()   
    1821         Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential results')
     1838        Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential strain fit results')
    18221839        if Id:
    18231840            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    18241841        else:
    1825             Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential results')
     1842            Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential strain fit results')
    18261843            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    18271844        G2frame.PatternTree.SelectItem(Id)
     
    19151932            Obj = event.GetEventObject()
    19161933            try:
    1917                 value = min(10.0,max(0.5,float(Obj.GetValue())))
     1934                value = min(20.0,max(0.5,float(Obj.GetValue())))
    19181935            except ValueError:
    19191936                value = 1.0
  • trunk/GSASIIpwdGUI.py

    r2419 r2421  
    535535                names.append(histList[sel])
    536536        dlg.Destroy()
     537        if not names:
     538            return
    537539        SeqResult = {}
    538540        Reverse = False
     
    601603            wx.EndBusyCursor()
    602604        SeqResult['histNames'] = Names
    603         Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential results')
     605        Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential peak fit results')
    604606        if Id:
    605607            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    606608        else:
    607             Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential results')
     609            Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential peak fit results')
    608610            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    609611        G2frame.PatternTree.SelectItem(Id)
     
    15381540            Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
    15391541            instData = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]
     1542            if 'Bank' not in instData:
     1543                instData['Bank'] = [1,1,0]
     1544#            GSASIIpath.IPyBreak()
    15401545            if len(data) == len(instData) and instType == instData['Type'][0]:   #don't mix data types or lam & lam1/lam2 parms!
    15411546                for item in instData:
     
    15671572            Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
    15681573            instData = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id,'Instrument Parameters'))[0]
     1574            if 'Bank' not in instData:
     1575                instData['Bank'] = [1,1,0]
    15691576            if len(data) == len(instData) and instType == instData['Type'][0]:  #don't mix data types or lam & lam1/lam2 parms!
    15701577                instData.update(data)
     
    40294036        finally:
    40304037            wx.EndBusyCursor()   
    4031         Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential results')
     4038        Id =  G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Sequential SASD results')
    40324039        if Id:
    40334040            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    40344041        else:
    4035             Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential results')
     4042            Id = G2frame.PatternTree.AppendItem(parent=G2frame.root,text='Sequential SASD results')
    40364043            G2frame.PatternTree.SetItemPyData(Id,SeqResult)
    40374044        G2frame.PatternTree.SelectItem(Id)
Note: See TracChangeset for help on using the changeset viewer.