if __name__ == "__main__": import sys inDets = file(sys.argv[1], "r") inTracks = file(sys.argv[2], "r") outPrefix = sys.argv[3] # read all dets, find images referenced therein. allObsHists = set() # also keep track of all the dias by ID. allDias = {} line = inDets.readline() while line != "": diaSourceId, obsHist, ssmId, ra, decl, mjd, mag, snr = line.split() diaSourceId, obsHist, ssmId = map(int, [diaSourceId, obsHist, ssmId]) ra, decl, mjd, mag, snr = map(float, [ra, decl, mjd, mag, snr]) allDias[diaSourceId] = [diaSourceId, obsHist, ssmId, ra, decl, mjd, mag, snr] allObsHists.add(obsHist) line = inDets.readline() # fetch seeing, 5sigma_ps for those images (use DB). keep that # data for later. curs = mopsDatabases.getCursor() imageDict = getImageData(curs, allObsHists) # read through tracks file and do the real work writeOrbitServerInputFiles(inTracks, outPrefix, imageDict, allDias, MAX_TRACKLETS_PER_FILE, MAX_TRACKS_PER_FILE) print "done writing output files."
def appendSlashIfNeeded(dirName): if dirName[-1] != "/": dirName = dirName + "/" return dirName if __name__=="__main__": trackletsByObsHistDir= appendSlashIfNeeded(sys.argv[1]) diasByObsHistDir= appendSlashIfNeeded(sys.argv[2]) # place to put .miti files for input to c linkTracklets outputLinkTrackletsInfilesDir=appendSlashIfNeeded(sys.argv[3]) trackingWindowDays = int(sys.argv[4]) print "Expect dias (grouped by image) in directory: ", diasByObsHistDir print "Expect tracklets (grouped by image) in directory: ", trackletsByObsHistDir print "Writing linkTracklets infiles to ", outputLinkTrackletsInfilesDir print "Reading image info from: ", mopsDatabases.OPSIM_DB , ".", mopsDatabases.OPSIM_TABLE print "Number of days in tracking window: ", trackingWindowDays sys.stdout.flush() dbcurs = mopsDatabases.getCursor(useSSCursor=False) makeLinkTrackletsInfiles(dbcurs, trackletsByObsHistDir, diasByObsHistDir, outputLinkTrackletsInfilesDir, trackingWindowDays) print "DONE."
def writeTrackDias(trackId, diasData, outf): for dia in diasData: trackString = "" trackString += str(trackId) + " " for datum in dia: trackString += str(datum) + " " outf.write(trackString + "\n") def tracksToLynneFormat(inf, outf, cursor): line = inf.readline() count = 0 writeHeader(outf) while line != "": diaIds = map(int, line.split()) diasData = getDiaInfo(diaIds, cursor) writeTrackDias(count, diasData, outf) count += 1 if count % 1000 == 0: print "Written ", count, " tracks so far." line = inf.readline() if __name__ == "__main__": inf = file(sys.argv[1], 'r') outf = file(sys.argv[2], 'w') curs = mopsDatabases.getCursor() tracksToLynneFormat(inf, outf, curs)
sys.stdout.flush() def appendSlashIfNeeded(dirName): if dirName[-1] != "/": dirName = dirName + "/" return dirName if __name__ == "__main__": trackletsByObsHistDir = appendSlashIfNeeded(sys.argv[1]) diasByObsHistDir = appendSlashIfNeeded(sys.argv[2]) # place to put .miti files for input to c linkTracklets outputLinkTrackletsInfilesDir = appendSlashIfNeeded(sys.argv[3]) trackingWindowDays = int(sys.argv[4]) print "Expect dias (grouped by image) in directory: ", diasByObsHistDir print "Expect tracklets (grouped by image) in directory: ", trackletsByObsHistDir print "Writing linkTracklets infiles to ", outputLinkTrackletsInfilesDir print "Reading image info from: ", mopsDatabases.OPSIM_DB, ".", mopsDatabases.OPSIM_TABLE print "Number of days in tracking window: ", trackingWindowDays sys.stdout.flush() dbcurs = mopsDatabases.getCursor(useSSCursor=False) makeLinkTrackletsInfiles(dbcurs, trackletsByObsHistDir, diasByObsHistDir, outputLinkTrackletsInfilesDir, trackingWindowDays) print "DONE."