Changeset 2412


Ignore:
Timestamp:
Aug 9, 2016 12:36:20 PM (5 years ago)
Author:
vondreele
Message:

fixes to PDF stuff

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2377 r2412  
    33773377        sind = lambda x: math.sin(x*math.pi/180.)
    33783378        tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w
    3379         TextList = ['All PWDR']
     3379        TextList = []
    33803380        PDFlist = []
    33813381        Names = []
     
    33913391                self.ErrorDialog('Nothing to make PDFs for','There must be at least one "PWDR" pattern')
    33923392                return
    3393             dlg = wx.MultiChoiceDialog(self,'Make PDF controls','Make PDF controls for:',TextList, wx.CHOICEDLG_STYLE)
     3393            dlg = G2G.G2MultiChoiceDialog(self,'Make PDF controls','Make PDF controls for:',TextList, wx.CHOICEDLG_STYLE)
    33943394            try:
    33953395                if dlg.ShowModal() == wx.ID_OK:
    3396                     result = dlg.GetSelections()
    3397                     for i in result: PDFlist.append(TextList[i])
    3398                     if 0 in result:
    3399                         PDFlist = [item for item in TextList if item[:4] == 'PWDR']                       
     3396                    PDFlist = [TextList[i] for i in dlg.GetSelections()]
    34003397                    for item in PDFlist:
    34013398                        PWDRname = item[4:]
     
    34083405                            'Geometry':'Cylinder','Diam':1.0,'Pack':0.50,'Form Vol':10.0,
    34093406                            'DetType':'Image plate','ObliqCoeff':0.2,'Ruland':0.025,'QScaleLim':[0,100],
    3410                             'Lorch':True,}
     3407                            'Lorch':True,'BackRatio':0.0}
    34113408                        self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='PDF Controls'),Data)
    34123409                        self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='I(Q)'+PWDRname),[])       
  • trunk/GSASIIpwd.py

    r2361 r2412  
    259259    return sumNoAtoms/Vol
    260260           
    261 def CalcPDF(data,inst,xydata):
     261def CalcPDF(data,inst,limits,xydata):
    262262    'needs a doc string'
    263263    auxPlot = []
     
    321321    FFSq,SqFF,CF = GetAsfMean(ElList,(xydata['SofQ'][1][0]/(4.0*np.pi))**2)  #these are <f^2>,<f>^2,Cf
    322322    Q = xydata['SofQ'][1][0]
    323     auxPlot.append([Q,np.copy(CF),'CF-unCorr'])
     323#    auxPlot.append([Q,np.copy(CF),'CF-unCorr'])
    324324    ruland = Ruland(data['Ruland'],wave,Q,CF)
    325     auxPlot.append([Q,ruland,'Ruland'])     
     325#    auxPlot.append([Q,ruland,'Ruland'])     
    326326    CF *= ruland
    327     auxPlot.append([Q,CF,'CF-Corr'])
     327#    auxPlot.append([Q,CF,'CF-Corr'])
    328328    scale = np.sum((FFSq+CF)[minQ:maxQ])/np.sum(xydata['SofQ'][1][1][minQ:maxQ])
    329329    xydata['SofQ'][1][1] *= scale
  • trunk/GSASIIpwdGUI.py

    r2380 r2412  
    46274627                       
    46284628        item = data[key]
    4629         fileList = np.array(GetFileList('PWDR')).T[1]
     4629        fileList = GetFileList('PWDR')
    46304630        fileSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' '+key+' file:'),0,WACV)
    46314631        fileName = wx.ComboBox(G2frame.dataDisplay,value=item['Name'],choices=fileList,
     
    48504850        G2plt.PlotISFG(G2frame,newPlot=True)       
    48514851
    4852     def GetFileList(fileType,skip=None):
    4853         fileList = [[False,'',0]]
    4854         Source = ''
     4852    def GetFileList(fileType):
     4853        fileList = []
    48554854        id, cookie = G2frame.PatternTree.GetFirstChild(G2frame.root)
    48564855        while id:
    48574856            name = G2frame.PatternTree.GetItemText(id)
    48584857            if fileType in name:
    4859                 if id == skip:
    4860                     Source = name
    4861                 else:
    4862                     fileList.append([False,name,id])
     4858                fileList.append(name)
    48634859            id, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)
    4864         if skip:
    4865             return fileList,Source
    4866         else:
    4867             return fileList
     4860        return fileList
    48684861       
    48694862    def OnCopyPDFControls(event):
    48704863        import copy
    4871         TextList,Source = GetFileList('PDF',skip=G2frame.PatternId)
    4872         TextList[0] = [False,'All PDF',0]
     4864        TextList = GetFileList('PDF')
     4865        Source = G2frame.PatternTree.GetItemText(G2frame.PatternId)
    48734866        if len(TextList) == 1:
    48744867            G2frame.ErrorDialog('Nothing to copy controls to','There must be more than one "PDF" pattern')
    48754868            return
    4876         dlg = G2frame.CopyDialog(G2frame,'Copy PDF controls','Copy controls from '+Source+' to:',TextList)
     4869        dlg = G2G.G2MultiChoiceDialog(G2frame,'Copy PDF controls','Copy controls from '+Source+' to:',TextList)
    48774870        try:
    48784871            if dlg.ShowModal() == wx.ID_OK:
    4879                 result = dlg.GetData()
    4880                 if result[0][0]:
    4881                     result = TextList[1:]
    4882                     for item in result: item[0] = True
    4883                 for i,item in enumerate(result):
    4884                     ifcopy,name,id = item
    4885                     if ifcopy:
    4886                         olddata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'))
    4887                         sample = olddata['Sample']
    4888                         olddata.update(copy.deepcopy(data))
    4889                         olddata['Sample'] = sample
    4890                         G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'),olddata)
     4872                PDFlist = [TextList[i] for i in dlg.GetSelections()]
     4873                for item in PDFlist:
     4874                    id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item)
     4875                    olddata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'))
     4876                    sample = olddata['Sample']
     4877                    olddata.update(copy.deepcopy(data))
     4878                    olddata['Sample'] = sample
     4879                    G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id, 'PDF Controls'),olddata)
    48914880                Status.SetStatusText('PDF controls copied')
    48924881        finally:
     
    49414930        powName = Data['Sample']['Name']
    49424931        powId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,powName)
     4932        limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Limits'))[1]
    49434933        inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId,'Instrument Parameters'))[0]
    4944         auxPlot = G2pwd.CalcPDF(Data,inst,xydata)
     4934        auxPlot = G2pwd.CalcPDF(Data,inst,limits,xydata)
    49454935        PDFId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'PDF '+powName[4:])
    49464936        G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PDFId,'I(Q)'+powName[4:]),xydata['IofQ'])
     
    49754965                id, cookie = G2frame.PatternTree.GetNextChild(G2frame.root, cookie)
    49764966            Status.SetStatusText('All PDFs computed')
     4967            G2plt.PlotISFG(G2frame,newPlot=True,type='I(Q)')
     4968            G2plt.PlotISFG(G2frame,newPlot=True,type='S(Q)')
     4969            G2plt.PlotISFG(G2frame,newPlot=True,type='F(Q)')
    49774970            G2plt.PlotISFG(G2frame,newPlot=True,type='G(R)')
    49784971            print ' Done calculating PDFs:'
Note: See TracChangeset for help on using the changeset viewer.