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
Example #4
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()
Example #6
0
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