Changeset 2710 for trunk/GSASIIIO.py
- Timestamp:
- Feb 16, 2017 4:31:20 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIIO.py
r2703 r2710 991 991 print ' XY data saved to: ',filename 992 992 993 def PDFSave(G2frame,exports ):994 'Save a PDF G(r) and F(Q), S(Q)in column formats'993 def PDFSave(G2frame,exports,PDFsaves): 994 'Save a PDF I(Q), S(Q), F(Q) and G(r) in column formats' 995 995 import scipy.interpolate as scintp 996 996 for export in exports: 997 997 PickId = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, export) 998 998 PDFControls = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, PickId,'PDF Controls')) 999 sqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.sq') 1000 fqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.fq') 1001 grfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.gr') 1002 sqdata = PDFControls['S(Q)'][1] 1003 sqfxn = scintp.interp1d(sqdata[0],sqdata[1],kind='linear') 1004 fqdata = PDFControls['F(Q)'][1] 1005 fqfxn = scintp.interp1d(fqdata[0],fqdata[1],kind='linear') 1006 grdata = PDFControls['G(R)'][1] 1007 grfxn = scintp.interp1d(grdata[0],grdata[1],kind='linear') 1008 sqfile = open(sqfilename,'w') 1009 fqfile = open(sqfilename,'w') 1010 grfile = open(grfilename,'w') 1011 sqfile.write('#T S(Q) %s\n'%(export)) 1012 fqfile.write('#T F(Q) %s\n'%(export)) 1013 grfile.write('#T G(R) %s\n'%(export)) 1014 sqfile.write('#L Q S(Q)\n') 1015 fqfile.write('#L Q F(Q)\n') 1016 grfile.write('#L R G(R)\n') 1017 qnew = np.arange(sqdata[0][0],sqdata[0][-1],0.005) 1018 rnew = np.arange(grdata[0][0],grdata[0][-1],0.010) 1019 sqnew = zip(qnew,sqfxn(qnew)) 1020 for q,sq in sqnew: 1021 sqfile.write("%15.6g %15.6g\n" % (q,sq)) 1022 sqfile.close() 1023 print ' S(Q) saved to: ',sqfilename 1024 fqnew = zip(qnew,fqfxn(qnew)) 1025 for q,fq in fqnew: 1026 fqfile.write("%15.6g %15.6g\n" % (q,fq)) 1027 fqfile.close() 1028 print ' F(Q) saved to: ',fqfilename 1029 grnew = zip(rnew,grfxn(rnew)) 1030 for r,gr in grnew: 1031 grfile.write("%15.6g %15.6g\n" % (r,gr)) 1032 grfile.close() 1033 print ' G)R) saved to: ',grfilename 999 if PDFsaves[0]: #I(Q) 1000 iqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.iq') 1001 iqdata = PDFControls['I(Q)'][0] 1002 iqfxn = scintp.interp1d(iqdata[0],iqdata[1],kind='linear') 1003 iqfile = open(iqfilename,'w') 1004 iqfile.write('#T I(Q) %s\n'%(export)) 1005 iqfile.write('#L Q I(Q)\n') 1006 qnew = np.arange(iqdata[0][0],iqdata[0][-1],0.005) 1007 iqnew = zip(qnew,iqfxn(qnew)) 1008 for q,iq in iqnew: 1009 iqfile.write("%15.6g %15.6g\n" % (q,iq)) 1010 iqfile.close() 1011 print ' I(Q) saved to: ',iqfilename 1012 1013 if PDFsaves[1]: #S(Q) 1014 sqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.sq') 1015 sqdata = PDFControls['S(Q)'][1] 1016 sqfxn = scintp.interp1d(sqdata[0],sqdata[1],kind='linear') 1017 sqfile = open(sqfilename,'w') 1018 sqfile.write('#T S(Q) %s\n'%(export)) 1019 sqfile.write('#L Q S(Q)\n') 1020 qnew = np.arange(sqdata[0][0],sqdata[0][-1],0.005) 1021 sqnew = zip(qnew,sqfxn(qnew)) 1022 for q,sq in sqnew: 1023 sqfile.write("%15.6g %15.6g\n" % (q,sq)) 1024 sqfile.close() 1025 print ' S(Q) saved to: ',sqfilename 1026 1027 1028 if PDFsaves[2]: #F(Q) 1029 fqfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.fq') 1030 fqdata = PDFControls['F(Q)'][1] 1031 fqfxn = scintp.interp1d(fqdata[0],fqdata[1],kind='linear') 1032 fqfile = open(sqfilename,'w') 1033 fqfile.write('#T F(Q) %s\n'%(export)) 1034 fqfile.write('#L Q F(Q)\n') 1035 qnew = np.arange(sqdata[0][0],sqdata[0][-1],0.005) 1036 fqnew = zip(qnew,fqfxn(qnew)) 1037 for q,fq in fqnew: 1038 fqfile.write("%15.6g %15.6g\n" % (q,fq)) 1039 fqfile.close() 1040 print ' F(Q) saved to: ',fqfilename 1041 1042 1043 if PDFsaves[3]: #G(R) 1044 grfilename = ospath.join(G2frame.dirname,export.replace(' ','_')[5:]+'.gr') 1045 grdata = PDFControls['G(R)'][1] 1046 grfxn = scintp.interp1d(grdata[0],grdata[1],kind='linear') 1047 grfile = open(grfilename,'w') 1048 grfile.write('#T G(R) %s\n'%(export)) 1049 grfile.write('#L R G(R)\n') 1050 rnew = np.arange(grdata[0][0],grdata[0][-1],0.010) 1051 grnew = zip(rnew,grfxn(rnew)) 1052 for r,gr in grnew: 1053 grfile.write("%15.6g %15.6g\n" % (r,gr)) 1054 grfile.close() 1055 print ' G)R) saved to: ',grfilename 1034 1056 1035 1057 def PeakListSave(G2frame,file,peaks):
Note: See TracChangeset
for help on using the changeset viewer.