Changeset 403 for trunk/GSASIIstruct.py
- Timestamp:
- Oct 27, 2011 4:34:28 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIstruct.py
r400 r403 109 109 return datus[1] 110 110 111 def GetHistograms(GPXfile,hNames): 112 """ Returns a dictionary of histograms found in GSASII gpx file 113 input: 114 GPXfile = .gpx full file name 115 hNames = list of histogram names 116 return: 117 Histograms = dictionary of histograms (types = PWDR & HKLF) 118 """ 119 file = open(GPXfile,'rb') 120 Histograms = {} 121 while True: 122 try: 123 data = cPickle.load(file) 124 except EOFError: 125 break 126 datum = data[0] 127 hist = datum[0] 128 if hist in hNames: 129 if 'PWDR' in hist[:4]: 130 PWDRdata = {} 131 PWDRdata['Data'] = datum[1][1] #powder data arrays 132 PWDRdata[data[2][0]] = data[2][1] #Limits 133 PWDRdata[data[3][0]] = data[3][1] #Background 134 PWDRdata[data[4][0]] = data[4][1] #Instrument parameters 135 PWDRdata[data[5][0]] = data[5][1] #Sample parameters 136 try: 137 PWDRdata[data[9][0]] = data[9][1] #Reflection lists might be missing 138 except IndexError: 139 PWDRdata['Reflection lists'] = {} 140 141 Histograms[hist] = PWDRdata 142 elif 'HKLF' in hist[:4]: 143 HKLFdata = [] 144 datum = data[0] 145 HKLFdata = datum[1:][0] 146 Histograms[hist] = HKLFdata 147 file.close() 148 return Histograms 149 111 150 def GetHistogramNames(GPXfile,hType): 112 151 """ Returns a list of histogram names found in GSASII gpx file … … 141 180 phaseNames = GetPhaseNames(GPXfile) 142 181 histoList = GetHistogramNames(GPXfile,['PWDR','HKLF']) 182 allHistograms = GetHistograms(GPXfile,histoList) 143 183 phaseData = {} 144 184 for name in phaseNames: … … 155 195 for hist in Phase['Histograms']: 156 196 if hist not in Histograms: 157 if 'PWDR' in hist[:4]: 158 Histograms[hist] = GetPWDRdata(GPXfile,hist) 159 elif 'HKLF' in hist[:4]: 160 Histograms[hist] = GetHKLFdata(GPXfile,hist) 197 Histograms[hist] = allHistograms[hist] 161 198 #future restraint, etc. histograms here 162 199 hId = histoList.index(hist)
Note: See TracChangeset
for help on using the changeset viewer.