def __init__(self, inarr, inangavg, inangavg_Q, filename, filetag="", normalize=False, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(run_tag)): self.inarr = N.array(inarr).mean(axis=0) self.inarr = self.inarr*(self.inarr>0) self.filename = filename if (filetag != ""): self.filetag = filetag[:] #this is necessary to pass filename by value and not by reference (which would change the input parameters outside of the class) for i in range(len(self.filetag)): self.filetag[i] += ": " else: self.filetag = ["" for i in inangavg] if normalize: self.angavgmax = N.zeros(len(inangavg)) for i in range(len(inangavg)): self.angavgmax[i] = inangavg[i].max() self.angavgmaxindex = self.angavgmax.argmax() self.inangavg = [] for i in range(len(inangavg)): self.inangavg.append(inangavg[i]*self.angavgmax[self.angavgmaxindex]/self.angavgmax[i]) else: self.inangavg = inangavg self.inangavgQ = inangavg_Q self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance global HIceQ global HIceQLabel global HIceP global colmax global colmin colmax = ((self.inarr<options.maxIntens)*self.inarr).max() colmin = 0
if (typeInStringPos == -1): foundTypeNumbers[i] = 0 else: foundTypeNumbers[i] = int(foundTypes[i][typeInStringPos+len("type")]) tcounter = 0 for cDir in foundTypes: os.chdir(cDir) updateTypes[tcounter] = int(input("Spline "+cDir+"/ (1 for yes, 0 for no)? ")) foundTypeFiles[tcounter] += G.glob("LCLS*angavg.h5") foundFiles += G.glob("LCLS*angavg.h5") os.chdir(originaldir) tcounter += 1 print "Found %d types (including type0) with %d sorted files." % (numTypes, len(foundFiles)) if (options.verbose): print "Detector at %lf mm away from the interaction region." % (eDD.get_detector_dist_in_meters(runtag)*1000) #Check if searchDir already exists and what angavg files it includes searchDir = ang_avg_dir + runtag if not os.path.exists(searchDir): print "There is no directory called %s. Aborting." % (searchDir) sys.exit(1) else: print "Now examining new H5 files in %s/ ..." % (searchDir) searchstring="LCLS+[a-zA-Z0-9\_]+"+runtag+"[a-z0-9\_]+-angavg.h5" h5pattern = re.compile(searchstring) h5files = [x for x in os.listdir(searchDir) if h5pattern.findall(x)] numFiles = len(h5files) print "Found %d new H5 files." % (numFiles) #Check that there are no duplicates in the presorted files
def __init__(self, inarr, inangavg, inangavgQ , filename, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(runtag)): self.inarr = inarr self.filename = filename self.inangavg = inangavg self.inangavgQ = inangavgQ self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance global colmax global colmin global storeFlag self.tag = 0
def __init__(self, inarr, inangavg , filename, currTag, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(runtag)): self.origarr = inarr.copy() self.inarr = inarr*(inarr>0) self.filename = filename self.inangavg = inangavg self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance self.HIceQ ={} global colmax global colmin global storeFlag self.tag = currTag
def __init__(self, inarr, inangavg, inangavg_Q, filename, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(run_tag)): self.origarr = inarr.copy() self.inarr = inarr*(inarr>0) self.filename = filename self.inangavg = inangavg self.inangavg_Q = inangavg_Q self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance global HIceQ global HIceQLabel global HIceP global colmax global colmin colmax = ((self.inarr<options.maxIntens)*self.inarr).max() colmin = self.inarr.min()
else: write_anomaly_dir = write_dir originaldir=os.getcwd() foundTypes=[write_dir] anomalousTypes=G.glob(write_anomaly_dir+"type[1-9]") if (len(anomalousTypes)>0): foundTypes+=anomalousTypes numTypes=len(foundTypes) for cDir in foundTypes: os.chdir(cDir) foundFiles+=G.glob("LCLS*angavg.h5") os.chdir(originaldir) print "Found %d types (including type0) with %d files" % (numTypes, len(foundFiles)) if(options.verbose): print "detector at distance: %lf" % eDD.get_detector_dist_in_meters(runtag) #Always check the angavg files in searchDir. searchDir = ang_avg_dir + runtag print "Now examining H5 files in %s/ ..."%(searchDir) searchstring="[a-zA-Z0-9\_]+"+runtag+"[a-z0-9\_]+-angavg.h5" h5pattern = re.compile(searchstring) h5files = [x for x in os.listdir(searchDir) if h5pattern.findall(x)] numFiles = len(h5files) #Check if file sorting has already been done. if(os.path.exists(canonicalOrderedHitsFN) and os.path.exists(canonicalOrderedIntensInHitsFN)): print "Found sorted filenames and intens lists." f = open(canonicalOrderedHitsFN, 'r') orderedH5Files = N.array(f.read().split()) f.close()
def __init__(self, inarr, inangavg , filename, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(runtag)): self.inarr = inarr*(inarr>0) #cxi74613: invert X-axis to follow CXI-convention for i in range(len(inarr)): self.inarr[i] = self.inarr[i][::-1] self.filename = filename self.inangavg = inangavg self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance self.HIceQ ={} global colmax global colmin global storeFlag self.tag = 0
def __init__(self, inarr, inangavg , filename, meanWaveLengthInAngs=eDD.nominalWavelengthInAngs, detectorDistance=eDD.get_detector_dist_in_meters(runtag)): self.origarr = inarr.copy() self.inarr = inarr self.filename = filename self.inangavg = inangavg self.wavelength = meanWaveLengthInAngs self.detectorDistance = detectorDistance self.HIceQ ={} global colmax global colmin global storeFlag colmax = ((self.inarr<options.maxIntens)*self.inarr).max() colmin = 0