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)
Exemple #4
0
    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."