def __init__(self, files): mydata = {} self.counts = {} self.ei = {} self.ef = {} self.timestamp = {} for key, myfilestr in files.iteritems(): mydatareader = readncnr.datareader() mydata[key] = mydatareader.readbuffer(myfilestr) self.counts[key] = N.array(mydata[key].data["Detector"]) self.timestamp[key] = N.array(mydata[key].data["timestamp"]) # TODO currently, we assume that the files are taken at the same points--is this safe? self.length = self.counts[key].shape[0] a2 = N.array(mydata[key].data["A2"]) a6 = N.array(mydata[key].data["A5"]) * 2.0 # TODO who's bright idea was it to have A6 listed as "IN" # TODO we also assume that the energies will be the same!!! dmono = mydata[key].header["dmono"] dana = mydata[key].header["dana"] # print a6 self.ei = calc_energy(a2, dmono) self.ef = calc_energy(a6, dana) # print self.length # print mydata[key].data.keys() return
def read_order_files(mydirectory,myfilebase,myend): myfilebaseglob=myfilebase+'*.'+myend print myfilebaseglob flist = SU.ffind(mydirectory, shellglobs=(myfilebaseglob,)) #SU.printr(flist) mydatareader=readncnr.datareader() temp=N.array([]) I=N.array([]) Ierr=N.array([]) count=0 mon0=5.0e4 for currfile in flist: print currfile mydata=mydatareader.readbuffer(currfile) if count==0: #mon0=mydata.header['count_info']['monitor'] mon0=5.0e4 mon=mydata.header['count_info']['monitor'] #print count, mon0,mon temp=N.concatenate((temp,N.array(mydata.data['temp']))) It=N.array(mydata.data['counts']) Iterr=N.sqrt(It) It=It*mon0/mon Iterr=Iterr*mon0/mon I=N.concatenate((I,It)) Ierr=N.concatenate((Ierr,Iterr)) #print I #print Iterr #xa,ya,za=prep_data2(Qx,Qy,Counts); count=count+1 return temp,I,Ierr
def __init__(self, files): mydata = {} self.counts = {} self.ei = {} self.ef = {} self.timestamp = {} for key, myfilestr in files.iteritems(): mydatareader = readncnr.datareader() mydata[key] = mydatareader.readbuffer(myfilestr) self.counts[key] = N.array(mydata[key].data['Detector']) self.timestamp[key] = N.array(mydata[key].data['timestamp']) #TODO currently, we assume that the files are taken at the same points--is this safe? self.length = self.counts[key].shape[0] a2 = N.array(mydata[key].data['A2']) a6 = N.array(mydata[key].data['A5']) * 2.0 #TODO who's bright idea was it to have A6 listed as "IN" #TODO we also assume that the energies will be the same!!! dmono = mydata[key].header['dmono'] dana = mydata[key].header['dana'] #print a6 self.ei = calc_energy(a2, dmono) self.ef = calc_energy(a6, dana) #print self.length #print mydata[key].data.keys() return
def read_order_files(mydirectory, myfilebase, myend): myfilebaseglob = myfilebase + '*.' + myend print myfilebaseglob flist = SU.ffind(mydirectory, shellglobs=(myfilebaseglob, )) #SU.printr(flist) mydatareader = readncnr.datareader() temp = N.array([]) I = N.array([]) Ierr = N.array([]) count = 0 mon0 = 5.0e4 for currfile in flist: print currfile mydata = mydatareader.readbuffer(currfile) if count == 0: #mon0=mydata.header['count_info']['monitor'] mon0 = 5.0e4 mon = mydata.header['count_info']['monitor'] #print count, mon0,mon temp = N.concatenate((temp, N.array(mydata.data['temp']))) It = N.array(mydata.data['counts']) Iterr = N.sqrt(It) It = It * mon0 / mon Iterr = Iterr * mon0 / mon I = N.concatenate((I, It)) Ierr = N.concatenate((Ierr, Iterr)) #print I #print Iterr #xa,ya,za=prep_data2(Qx,Qy,Counts); count = count + 1 return temp, I, Ierr
def readmeshfiles_direct(mydirectory,myfilebase,myend): myfilebaseglob=myfilebase+'*.'+myend print myfilebaseglob flist = SU.ffind(mydirectory, shellglobs=(myfilebaseglob,)) #SU.printr(flist) mydatareader=readncnr.datareader() Qx=N.array([]) Qy=N.array([]) Qz=N.array([]) Counts=N.array([]) for currfile in flist: print currfile mydata=mydatareader.readbuffer(currfile) Qx=N.concatenate((Qx,N.array(mydata.data['Qx']))) Qy=N.concatenate((Qy,N.array(mydata.data['Qy']))) Qz=N.concatenate((Qz,N.array(mydata.data['Qz']))) Counts=N.concatenate((Counts,N.array(mydata.data['Detector']))) #xa,ya,za=prep_data2(Qx,Qy,Counts); return Qx,Qy,Counts
def readmeshfiles_direct(mydirectory, myfilebase, myend): myfilebaseglob = myfilebase + '*.' + myend print myfilebaseglob flist = SU.ffind(mydirectory, shellglobs=(myfilebaseglob, )) #SU.printr(flist) mydatareader = readncnr.datareader() Qx = N.array([]) Qy = N.array([]) Qz = N.array([]) Counts = N.array([]) for currfile in flist: print currfile mydata = mydatareader.readbuffer(currfile) Qx = N.concatenate((Qx, N.array(mydata.data['Qx']))) Qy = N.concatenate((Qy, N.array(mydata.data['Qy']))) Qz = N.concatenate((Qz, N.array(mydata.data['Qz']))) Counts = N.concatenate((Counts, N.array(mydata.data['Detector']))) #xa,ya,za=prep_data2(Qx,Qy,Counts); return Qx, Qy, Counts