Exemplo n.º 1
0
def getProperName(obj):
	cleansed = gb.cleanse(obj,toUpper=True)
	if cleansed.endswith("AUR"):
		useObj = string.replace(cleansed,"AUR","Aur")
	elif cleansed.endswith("TAU"):
		useObj = string.replace(cleansed,"TAU","Tau")
	elif cleansed.startswith("KOI"):
		useObj = "K"+gb.strPad(cleansed[3:],False,5,padChar="0",padSide="left")
	elif cleansed.startswith("K"): ### We assume these are all KOIs
		useObj = "K"+gb.strPad(cleansed[1:],False,5,padChar="0",padSide="left")
	elif cleansed.startswith("HATP"):
		useObj = "HAT-P-"+cleansed[4:len(cleansed)-1]+string.lower(cleansed[-1])
	elif cleansed.startswith("COROT"):
		useObj = "CoRoT-"+cleansed[5:len(cleansed)-1]+string.lower(cleansed[-1])
	elif cleansed.startswith("TRES"):
		useObj = "TrES-"+cleansed[4:len(cleansed)-1]+string.lower(cleansed[-1])
	elif cleansed.startswith("WASP"):
		useObj = "WASP-"+cleansed[4:len(cleansed)-1]+string.lower(cleansed[-1])
	elif cleansed.startswith("XO"):
		useObj = "XO-"+cleansed[2:len(cleansed)-1]+string.lower(cleansed[-1])
	elif cleansed.startswith("HD"):
		useObj = cleansed[:len(cleansed)-1]+string.lower(cleansed[-1])
	else:
		useObj = obj
	finalPass = string.replace(useObj,"--","-")
	return finalPass
Exemplo n.º 2
0
def getStuffFromHeader(fitsfile,keyword,verbose=False):
	hdulist = pyfits.open(fitsfile)
	hdulist.close()
	hdulist.verify('silentfix')
	ff = hdulist[0].header.ascardlist()
	bar = hdulist[0].header.keys()
	value = "NA"
	for nn,item in enumerate(ff):
		#print "\nxx",bar[nn]
		if str(bar[nn]).startswith(keyword):
			value=gb.cleanse(str(item).rstrip().split("=")[1], charList=["\'"," "])
	if verbose:
		print "Reading header of",fitsfile,keyword,value
	return value
Exemplo n.º 3
0
allFiles = os.listdir(nightPath)
print "\n Running through all ", len(allFiles), " files to find data..."

allObjDict = {}
allSkiesByExp = {}
allDarkDict = {}
allDarkTimes = []
allSkyDict = {}
nightAndFilterDict = {}
for ff in allFiles:
    ##### First check to make sure we don't include reduced fits files
    if (ff[-5:] == ".fits") & (ff[-7:] != ".d.fits") & (ff[-9:] != ".red.fits") & (ff[-9:] != ".sub.fits"):

        ##### A. Target data (all starts with 'q')
        if ff[0] == "q":
            exp = gb.cleanse(ao.getStuffFromHeader(nightPath + ff, "EXPTIME"))
            filt = gb.cleanse(string.replace(ao.getStuffFromHeader(nightPath + ff, "FILTER"), "band", ""))
            obj = aries.getProperName(ao.getStuffFromHeader(nightPath + ff, "OBJECT"))
            ## Create dictionary of objects by object, filter
            if (obj, filt) not in allObjDict.keys():
                # print "New object, filter:",obj, filt
                allObjDict[obj, filt] = [ff]
            else:
                allObjDict[obj, filt].append(ff)
                ## Finally, make list of all frames by filter for each night
            start = len(base) + 1
            end = start + 4
            num = int(ff[start:end])
            for nn in frameNumbers:
                if aries.framesForNights[nn][0] <= num <= aries.framesForNights[nn][1]:
                    if (nn, filt) not in nightAndFilterDict.keys():