Changeset 2056
- Timestamp:
- Nov 17, 2015 12:32:25 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r2050 r2056 76 76 import GSASIIstrMain as G2stMn 77 77 import GSASIIstrIO as G2stIO 78 import GSASIImath as G2mth 78 79 import GSASIImapvars as G2mv 79 80 import GSASIIobj as G2obj … … 2406 2407 self.HKL = [] 2407 2408 self.powderfile = dlg.GetPath() 2408 comments,peaks = G2IO.GetPowderPeaks(self.powderfile)2409 comments,peaks,limits,wave = G2IO.GetPowderPeaks(self.powderfile) 2409 2410 Id = self.PatternTree.AppendItem(parent=self.root,text='PKS '+os.path.basename(self.powderfile)) 2410 data = ['PKS', Cuka,0.0]2411 data = ['PKS',wave,0.0] 2411 2412 names = ['Type','Lam','Zero'] 2412 2413 codes = [0,0,0] … … 2414 2415 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Instrument Parameters'),inst) 2415 2416 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Comments'),comments) 2417 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Limits'),[tuple(limits),limits]) 2416 2418 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Index Peak List'),[peaks,[]]) 2417 2419 self.PatternTree.SetItemPyData(self.PatternTree.AppendItem(Id,text='Unit Cells List'),[]) … … 3122 3124 if 'PWDR' in name: 3123 3125 item2, cookie2 = self.PatternTree.GetFirstChild(item) 3126 wave = 0.0 3124 3127 while item2: 3125 3128 name2 = self.PatternTree.GetItemText(item2) 3126 if name2 == 'Peak List': 3129 if name2 == 'Instrument Parameters': 3130 Inst = self.PatternTree.GetItemPyData(item2)[0] 3131 Type = Inst['Type'][0] 3132 if 'T' not in Type: 3133 wave = G2mth.getWave(Inst) 3134 elif name2 == 'Peak List': 3127 3135 peaks = self.PatternTree.GetItemPyData(item2)['peaks'] 3128 file.write("%s \n" % (name+' Peak List'))3129 if len(peaks[0]) == 8:3130 file.write('%10s %12s %10s %10s %10s\n'%('pos','int','sig','gam','FWHM'))3131 else:3132 file.write('%10s %12s %10s %10s %10s %10s %10s\n'%('pos','int','alp','bet','sig','gam','FWHM'))3133 for peak in peaks:3134 if len(peak) == 8: #CW3135 FWHM = 2.*G2pwd.getgamFW(peak[6],peak[4]) #to get delta-2-theta in deg. from Gam(peak)3136 file.write("%10.5f %12.2f %10.5f %10.5f %10.5f \n" % \3137 (peak[0],peak[2],np.sqrt(max(0.0001,peak[4]))/100.,peak[6]/100.,FWHM/100.)) #convert to deg3138 else: #TOF - more cols3139 FWHM = 2.*G2pwd.getgamFW(peak[10],peak[8]) #to get delta-TOF from Gam(peak)3140 file.write("%10.5f %12.2f %10.3f %10.3f %10.3f %10.3f %10.3f\n" % \3141 (peak[0],peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM))3142 3136 item2, cookie2 = self.PatternTree.GetNextChild(item, cookie2) 3137 file.write("#%s \n" % (name+' Peak List')) 3138 if wave: 3139 file.write('#wavelength = %10.6f\n'%(wave)) 3140 if 'T' in Type: 3141 file.write('#%10s %12s %10s %10s %10s %10s %10s\n'%('pos','int','alp','bet','sig','gam','FWHM')) 3142 else: 3143 file.write('#%10s %12s %10s %10s %10s\n'%('pos','int','sig','gam','FWHM')) 3144 for peak in peaks: 3145 if 'T' in Type: #TOF - more cols 3146 FWHM = 2.*G2pwd.getgamFW(peak[10],peak[8]) #to get delta-TOF from Gam(peak) 3147 file.write("%10.5f %12.2f %10.3f %10.3f %10.3f %10.3f %10.3f\n" % \ 3148 (peak[0],peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM)) 3149 else: #CW 3150 FWHM = 2.*G2pwd.getgamFW(peak[6],peak[4]) #to get delta-2-theta in deg. from Gam(peak) 3151 file.write("%10.5f %12.2f %10.5f %10.5f %10.5f \n" % \ 3152 (peak[0],peak[2],np.sqrt(max(0.0001,peak[4]))/100.,peak[6]/100.,FWHM/100.)) #convert to deg 3143 3153 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 3144 3154 file.close() -
trunk/GSASIIIO.py
r2042 r2056 94 94 sind = lambda x: math.sin(x*math.pi/180.) 95 95 asind = lambda x: 180.*math.asin(x)/math.pi 96 Cuka= 1.5405296 wave = 1.54052 97 97 File = open(fileName,'Ur') 98 98 Comments = [] … … 112 112 if Comments: 113 113 print 'Comments on file:' 114 for Comment in Comments: print Comment 114 for Comment in Comments: 115 print Comment 116 if 'wavelength' in Comment: 117 wave = float(Comment.split('=')[1]) 115 118 Peaks = [] 116 119 if peaks[0][0] > peaks[-1][0]: # d-spacings - assume CuKa 117 120 for peak in peaks: 118 121 dsp = peak[0] 119 sth = Cuka/(2.0*dsp)122 sth = wave/(2.0*dsp) 120 123 if sth < 1.0: 121 124 tth = 2.0*asind(sth) … … 126 129 for peak in peaks: 127 130 tth = peak[0] 128 dsp = Cuka/(2.0*sind(tth/2.0))131 dsp = wave/(2.0*sind(tth/2.0)) 129 132 Peaks.append([tth,peak[1],True,False,0,0,0,dsp,0.0]) 130 return Comments,Peaks 133 limits = [1000.,0.] 134 for peak in Peaks: 135 limits[0] = min(limits[0],peak[0]) 136 limits[1] = max(limits[1],peak[0]) 137 limits[0] = max(1.,(int(limits[0]-1.)/5)*5.) 138 limits[1] = min(170.,(int(limits[1]+1.)/5)*5.) 139 return Comments,Peaks,limits,wave 131 140 132 141 def CheckImageFile(G2frame,imagefile): -
trunk/GSASIIindex.py
r2055 r2056 939 939 cycle = 10 940 940 finally: 941 dlg.Destroy() 941 pass 942 dlg.Destroy() 942 943 print '%s%s%s%s'%('finished cell search for ',bravaisNames[ibrav], \ 943 944 ', elapsed time = ',G2lat.sec2HMS(time.time()-begin)) -
trunk/GSASIIplot.py
r2052 r2056 1044 1044 plottype = plotType 1045 1045 if not G2frame.PatternId: 1046 return 1047 if 'PKS' in plottype: 1048 PlotPowderLines(G2frame) 1046 1049 return 1047 1050 #patch … … 2517 2520 Plot.axvline(peak[0],color='b') 2518 2521 for hkl in G2frame.HKL: 2519 Plot.axvline(hkl[- 1],color='r',dashes=(5,5))2522 Plot.axvline(hkl[-2],color='r',dashes=(5,5)) 2520 2523 xmin = peaks[0][0] 2521 2524 xmax = peaks[-1][0] … … 2546 2549 Parms,Parms2 = G2frame.PatternTree.GetItemPyData( \ 2547 2550 G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Instrument Parameters')) 2548 if 'C' in Parms['Type'][0]: 2551 if 'PKS' in Parms['Type'][0]: 2552 return 2553 elif 'T' in Parms['Type'][0]: 2554 difC = Parms['difC'][0] 2555 else: 2549 2556 lam = G2mth.getWave(Parms) 2550 else:2551 difC = Parms['difC'][0]2552 2557 try: # PATCH: deal with older peak lists, before changed to dict to implement TOF 2553 2558 peaks = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Peak List'))['peaks'] -
trunk/GSASIIpwdGUI.py
r2050 r2056 2230 2230 IndexId = G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Index Peak List') 2231 2231 Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 2232 Limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits'))2233 2232 limitId = G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Limits') 2233 Limits = G2frame.PatternTree.GetItemPyData(limitId) 2234 2234 def RefreshIndexPeaksGrid(event): 2235 2235 r,c = event.GetRow(),event.GetCol() … … 2300 2300 Unit.append({}) 2301 2301 controls,bravais,cellist,dmin,ssopt = Unit 2302 if 'C' in Inst['Type'][0]: 2302 if 'T' in Inst['Type'][0]: #TOF - use other limit! 2303 dmin = G2lat.Pos2dsp(Inst,Limits[1][0]) 2304 else: 2303 2305 dmin = G2lat.Pos2dsp(Inst,Limits[1][1]) 2304 else: #TOF - use other limit!2305 dmin = G2lat.Pos2dsp(Inst,Limits[1][0])2306 2306 G2frame.HKL = [] 2307 2307 if ssopt.get('Use',False): … … 2685 2685 ibrav = bravaisSymb.index(controls[5]) 2686 2686 SGData = G2spc.SpcGroup(controls[13])[1] 2687 if 'C' in Inst['Type'][0] :2687 if 'C' in Inst['Type'][0] or 'PKS' in Inst['Type'][0]: 2688 2688 if ssopt.get('Use',False): 2689 2689 vecFlags = [True if x in ssopt['ssSymb'] else False for x in ['a','b','g']]
Note: See TracChangeset
for help on using the changeset viewer.