Changeset 1236
- Timestamp:
- Mar 5, 2014 1:51:53 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r1232 r1236 1019 1019 numbanks = rd.numbanks 1020 1020 # is there an instrument parameter file defined for the current data set? 1021 if rd.instparm or (lastdatafile == filename and lastIparmfile): 1021 # or if this is a read on a set of set of files, use the last one again 1022 #if rd.instparm or (lastdatafile == filename and lastIparmfile): 1023 if rd.instparm or lastIparmfile: 1022 1024 if rd.instparm: 1023 1025 instfile = os.path.join(os.path.split(filename)[0], … … 1674 1676 self.Bind(wx.EVT_MENU, obj.Exporter, id=item.GetId()) 1675 1677 self.ExportLookup[item.GetId()] = typ # lookup table for submenu item 1676 #code to debug an Exporter. much is hard-coded below, but code is reloaded before1677 # each use allowing faster development1678 1679 #code to debug an Exporter. hard-coded the routine below, to allow a reload before use 1678 1680 # def DebugExport(event): 1679 # print 'start reload'1680 # reload(G2IO)1681 # import G2export_ASCIImapas dev1682 # reload(dev)1683 # dev.ExportMapASCII(self).Exporter(event)1681 # print 'start reload' 1682 # reload(G2IO) 1683 # import G2export_pwdr as dev 1684 # reload(dev) 1685 # dev.ExportPowderFXYE(self).Exporter(event) 1684 1686 # item = menu.Append( 1685 1687 # wx.ID_ANY,kind=wx.ITEM_NORMAL, 1686 # help="debug exporter",text="test Export ")1688 # help="debug exporter",text="test Export FXYE") 1687 1689 # self.Bind(wx.EVT_MENU, DebugExport, id=item.GetId()) 1688 # # self.ExportLookup[item.GetId()] = 'image'1689 # self.ExportLookup[item.GetId()] = ' map'1690 # # #self.ExportLookup[item.GetId()] = 'image' 1691 # self.ExportLookup[item.GetId()] = 'powder' 1690 1692 1691 1693 def _Add_ExportMenuItems(self,parent): 1692 item = parent.Append(1693 help='Select PWDR item to enable',id=wx.ID_ANY,1694 kind=wx.ITEM_NORMAL,1695 text='Export Powder Patterns...')1696 self.ExportPattern.append(item)1697 item.Enable(False)1698 self.Bind(wx.EVT_MENU, self.OnExportPatterns, id=item.GetId())1694 # item = parent.Append( 1695 # help='Select PWDR item to enable',id=wx.ID_ANY, 1696 # kind=wx.ITEM_NORMAL, 1697 # text='Export Powder Patterns...') 1698 # self.ExportPattern.append(item) 1699 # item.Enable(False) 1700 # self.Bind(wx.EVT_MENU, self.OnExportPatterns, id=item.GetId()) 1699 1701 1700 1702 item = parent.Append( … … 1796 1798 self.Refine = [] 1797 1799 self.SeqRefine = [] 1798 self.ExportPattern = []1800 #self.ExportPattern = [] 1799 1801 self.ExportPeakList = [] 1800 1802 self.ExportHKL = [] … … 2698 2700 self.Close() 2699 2701 2700 def OnExportPatterns(self,event):2701 names = ['All']2702 exports = []2703 item, cookie = self.PatternTree.GetFirstChild(self.root)2704 while item:2705 name = self.PatternTree.GetItemText(item)2706 if 'PWDR' in name:2707 names.append(name)2708 item, cookie = self.PatternTree.GetNextChild(self.root, cookie)2709 if names:2710 dlg = wx.MultiChoiceDialog(self,'Select','Powder patterns to export',names)2711 if dlg.ShowModal() == wx.ID_OK:2712 sel = dlg.GetSelections()2713 if sel[0] == 0:2714 exports = names[1:]2715 else:2716 for x in sel:2717 exports.append(names[x])2718 dlg.Destroy()2719 if exports:2720 dlg = wx.FileDialog(self, 'Choose output powder file name', '.', '',2721 'GSAS fxye file (*.fxye)|*.fxye|xye file (*.xye)|*.xye',2722 wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT|wx.CHANGE_DIR)2723 try:2724 if dlg.ShowModal() == wx.ID_OK:2725 powderfile = dlg.GetPath()2726 powderfile = G2IO.FileDlgFixExt(dlg,powderfile)2727 if 'fxye' in powderfile:2728 G2IO.powderFxyeSave(self,exports,powderfile)2729 else: #just xye2730 G2IO.powderXyeSave(self,exports,powderfile)2731 finally:2732 dlg.Destroy()2702 # def OnExportPatterns(self,event): 2703 # names = ['All'] 2704 # exports = [] 2705 # item, cookie = self.PatternTree.GetFirstChild(self.root) 2706 # while item: 2707 # name = self.PatternTree.GetItemText(item) 2708 # if 'PWDR' in name: 2709 # names.append(name) 2710 # item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 2711 # if names: 2712 # dlg = wx.MultiChoiceDialog(self,'Select','Powder patterns to export',names) 2713 # if dlg.ShowModal() == wx.ID_OK: 2714 # sel = dlg.GetSelections() 2715 # if sel[0] == 0: 2716 # exports = names[1:] 2717 # else: 2718 # for x in sel: 2719 # exports.append(names[x]) 2720 # dlg.Destroy() 2721 # if exports: 2722 # dlg = wx.FileDialog(self, 'Choose output powder file name', '.', '', 2723 # 'GSAS fxye file (*.fxye)|*.fxye|xye file (*.xye)|*.xye', 2724 # wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT|wx.CHANGE_DIR) 2725 # try: 2726 # if dlg.ShowModal() == wx.ID_OK: 2727 # powderfile = dlg.GetPath() 2728 # powderfile = G2IO.FileDlgFixExt(dlg,powderfile) 2729 # if 'fxye' in powderfile: 2730 # G2IO.powderFxyeSave(self,exports,powderfile) 2731 # else: #just xye 2732 # G2IO.powderXyeSave(self,exports,powderfile) 2733 # finally: 2734 # dlg.Destroy() 2733 2735 2734 2736 def OnExportPeakList(self,event): -
trunk/GSASIIIO.py
r1228 r1236 1035 1035 G2frame.PatternId = Id 1036 1036 1037 def powderFxyeSave(G2frame,exports,powderfile):1038 'Save a powder histogram as a GSAS FXYE file'1039 head,tail = ospath.split(powderfile)1040 name,ext = tail.split('.')1041 for i,export in enumerate(exports):1042 filename = ospath.join(head,name+'-%03d.'%(i)+ext)1043 prmname = filename.strip(ext)+'prm'1044 prm = open(prmname,'w') #old style GSAS parm file1045 PickId = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, export)1046 Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, \1047 PickId, 'Instrument Parameters'))[0]1048 prm.write( ' 123456789012345678901234567890123456789012345678901234567890 '+'\n')1049 prm.write( 'INS BANK 1 '+'\n')1050 prm.write(('INS HTYPE %sR '+'\n')%(Inst['Type'][0]))1051 if 'Lam1' in Inst: #Ka1 & Ka21052 prm.write(('INS 1 ICONS%10.7f%10.7f 0.0000 0.990 0 0.500 '+'\n')%(Inst['Lam1'][0],Inst['Lam2'][0]))1053 elif 'Lam' in Inst: #single wavelength1054 prm.write(('INS 1 ICONS%10.7f%10.7f 0.0000 0.990 0 0.500 '+'\n')%(Inst['Lam'][1],0.0))1055 prm.write( 'INS 1 IRAD 0 '+'\n')1056 prm.write( 'INS 1I HEAD '+'\n')1057 prm.write( 'INS 1I ITYP 0 0.0000 180.0000 1 '+'\n')1058 prm.write(('INS 1DETAZM%10.3f '+'\n')%(Inst['Azimuth'][0]))1059 prm.write( 'INS 1PRCF1 3 8 0.00100 '+'\n')1060 prm.write(('INS 1PRCF11 %15.6g%15.6g%15.6g%15.6g '+'\n')%(Inst['U'][1],Inst['V'][1],Inst['W'][1],0.0))1061 prm.write(('INS 1PRCF12 %15.6g%15.6g%15.6g%15.6g '+'\n')%(Inst['X'][1],Inst['Y'][1],Inst['SH/L'][1]/2.,Inst['SH/L'][1]/2.))1062 prm.close()1063 file = open(filename,'w')1064 print 'save powder pattern to file: ',filename1065 x,y,w,yc,yb,yd = G2frame.PatternTree.GetItemPyData(PickId)[1]1066 file.write(powderfile+'\n')1067 file.write('Instrument parameter file:'+ospath.split(prmname)[1]+'\n')1068 file.write('BANK 1 %d %d CONS %.2f %.2f 0 0 FXYE\n'%(len(x),len(x),\1069 100.*x[0],100.*(x[1]-x[0])))1070 s = list(np.sqrt(1./np.array(w)))1071 XYW = zip(x,y,s)1072 for X,Y,S in XYW:1073 file.write("%15.6g %15.6g %15.6g\n" % (100.*X,Y,max(S,1.0)))1074 file.close()1075 print 'powder pattern file '+filename+' written'1037 # def powderFxyeSave(G2frame,exports,powderfile): 1038 # 'Save a powder histogram as a GSAS FXYE file' 1039 # head,tail = ospath.split(powderfile) 1040 # name,ext = tail.split('.') 1041 # for i,export in enumerate(exports): 1042 # filename = ospath.join(head,name+'-%03d.'%(i)+ext) 1043 # prmname = filename.strip(ext)+'prm' 1044 # prm = open(prmname,'w') #old style GSAS parm file 1045 # PickId = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, export) 1046 # Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame, \ 1047 # PickId, 'Instrument Parameters'))[0] 1048 # prm.write( ' 123456789012345678901234567890123456789012345678901234567890 '+'\n') 1049 # prm.write( 'INS BANK 1 '+'\n') 1050 # prm.write(('INS HTYPE %sR '+'\n')%(Inst['Type'][0])) 1051 # if 'Lam1' in Inst: #Ka1 & Ka2 1052 # prm.write(('INS 1 ICONS%10.7f%10.7f 0.0000 0.990 0 0.500 '+'\n')%(Inst['Lam1'][0],Inst['Lam2'][0])) 1053 # elif 'Lam' in Inst: #single wavelength 1054 # prm.write(('INS 1 ICONS%10.7f%10.7f 0.0000 0.990 0 0.500 '+'\n')%(Inst['Lam'][1],0.0)) 1055 # prm.write( 'INS 1 IRAD 0 '+'\n') 1056 # prm.write( 'INS 1I HEAD '+'\n') 1057 # prm.write( 'INS 1I ITYP 0 0.0000 180.0000 1 '+'\n') 1058 # prm.write(('INS 1DETAZM%10.3f '+'\n')%(Inst['Azimuth'][0])) 1059 # prm.write( 'INS 1PRCF1 3 8 0.00100 '+'\n') 1060 # prm.write(('INS 1PRCF11 %15.6g%15.6g%15.6g%15.6g '+'\n')%(Inst['U'][1],Inst['V'][1],Inst['W'][1],0.0)) 1061 # prm.write(('INS 1PRCF12 %15.6g%15.6g%15.6g%15.6g '+'\n')%(Inst['X'][1],Inst['Y'][1],Inst['SH/L'][1]/2.,Inst['SH/L'][1]/2.)) 1062 # prm.close() 1063 # file = open(filename,'w') 1064 # print 'save powder pattern to file: ',filename 1065 # x,y,w,yc,yb,yd = G2frame.PatternTree.GetItemPyData(PickId)[1] 1066 # file.write(powderfile+'\n') 1067 # file.write('Instrument parameter file:'+ospath.split(prmname)[1]+'\n') 1068 # file.write('BANK 1 %d %d CONS %.2f %.2f 0 0 FXYE\n'%(len(x),len(x),\ 1069 # 100.*x[0],100.*(x[1]-x[0]))) 1070 # s = list(np.sqrt(1./np.array(w))) 1071 # XYW = zip(x,y,s) 1072 # for X,Y,S in XYW: 1073 # file.write("%15.6g %15.6g %15.6g\n" % (100.*X,Y,max(S,1.0))) 1074 # file.close() 1075 # print 'powder pattern file '+filename+' written' 1076 1076 1077 def powderXyeSave(G2frame,exports,powderfile):1078 'Save a powder histogram as a Topas XYE file'1079 head,tail = ospath.split(powderfile)1080 name,ext = tail.split('.')1081 for i,export in enumerate(exports):1082 filename = ospath.join(head,name+'-%03d.'%(i)+ext)1083 PickId = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, export)1084 file = open(filename,'w')1085 file.write('#%s\n'%(export))1086 print 'save powder pattern to file: ',filename1087 x,y,w,yc,yb,yd = G2frame.PatternTree.GetItemPyData(PickId)[1]1088 s = list(np.sqrt(1./np.array(w)))1089 XYW = zip(x,y,s)1090 for X,Y,W in XYW:1091 file.write("%15.6g %15.6g %15.6g\n" % (X,Y,W))1092 file.close()1093 print 'powder pattern file '+filename+' written'1077 # def powderXyeSave(G2frame,exports,powderfile): 1078 # 'Save a powder histogram as a Topas XYE file' 1079 # head,tail = ospath.split(powderfile) 1080 # name,ext = tail.split('.') 1081 # for i,export in enumerate(exports): 1082 # filename = ospath.join(head,name+'-%03d.'%(i)+ext) 1083 # PickId = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, export) 1084 # file = open(filename,'w') 1085 # file.write('#%s\n'%(export)) 1086 # print 'save powder pattern to file: ',filename 1087 # x,y,w,yc,yb,yd = G2frame.PatternTree.GetItemPyData(PickId)[1] 1088 # s = list(np.sqrt(1./np.array(w))) 1089 # XYW = zip(x,y,s) 1090 # for X,Y,W in XYW: 1091 # file.write("%15.6g %15.6g %15.6g\n" % (X,Y,W)) 1092 # file.close() 1093 # print 'powder pattern file '+filename+' written' 1094 1094 1095 1095 def PDFSave(G2frame,exports): … … 1774 1774 extensionlist, 1775 1775 strictExtension) 1776 self.clockWd = None # used in TOF 1776 1777 self.ReInitialize() 1777 1778 … … 1793 1794 self.Sample = G2pdG.SetDefaultSample() 1794 1795 self.GSAS = None # used in TOF 1795 self.clockWd = None # used in TOF1796 1796 self.repeat_instparm = True # Should a parm file be 1797 1797 # used for multiple histograms? 1798 self.instparm = None # name hint 1798 self.instparm = None # name hint from file of instparm to use 1799 1799 self.instfile = '' # full path name to instrument parameter file 1800 1800 self.instbank = '' # inst parm bank number … … 1877 1877 if event: 1878 1878 self.currentExportType = self.G2frame.ExportLookup.get(event.Id) 1879 1880 def MakePWDRfilename(self,hist): 1881 '''Make a filename root (no extension) from a PWDR histogram name 1882 1883 :param str hist: the histogram name in data tree (starts with "PWDR ") 1884 ''' 1885 file0 = '' 1886 file1 = hist[5:] 1887 # replace repeated blanks 1888 while file1 != file0: 1889 file0 = file1 1890 file1 = file0.replace(' ',' ').strip() 1891 file0 = file1.replace('Azm= ','A') 1892 # if angle has unneeded decimal places on aziumuth, remove them 1893 if file0[-3:] == '.00': file0 = file0[:-3] 1894 file0 = file0.replace('.','_') 1895 file0 = file0.replace(' ','_') 1896 return file0 1879 1897 1880 1898 def ExportSelect(self,AskFile=True): -
trunk/GSASIIgrid.py
r1232 r1236 3434 3434 3435 3435 def GetSampleParms(): 3436 sampleParmDict = {'Temperature': 300.,'Pressure':1.,3437 'FreePrm1': 0.,'FreePrm2':0.,'FreePrm3':0.,}3436 sampleParmDict = {'Temperature':[],'Pressure':[], 3437 'FreePrm1':[],'FreePrm2':[],'FreePrm3':[],} 3438 3438 sampleParm = {} 3439 3439 for name in histNames: … … 3669 3669 mainSizer.Add((5,5),) 3670 3670 pfx = value.split('Nref')[0] 3671 name = data[0] [pfx.split(':')[0]+'::Name']3671 name = data[0].get(pfx.split(':')[0]+'::Name','?') 3672 3672 mainSizer.Add(wx.StaticText(G2frame.dataDisplay,-1,' For phase '+name+':')) 3673 3673 mainSizer.Add(wx.StaticText(G2frame.dataDisplay,-1, … … 3847 3847 G2frame.PickId = 0 3848 3848 parentID = G2frame.root 3849 for i in G2frame.ExportPattern: i.Enable(False)3849 #for i in G2frame.ExportPattern: i.Enable(False) 3850 3850 defWid = [250,150] 3851 3851 if item != G2frame.root: … … 3857 3857 SetDataMenuBar(G2frame,G2frame.dataFrame.DataNotebookMenu) 3858 3858 G2frame.PatternId = 0 3859 for i in G2frame.ExportPattern: i.Enable(False)3859 #for i in G2frame.ExportPattern: i.Enable(False) 3860 3860 data = G2frame.PatternTree.GetItemPyData(item) 3861 3861 UpdateNotebook(G2frame,data) 3862 3862 elif G2frame.PatternTree.GetItemText(item) == 'Controls': 3863 3863 G2frame.PatternId = 0 3864 for i in G2frame.ExportPattern: i.Enable(False)3864 #for i in G2frame.ExportPattern: i.Enable(False) 3865 3865 data = G2frame.PatternTree.GetItemPyData(item) 3866 3866 if not data: #fill in defaults … … 3908 3908 G2plt.PlotPowderLines(G2frame) 3909 3909 elif 'PWDR' in G2frame.PatternTree.GetItemText(item): 3910 for i in G2frame.ExportPattern: i.Enable(True)3910 #for i in G2frame.ExportPattern: i.Enable(True) 3911 3911 UpdatePWHKPlot(G2frame,'PWDR',item) 3912 3912 elif 'SASD' in G2frame.PatternTree.GetItemText(item): 3913 for i in G2frame.ExportPattern: i.Enable(True)3913 #for i in G2frame.ExportPattern: i.Enable(True) 3914 3914 UpdatePWHKPlot(G2frame,'SASD',item) 3915 3915 elif 'HKLF' in G2frame.PatternTree.GetItemText(item): -
trunk/GSASIIobj.py
r1227 r1236 559 559 containing in order: 560 560 561 1. the x-postions (two-theta in degrees),562 2. the intensity values (Yobs),563 3. the weights for each Yobs value564 4. the computed intensity values (Ycalc)565 5. the background values566 6. Yobs-Ycalc561 0. the x-postions (two-theta in degrees), 562 1. the intensity values (Yobs), 563 2. the weights for each Yobs value 564 3. the computed intensity values (Ycalc) 565 4. the background values 566 5. Yobs-Ycalc 567 567 ====================== =============== ==================================================== 568 568 -
trunk/GSASIIpy3.py
r1183 r1236 39 39 return val 40 40 41 def FormatPadValue(val,maxdigits=None): 42 '''Format a float to fit in ``maxdigits[0]`` spaces with maxdigits[1] after decimal. 43 44 :param float val: number to be formatted. 45 46 :param list maxdigits: the number of digits & places after decimal to be used for display of the 47 number (defaults to [10,2]). 48 49 :returns: a string with exactly maxdigits[0] characters (except under error conditions), 50 but last character will always be a space 51 ''' 52 if maxdigits is None: 53 digits = [10,2] 54 else: 55 digits = maxdigits 56 fmt = '{:'+str(digits[0])+'}' 57 s = fmt.format(FormatValue(val,digits)) 58 if s[-1] == ' ': 59 return s 60 else: 61 return s+' ' 62 63 41 64 def FormatValue(val,maxdigits=None): 42 65 '''Format a float to fit in ``maxdigits[0]`` spaces with maxdigits[1] after decimal. … … 47 70 number (defaults to [10,2]). 48 71 49 :returns: a string with <= maxdigits characters ( I hope).72 :returns: a string with <= maxdigits characters (usually). 50 73 ''' 51 74 if maxdigits is None: … … 78 101 fmt = "{" + (":{:d}.{:d}g".format(digits[0],decimals))+"}" 79 102 try: 80 return fmt.format( val).strip()103 return fmt.format(float(val)).strip() 81 104 except ValueError as err: 82 105 print 'FormatValue Error with val,maxdigits,fmt=',val,maxdigits,fmt … … 125 148 if decimals == 0: fmt += "." # force a decimal place 126 149 try: 127 return fmt.format( val).strip()150 return fmt.format(float(val)).strip() 128 151 except ValueError as err: 129 152 print 'FormatValue Error with val,maxdigits, sigfigs, fmt=',val, maxdigits,sigfigs, fmt -
trunk/exports/G2export_csv.py
r1191 r1236 21 21 GSASIIpath.SetVersionNumber("$Revision$") 22 22 import GSASIIIO as G2IO 23 #import GSASIIgrid as G2gd 24 #import GSASIIstrIO as G2stIO 23 import GSASIIpy3 as G2py3 24 import GSASIIobj as G2obj 25 25 import GSASIImath as G2mth 26 #import GSASIIlattice as G2lat27 #import GSASIIspc as G2spc28 #import GSASIIphsGUI as G2pg29 #import GSASIIstrMain as G2stMn30 26 31 27 def WriteList(obj,headerItems): … … 128 124 ) 129 125 self.exporttype = ['powder'] 130 self.multiple = False # only allow one histogram to be selected 126 #self.multiple = False # only allow one histogram to be selected 127 self.multiple = True 131 128 132 129 def Exporter(self,event=None): … … 138 135 self.loadTree() 139 136 if self.ExportSelect( # set export parameters 140 AskFile=False # use the default file name 141 ): return 142 self.OpenFile() 143 hist = self.histnam[0] # there should only be one histogram, in any case take the 1st 144 histblk = self.Histograms[hist] 145 WriteList(self,("x","y_obs","weight","y_calc","y_bkg")) 146 fmt = 2*"{:.3f}," + "{:.5f}," + 2*"{:.3f}," 147 for x,yobs,yw,ycalc,ybkg,obsmcalc in zip(histblk['Data'][0], 148 histblk['Data'][1], 149 histblk['Data'][2], 150 histblk['Data'][3], 151 histblk['Data'][4], 152 histblk['Data'][5], 153 ): 154 self.Write(fmt.format(x,yobs,yw,ycalc,ybkg)) 155 self.CloseFile() 156 print(str(hist)+' written to file '+str(self.filename)) 137 AskFile=False # use the default file name, which is ignored 138 ): return 139 filenamelist = [] 140 for hist in self.histnam: 141 fileroot = G2obj.MakeUniqueLabel(self.MakePWDRfilename(hist),filenamelist) 142 self.filename = fileroot + self.extension 143 self.OpenFile() 144 histblk = self.Histograms[hist] 145 WriteList(self,("x","y_obs","weight","y_calc","y_bkg")) 146 digitList = 2*((13,3),) + ((13,5),) + 2*((13,3),) 147 for vallist in zip(histblk['Data'][0], 148 histblk['Data'][1], 149 histblk['Data'][2], 150 histblk['Data'][3], 151 histblk['Data'][4], 152 #histblk['Data'][5], 153 ): 154 line = "" 155 for val,digits in zip(vallist,digitList): 156 if line: line += ',' 157 line += G2py3.FormatValue(val,digits) 158 self.Write(line) 159 self.CloseFile() 160 print('Histogram '+str(hist)+' written to file '+str(self.filename)) 157 161 158 162 class ExportPowderReflCSV(G2IO.ExportBaseclass): -
trunk/exports/G2export_examples.py
r1127 r1236 24 24 GSASIIpath.SetVersionNumber("$Revision$") 25 25 import GSASIIIO as G2IO 26 import GSASIIpy3 as G2py3 26 27 #import GSASIIgrid as G2gd 27 28 #import GSASIIstrIO as G2stIO … … 145 146 hist = self.histnam[0] # there should only be one histogram, in any case take the 1st 146 147 histblk = self.Histograms[hist] 147 fmt = 2*"{:12.3f} " + "{:12.5f} " + 2*"{:12.3f} " 148 hfmt = 5*"{:>12s} " 148 hfmt = 5*"{:12s} " 149 digitList = 2*((13,3),) + ((13,5),) + 2*((13,3),) 150 149 151 self.Write(hfmt.format("x","y_obs","weight","y_calc","y_bkg")) 150 for x,yobs,yw,ycalc,ybkg,obsmcalc in zip(histblk['Data'][0], 151 histblk['Data'][1], 152 histblk['Data'][2], 153 histblk['Data'][3], 154 histblk['Data'][4], 155 histblk['Data'][5], 156 ): 157 self.Write(fmt.format(x,yobs,yw,ycalc,ybkg)) 158 self.CloseFile() 159 print(str(hist)+' written to file '+str(self.filename)) 152 for vallist in zip(histblk['Data'][0], 153 histblk['Data'][1], 154 histblk['Data'][2], 155 histblk['Data'][3], 156 histblk['Data'][4], 157 #histblk['Data'][5], 158 ): 159 strg = '' 160 for val,digits in zip(vallist,digitList): 161 strg += G2py3.FormatPadValue(val,digits) 162 self.Write(strg) 163 self.CloseFile() 164 print(str(hist)+' written to file '+str(self.filename)) 165 160 166 class ExportPowderReflText(G2IO.ExportBaseclass): 161 167 '''Used to create a text file of reflections from a powder data set -
trunk/sphinxdocs/source/exports.rst
r1123 r1236 38 38 :members: 39 39 :synopsis: Export a project in CIF format 40 41 .. automodule:: G2export_pwdr 42 :members: 43 :synopsis: Export powder data in GSAS and Topas formats
Note: See TracChangeset
for help on using the changeset viewer.