예제 #1
0
파일: server.py 프로젝트: Jamesjue/vatic
def trackforward(id, frame, tracker, trackid, tracks):
    frame = int(frame)
    trackid = int(trackid)
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    paths = [path for path in readpaths(tracks) if path is not None]
    paths = trackutils.totrackpaths(paths)

    logger.info("Job Id: {0}".format(id))
    logger.info("Algorithm: {0}".format(tracker))

    start = frame
    stop = segment.stop
    
    outpath = tracking.api.online(tracker, start, stop, video.location, trackid, paths)
    path = trackutils.fromtrackpath(outpath, job, start, stop)
    attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]

    logger.info("Path: {0}".format(path))

    return {
        "label": 0,
        "boxes": [tuple(x) for x in path.getboxes()],
        "attributes": attrs
    }
예제 #2
0
파일: server.py 프로젝트: wesleyck/vatic
def trackbetweenframes(id, leftframe, rightframe, tracker, trackid, tracks):
    leftframe = int(leftframe)
    rightframe = int(rightframe)
    trackid = int(trackid)
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    paths = [path for path in readpaths(tracks) if path is not None]
    paths = trackutils.totrackpaths(paths)

    logger.info("Job Id: {0}".format(id))
    logger.info("Algorithm: {0}".format(tracker))

    outpath = tracking.api.bidirectional(tracker, leftframe, rightframe,
                                         video.location, trackid, paths)
    path = trackutils.fromtrackpath(outpath, job, leftframe, rightframe)
    attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]

    logger.info("Path: {0}".format(path))

    return {
        "label": 0,
        "boxes": [tuple(x) for x in path.getboxes()],
        "attributes": attrs
    }
예제 #3
0
파일: server.py 프로젝트: wesleyck/vatic
def trackforward(id, frame, tracker, trackid, tracks):
    frame = int(frame)
    trackid = int(trackid)
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    paths = [path for path in readpaths(tracks) if path is not None]
    paths = trackutils.totrackpaths(paths)

    logger.info("Job Id: {0}".format(id))
    logger.info("Algorithm: {0}".format(tracker))

    start = frame
    stop = segment.stop

    outpath = tracking.api.online(tracker, start, stop, video.location,
                                  trackid, paths)
    path = trackutils.fromtrackpath(outpath, job, start, stop)
    attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]

    logger.info("Path: {0}".format(path))

    return {
        "label": 0,
        "boxes": [tuple(x) for x in path.getboxes()],
        "attributes": attrs
    }
예제 #4
0
파일: server.py 프로젝트: jrabary/vatic
def getboxesforjob(id):
    job = session.query(Job).get(id)
    result = []
    for path in job.paths:
        attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]
        result.append({"label": path.labelid,
                       "boxes": [tuple(x) for x in path.getboxes()],
                       "attributes": attrs})
    return result
예제 #5
0
def getboxesforjob(id):
    job = session.query(Job).get(id)
    result = []
    for path in job.paths:
        attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]
        result.append({"label": path.labelid,
                       "boxes": [tuple(x) for x in path.getboxes()],
                       "attributes": attrs})
    return result
예제 #6
0
파일: server.py 프로젝트: Jamesjue/vatic
def trackfull(id, tracker):
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    tracks = tracking.runfulltracker(tracker, segment.start, segment.stop, video.location)
    allpaths = [convert_track_to_path(segment.start, track, job) for track in tracks]
    allattrs = [[(x.attributeid, x.frame, x.value) for x in path.attributes] for path in allpaths]
    return [{
        "label": 0,
        "boxes":[tuple(x) for x in path.getboxes()],
        "attributes":attrs,
    } for path, attrs in zip(allpaths, allattrs)]
예제 #7
0
파일: server.py 프로젝트: wesleyck/vatic
def trackfull(id, tracker):
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    tracks = tracking.runfulltracker(tracker, segment.start, segment.stop,
                                     video.location)
    allpaths = [
        convert_track_to_path(segment.start, track, job) for track in tracks
    ]
    allattrs = [[(x.attributeid, x.frame, x.value) for x in path.attributes]
                for path in allpaths]
    return [{
        "label": 0,
        "boxes": [tuple(x) for x in path.getboxes()],
        "attributes": attrs,
    } for path, attrs in zip(allpaths, allattrs)]
예제 #8
0
파일: server.py 프로젝트: Jamesjue/vatic
def trackbetweenframes(id, leftframe, rightframe, tracker, trackid, tracks):
    leftframe = int(leftframe)
    rightframe = int(rightframe)
    trackid = int(trackid)
    job = session.query(Job).get(id)
    segment = job.segment
    video = segment.video
    paths = [path for path in readpaths(tracks) if path is not None]
    paths = trackutils.totrackpaths(paths)

    logger.info("Job Id: {0}".format(id))
    logger.info("Algorithm: {0}".format(tracker))
    
    outpath = tracking.api.bidirectional(tracker, leftframe, rightframe, video.location, trackid, paths)
    path = trackutils.fromtrackpath(outpath, job, leftframe, rightframe)
    attrs = [(x.attributeid, x.frame, x.value) for x in path.attributes]

    logger.info("Path: {0}".format(path))

    return {
        "label": 0,
        "boxes": [tuple(x) for x in path.getboxes()],
        "attributes": attrs
    }