Ignore:
Timestamp:
Apr 30, 2015 4:34:19 PM (8 years ago)
Author:
vondreele
Message:

fix importers for HIPD & HIPPO data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/imports/G2pwd_fxye.py

    r1767 r1829  
    3030            longFormatName = 'GSAS powder data files (.fxye, .raw, .gsas...)'
    3131            )
    32         self.clockWd = None
     32        self.clockWd = {}
     33        self.TimeMap = {}
    3334
    3435    # Validate the contents -- look for a bank line
     
    103104            File.seek(Pos)
    104105            cons = Bank.split()
    105             if self.clockWd:
     106            if 'TIME_MAP' == cons[4]:
    106107                start = 0
    107108                step = 1
     
    115116            j = 0
    116117            while S and S[:4] != 'BANK' and S[0] != '#':
     118                if 'TIME_MAP' in S:
     119                    break
    117120                for i in range(0,80,16):
     121                    if S[i:i+8] == 8*' ':
     122                        break
    118123                    xi = start+step*j
    119124                    yi = sfloat(S[i:i+8])
     
    130135            N = len(x)
    131136            if self.clockWd:
    132                 x = Tmap2TOF(self.TimeMap,clockWd)
     137                x = Tmap2TOF(self.TimeMap[cons[5]],self.clockWd[cons[5]])
    133138            return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    134139       
     
    150155            while S and S[:4] != 'BANK' and S[0] != '#':
    151156                for i in range(0,80,8):
     157                    if S[i:i+10] == 10*' ':
     158                        break
    152159                    xi = start+step*j
    153160                    ni = max(sint(S[i:i+2]),1)
     
    170177            N = len(x)
    171178            if self.clockWd:
    172                 x = Tmap2TOF(self.TimeMap,self.clockWd)[:-2]
     179                x = Tmap2TOF(self.TimeMap[cons[5]],self.clockWd[cons[5]])
    173180            return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    174181           
     
    183190            while S and S[:4] != 'BANK' and S[0] != '#':
    184191                for i in range(0,80,20):
     192                    if S[i:i+8] == 9*' ':
     193                        break
    185194                    xi = sfloat(S[i:i+9])/3200.
    186195                    yi = sfloat(S[i+9:i+16])/1000.
     
    197206            N = len(x)
    198207            if self.clockWd:
    199                 x = Tmap2TOF(self.TimeMap,clockWd)
     208                x = Tmap2TOF(self.TimeMap[cons[5]],self.clockWd[cons[5]])
    200209            return [np.array(x),np.array(y),np.array(w),np.zeros(N),np.zeros(N),np.zeros(N)]
    201210           
     
    203212            File.seek(Pos)
    204213            cons = TimeMap[8:].split()
    205             mapNo = int(cons[0])
     214            mapNo = cons[0]
     215            if mapNo == '10': mapNo = '1'   #HIPD cluge!
    206216            Nch = int(cons[1])
    207217            Nrec = int(cons[2])
     
    221231            TMap = TMap.T
    222232            TMap[0] -= 1
    223             return TMap.T,clockWd
     233            return TMap.T,clockWd,mapNo
    224234           
    225235        def Tmap2TOF(TMap,clockWd):
     
    289299                        else:
    290300                            self.errors = 'Error reading time map after bank:\n  '+str(Banks[-1])
    291                         self.TimeMap,self.clockWd = GetTimeMap(filepointer,filepointer.tell(),S)
     301                        timemap,clockwd,mapNo = GetTimeMap(filepointer,filepointer.tell(),S)
     302                        self.TimeMap[mapNo] = timemap
     303                        self.clockWd[mapNo] = clockwd
     304                       
    292305            except Exception as detail:
    293306                self.errors += '\n  '+str(detail)
Note: See TracChangeset for help on using the changeset viewer.