Changeset 5064
- Timestamp:
- Nov 3, 2021 8:56:03 AM (23 months ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIdataGUI.py
r5057 r5064 1965 1965 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 1966 1966 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) 1970 1968 Tmin = min(rd.powderdata[0]) 1971 1969 Tmax = max(rd.powderdata[0]) … … 2168 2166 } 2169 2167 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) 2173 2169 self.GPXtree.SetItemPyData( 2174 2170 self.GPXtree.AppendItem(Id,text='Limits'), … … 2302 2298 } 2303 2299 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) 2307 2301 self.GPXtree.SetItemPyData( 2308 2302 self.GPXtree.AppendItem(Id,text='Limits'), … … 2506 2500 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 2507 2501 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) 2511 2503 self.GPXtree.SetItemPyData( 2512 2504 self.GPXtree.AppendItem(Id,text='Limits'), … … 2621 2613 rd.Sample['ranId'] = valuesdict['ranId'] # this should be removed someday 2622 2614 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) 2626 2616 self.GPXtree.SetItemPyData( 2627 2617 self.GPXtree.AppendItem(Id,text='Limits'), … … 2709 2699 'Yminmax':[Ymin,Ymax], 2710 2700 } 2711 self.GPXtree.SetItemPyData( 2712 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]}) 2715 2705 self.GPXtree.SetItemPyData(self.GPXtree.AppendItem(Id,text='PDF Peaks'), 2716 2706 {'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]}) -
trunk/GSASIIphsGUI.py
r5063 r5064 4894 4894 name,item = Indx[Obj.GetId()] 4895 4895 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 4897 4901 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) 4899 4910 if G2frame.RMCchoice == 'fullrmc': 4900 4911 Heads = ['Name','File','type','Plot','Delete'] … … 4968 4979 label=' NB: fullrmc data files must be 2 columns; all other lines preceeded by "#". Edit before use.'),0) 4969 4980 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) 4971 4985 Heads = ['Name','File','Format','Weight','Plot','Delete'] 4972 4986 fileSizer = wx.FlexGridSizer(6,5,5) … … 5356 5370 5357 5371 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 5358 5385 mainSizer = wx.BoxSizer(wx.VERTICAL) 5359 5386 subSizer = wx.BoxSizer(wx.HORIZONTAL) … … 5368 5395 19, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335218''')) 5369 5396 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): 5372 5399 aTypes = dict(zip(Atypes,len(Atypes)*[0.10,])) 5373 5400 atSeq = list(aTypes.keys()) 5374 5401 atOxid = [[atmdata.BVSoxid[atm][0],0.001] for atm in atSeq] 5375 5402 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']: 5380 5414 BVSpairs = [] 5381 5415 if lenA > 1: … … 5842 5876 subSizer = wx.BoxSizer(wx.HORIZONTAL) 5843 5877 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) 5845 5879 subSizer.Add((-1,-1),1,wx.EXPAND) 5846 5880 mainSizer.Add(subSizer,0,WACV) … … 5852 5886 (2007), 19, 335218. doi: https://doi.org/10.1088/0953-8984/19/33/335219''')) 5853 5887 mainSizer.Add((5,5)) 5854 if 'PDFfit' not in data['RMC'] :5888 if 'PDFfit' not in data['RMC'] or not data['RMC']['PDFfit']: 5855 5889 SGData = G2spc.SpcGroup('P 1')[1] 5856 5890 metadata = {'title':'none','date':str(time.ctime()),'temperature':'300K','doping':0} … … 5858 5892 'Xray real space data; G(r): ':['Select',0.01,'G(r)','RMC',],} 5859 5893 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', 5861 5895 'sratio':[1.,False],'rcut':0.0,'stepcut':0.0,'shape':'sphere','SGData':SGData,'cellref':False, 5862 5896 'Xdata':{'dscale':[1.0,False],'Datarange':[0.,30.],'Fitrange':[0.,30.],'qdamp':[0.03,False],'qbroad':[0,False]}, … … 5867 5901 if 'SGData' not in RMCPdict: 5868 5902 RMCPdict['SGData'] = G2spc.SpcGroup('P 1')[1] 5903 if 'refinement' not in RMCPdict: 5904 RMCPdict['refinement'] = 'combined' 5869 5905 if 'cellref' not in RMCPdict: 5870 5906 RMCPdict['cellref'] = False … … 5893 5929 5894 5930 mainSizer.Add(wx.StaticText(G2frame.FRMC,label='PDFfit atom parameters:'),0,WACV) 5895 mainSizer.Add(AtomSizer())5931 # mainSizer.Add(AtomSizer()) 5896 5932 5897 5933 mainSizer.Add(wx.StaticText(G2frame.FRMC,label=' PDFfit phase profile coefficients:'),0,WACV) -
trunk/imports/G2pdf_gr.py
r4425 r5064 39 39 Ndata = 0 40 40 for i,S in enumerate(filepointer): 41 if '# ' in S[:2]:41 if '#L' in S[:2]: 42 42 break 43 43 if len(S.split()) != 2: … … 66 66 for i,S in enumerate(filepointer): 67 67 if not ifData: 68 if '#L' in S[:2]: 69 ifData = True 70 continue 68 71 if len(S) == 1: #skip blank line 69 72 continue … … 71 74 continue 72 75 self.comments.append(S[:-1]) 73 if '#' in S[:2]:74 ifData = True75 76 else: 76 77 vals = S.split() … … 82 83 except ValueError: 83 84 msg = 'Error in line '+str(i+1) 84 print (msg )85 print (msg,S) 85 86 continue 87 self.Type = 'X f(q)' #assume X-ray PDF 86 88 self.pdfdata = np.array([ 87 89 np.array(x), # x-axis values q … … 110 112 Ndata = 0 111 113 for i,S in enumerate(filepointer): 112 if '# ' in S[:2]:114 if '#L r' in S[:4]: 113 115 break 114 116 for i,S in enumerate(filepointer): … … 133 135 ifData = False 134 136 filepointer = open(filename,'r') 137 self.Type = 'N g(r)' 135 138 for i,S in enumerate(filepointer): 136 139 if not ifData: 137 140 if len(S) == 1: #skip blank line 138 141 continue 142 if '#L r' in S[:4]: 143 ifData = True 144 if 'X-Ray' in S: 145 self.Type = 'X g(r)' 139 146 self.comments.append(S[:-1]) 140 if '#' in S[:2]:141 ifData = True142 147 else: 143 148 vals = S.split() … … 149 154 except ValueError: 150 155 msg = 'Error in line '+str(i+1) 151 print (msg )156 print (msg,S[:-1]) 152 157 continue 153 158 self.pdfdata = np.array([ … … 217 222 np.array(y), # pdf g(r) 218 223 ]) 224 self.Type = 'X g(r)' #assume X-ray PDF 219 225 self.pdfentry[0] = filename 220 226 self.pdfentry[2] = 1 # xy file only has one bank
Note: See TracChangeset
for help on using the changeset viewer.