Changeset 5064


Ignore:
Timestamp:
Nov 3, 2021 8:56:03 AM (23 months ago)
Author:
vondreele
Message:
 
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIdataGUI.py

    r5057 r5064  
    19651965            rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday
    19661966            self.GPXtree.SetItemPyData(Id,[valuesdict,rd.powderdata])
    1967             self.GPXtree.SetItemPyData(
    1968                 self.GPXtree.AppendItem(Id,text='Comments'),
    1969                 rd.comments)
     1967            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
    19701968            Tmin = min(rd.powderdata[0])
    19711969            Tmax = max(rd.powderdata[0])
     
    21682166            }
    21692167        self.GPXtree.SetItemPyData(Id,[valuesdict,rd.powderdata])
    2170         self.GPXtree.SetItemPyData(
    2171             self.GPXtree.AppendItem(Id,text='Comments'),
    2172             rd.comments)
     2168        self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
    21732169        self.GPXtree.SetItemPyData(
    21742170            self.GPXtree.AppendItem(Id,text='Limits'),
     
    23022298            }
    23032299        self.GPXtree.SetItemPyData(Id,[valuesdict,rd.powderdata])
    2304         self.GPXtree.SetItemPyData(
    2305             self.GPXtree.AppendItem(Id,text='Comments'),
    2306             rd.comments)
     2300        self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
    23072301        self.GPXtree.SetItemPyData(
    23082302            self.GPXtree.AppendItem(Id,text='Limits'),
     
    25062500            rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday
    25072501            self.GPXtree.SetItemPyData(Id,[valuesdict,rd.smallangledata])
    2508             self.GPXtree.SetItemPyData(
    2509                 self.GPXtree.AppendItem(Id,text='Comments'),
    2510                 rd.comments)
     2502            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
    25112503            self.GPXtree.SetItemPyData(
    25122504                self.GPXtree.AppendItem(Id,text='Limits'),
     
    26212613            rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday
    26222614            self.GPXtree.SetItemPyData(Id,[valuesdict,rd.reflectometrydata])
    2623             self.GPXtree.SetItemPyData(
    2624                 self.GPXtree.AppendItem(Id,text='Comments'),
    2625                 rd.comments)
     2615            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
    26262616            self.GPXtree.SetItemPyData(
    26272617                self.GPXtree.AppendItem(Id,text='Limits'),
     
    27092699                'Yminmax':[Ymin,Ymax],
    27102700                }
    2711             self.GPXtree.SetItemPyData(
    2712                 self.GPXtree.AppendItem(Id,text='PDF Controls'),
    2713                     {'G(R)':[valuesdict,rd.pdfdata,HistName],
    2714                          'diffGRname':'','diffMult':1.0,'Rmax':Ymax,})
     2701            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='Comments'),rd.comments)
     2702            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='PDF Controls'),
     2703                {'G(R)':[valuesdict,rd.pdfdata,HistName],'diffGRname':'','diffMult':1.0,'Rmax':Ymax,'Type':rd.Type,
     2704                 'dscale':[1.0,False],'Fitrange':[Ymin,Ymax],'qdamp':[0.03,False],'qbroad':[0,False]})
    27152705            self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='PDF Peaks'),
    27162706                {'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]})
  • trunk/GSASIIphsGUI.py

    r5063 r5064  
    48944894                name,item = Indx[Obj.GetId()]
    48954895                RMCPdict[name][item][1] = not RMCPdict[name][item][1]
    4896                            
     4896               
     4897            def OnRefSel(event):
     4898                RMCPdict['refinement'] = reftype.GetStringSelection()
     4899                wx.CallAfter(UpdateRMC)               
     4900                                           
    48974901            Indx = {}
    4898             mainSizer.Add(wx.StaticText(G2frame.FRMC,label='Select data for processing: '),0)
     4902            topSizer = wx.BoxSizer(wx.HORIZONTAL)
     4903            if G2frame.RMCchoice == 'PDFfit':
     4904                reftype = wx.RadioBox(G2frame.FRMC,label='PDFfit refinement type:',choices=['normal','sequential'])
     4905                reftype.SetStringSelection(RMCPdict.get('refinement','normal'))
     4906                reftype.Bind(wx.EVT_RADIOBOX,OnRefSel)
     4907                topSizer.Add(reftype,0,WACV)
     4908            topSizer.Add(wx.StaticText(G2frame.FRMC,label='  Select data for processing: '),0,WACV)
     4909            mainSizer.Add(topSizer)
    48994910            if G2frame.RMCchoice == 'fullrmc':
    49004911                Heads = ['Name','File','type','Plot','Delete']
     
    49684979                    label=' NB: fullrmc data files must be 2 columns; all other lines preceeded by "#". Edit before use.'),0)
    49694980                return
    4970             # RMCProfile
     4981            elif G2frame.RMCchoice == 'PDFfit' and RMCPdict['refinement'] == 'sequential':
     4982                mainSizer.Add(wx.StaticText(G2frame.FRMC,label='sequential file list - TBD'))
     4983                return
     4984            # RMCProfile & PDFfit (Normal)
    49714985            Heads = ['Name','File','Format','Weight','Plot','Delete']
    49724986            fileSizer = wx.FlexGridSizer(6,5,5)
     
    53565370           
    53575371        def RMCProfileSizer(RMCPdict):
     5372           
     5373            def CheckAtms(Atypes):
     5374                newAtm = False
     5375                for atm in Atypes:
     5376                    if atm not in data['RMC']['RMCProfile'].get('aTypes',{}):
     5377                        newAtm = True
     5378                        break
     5379                for atm in data['RMC']['RMCProfile'].get('aTypes',{}):
     5380                    if atm not in Atypes:
     5381                        newAtm = True
     5382                        break
     5383                return newAtm
     5384               
    53585385            mainSizer = wx.BoxSizer(wx.VERTICAL)
    53595386            subSizer = wx.BoxSizer(wx.HORIZONTAL)
     
    5368539519, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335218'''))
    53695396            mainSizer.Add((5,5))
    5370             if not data['RMC']['RMCProfile']:
    5371                 Atypes = [atype.split('+')[0].split('-')[0] for atype in data['General']['AtomTypes']]
     5397            Atypes = [atype.split('+')[0].split('-')[0] for atype in data['General']['AtomTypes']]
     5398            if CheckAtms(Atypes):
    53725399                aTypes = dict(zip(Atypes,len(Atypes)*[0.10,]))
    53735400                atSeq = list(aTypes.keys())
    53745401                atOxid = [[atmdata.BVSoxid[atm][0],0.001] for atm in atSeq]
    53755402                lenA = len(atSeq)
    5376                 Pairs= []
    5377                 for pair in [[' %s-%s'%(atSeq[i],atSeq[j]) for j in range(i,lenA) if 'Va' not in atSeq[j]] for i in range(lenA) if 'Va' not in atSeq[i]]:
    5378                     Pairs += pair
    5379                 Pairs = {pairs:[0.0,0.0,0.0] for pairs in Pairs}
     5403                oldPairs = data['RMC']['RMCProfile'].get('Pairs',{})
     5404                Pairs = {}
     5405                for pairs in [[' %s-%s'%(atSeq[i],atSeq[j]) for j in range(i,lenA) if 'Va' not in atSeq[j]] for i in range(lenA) if 'Va' not in atSeq[i]]:
     5406                    for pair in pairs:
     5407                        if pair in oldPairs:
     5408                            Pairs[pair] = oldPairs[pair]
     5409                        else:
     5410                            Pairs[pair] = [0.0,0.0,0.0]
     5411                data['RMC']['RMCProfile'].update({'aTypes':aTypes, 'atSeq':atSeq,'Pairs':Pairs,'Oxid':atOxid,})
     5412               
     5413            if not data['RMC']['RMCProfile']:
    53805414                BVSpairs = []
    53815415                if lenA > 1:
     
    58425876            subSizer = wx.BoxSizer(wx.HORIZONTAL)
    58435877            subSizer.Add((-1,-1),1,wx.EXPAND)
    5844             subSizer.Add(wx.StaticText(G2frame.FRMC,label='PDFfit setup'),0,WACV)
     5878            subSizer.Add(wx.StaticText(G2frame.FRMC,label='For use of PDFfit, please cite:'),0,WACV)
    58455879            subSizer.Add((-1,-1),1,wx.EXPAND)
    58465880            mainSizer.Add(subSizer,0,WACV)
     
    58525886(2007), 19, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335219'''))
    58535887            mainSizer.Add((5,5))
    5854             if 'PDFfit' not in data['RMC']:
     5888            if 'PDFfit' not in data['RMC'] or not data['RMC']['PDFfit']:
    58555889                SGData = G2spc.SpcGroup('P 1')[1]
    58565890                metadata = {'title':'none','date':str(time.ctime()),'temperature':'300K','doping':0}
     
    58585892                          'Xray real space data; G(r): ':['Select',0.01,'G(r)','RMC',],}
    58595893                data['RMC']['PDFfit'] = {'files':files,'ReStart':[False,False],'metadata':metadata,
    5860                 'delta1':[0.,False],'delta2':[0.,False],'spdiameter':[0.,False],
     5894                'delta1':[0.,False],'delta2':[0.,False],'spdiameter':[0.,False],'refinement':'normal',
    58615895                'sratio':[1.,False],'rcut':0.0,'stepcut':0.0,'shape':'sphere','SGData':SGData,'cellref':False,       
    58625896                'Xdata':{'dscale':[1.0,False],'Datarange':[0.,30.],'Fitrange':[0.,30.],'qdamp':[0.03,False],'qbroad':[0,False]},
     
    58675901            if 'SGData' not in RMCPdict:
    58685902                RMCPdict['SGData'] = G2spc.SpcGroup('P 1')[1]
     5903            if 'refinement' not in RMCPdict:
     5904                RMCPdict['refinement'] = 'combined'
    58695905            if 'cellref' not in RMCPdict:
    58705906                RMCPdict['cellref'] = False
     
    58935929                       
    58945930            mainSizer.Add(wx.StaticText(G2frame.FRMC,label='PDFfit atom parameters:'),0,WACV)
    5895             mainSizer.Add(AtomSizer())
     5931#            mainSizer.Add(AtomSizer())
    58965932           
    58975933            mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' PDFfit phase profile coefficients:'),0,WACV)
  • trunk/imports/G2pdf_gr.py

    r4425 r5064  
    3939        Ndata = 0
    4040        for i,S in enumerate(filepointer):
    41             if '#' in S[:2]:
     41            if '#L' in S[:2]:
    4242                break
    4343            if len(S.split()) != 2:
     
    6666        for i,S in enumerate(filepointer):
    6767            if not ifData:
     68                if '#L' in S[:2]:
     69                    ifData = True
     70                    continue
    6871                if len(S) == 1:     #skip blank line
    6972                    continue
     
    7174                    continue
    7275                self.comments.append(S[:-1])
    73                 if '#' in S[:2]:
    74                     ifData = True
    7576            else:
    7677                vals = S.split()
     
    8283                    except ValueError:
    8384                        msg = 'Error in line '+str(i+1)
    84                         print (msg)
     85                        print (msg,S)
    8586                        continue
     87        self.Type = 'X f(q)'             #assume X-ray PDF
    8688        self.pdfdata = np.array([
    8789            np.array(x), # x-axis values q
     
    110112        Ndata = 0
    111113        for i,S in enumerate(filepointer):
    112             if '#' in S[:2]:
     114            if '#L r' in S[:4]:
    113115                break
    114116        for i,S in enumerate(filepointer):           
     
    133135        ifData = False
    134136        filepointer = open(filename,'r')
     137        self.Type = 'N g(r)'
    135138        for i,S in enumerate(filepointer):
    136139            if not ifData:
    137140                if len(S) == 1:     #skip blank line
    138141                    continue
     142                if '#L r' in S[:4]:
     143                    ifData = True
     144                if 'X-Ray' in S:
     145                    self.Type = 'X g(r)'
    139146                self.comments.append(S[:-1])
    140                 if '#' in S[:2]:
    141                     ifData = True
    142147            else:
    143148                vals = S.split()
     
    149154                    except ValueError:
    150155                        msg = 'Error in line '+str(i+1)
    151                         print (msg)
     156                        print (msg,S[:-1])
    152157                        continue
    153158        self.pdfdata = np.array([
     
    217222            np.array(y), # pdf g(r)
    218223            ])
     224        self.Type = 'X g(r)'         #assume X-ray PDF
    219225        self.pdfentry[0] = filename
    220226        self.pdfentry[2] = 1 # xy file only has one bank
Note: See TracChangeset for help on using the changeset viewer.