comparison scripts/merge-features.py @ 837:e01cabca4c55

minor modifications to merge-features
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 06 Jul 2016 10:58:18 -0400
parents 7058a40a4bbc
children 75530d8c0090
comparison
equal deleted inserted replaced
836:7058a40a4bbc 837:e01cabca4c55
6 from datetime import datetime, timedelta 6 from datetime import datetime, timedelta
7 7
8 parser = argparse.ArgumentParser(description='The program merges feature trajectories recorded from the same site synchronously between start and end time.') 8 parser = argparse.ArgumentParser(description='The program merges feature trajectories recorded from the same site synchronously between start and end time.')
9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True) 9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True)
10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True) 10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True)
11 parser.add_argument('--start', dest = 'startTime', help = 'time to start merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') # if not provided, take common time interval 11 parser.add_argument('-f', dest = 'startTime', help = 'time to start merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') # if not provided, take common time interval
12 parser.add_argument('--end', dest = 'endTime', help = 'time to stop merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)') 12 parser.add_argument('-l', dest = 'endTime', help = 'time to stop merging features (format %Y-%m-%d %H:%M:%S, eg 2011-06-22 10:00:39)')
13 parser.add_argument('-o', dest = 'outputDBFilename', help = 'name of the output SQLite file', required = True) 13 parser.add_argument('-o', dest = 'outputDBFilename', help = 'name of the output SQLite file', required = True)
14 14
15 args = parser.parse_args() 15 args = parser.parse_args()
16 16
17 session = createDatabase(args.metadataFilename) 17 session = createDatabase(args.metadataFilename)
73 print cv.idx, cv.description 73 print cv.idx, cv.description
74 for videoSequence in vs: 74 for videoSequence in vs:
75 try: 75 try:
76 vsConnection = sqlite3.connect(dirname+os.path.sep+videoSequence.getDatabaseFilename()) 76 vsConnection = sqlite3.connect(dirname+os.path.sep+videoSequence.getDatabaseFilename())
77 vsCursor = vsConnection.cursor() 77 vsCursor = vsConnection.cursor()
78 if commonTimeInterval.first < videoSequence.startTime: 78 firstFrameNum = utils.deltaFrames(videoSequence.startTime, commonTimeInterval.first, frameRate)
79 firstFrameNum = -(videoSequence.startTime-commonTimeInterval.first).seconds*frameRate
80 else:
81 firstFrameNum = (commonTimeInterval.first-videoSequence.startTime).seconds*frameRate
82 lastFrameNum = (commonTimeInterval.last-videoSequence.startTime).seconds*frameRate 79 lastFrameNum = (commonTimeInterval.last-videoSequence.startTime).seconds*frameRate
83 # positions table 80 # positions table
84 vsCursor.execute('SELECT * FROM positions WHERE frame_number BETWEEN {} AND {} ORDER BY trajectory_id'.format(firstFrameNum, lastFrameNum)) 81 vsCursor.execute('SELECT * FROM positions WHERE frame_number BETWEEN {} AND {} ORDER BY trajectory_id'.format(firstFrameNum, lastFrameNum))
85 featureIdCorrespondences = {} 82 featureIdCorrespondences = {}
86 currentTrajectoryId = -1 83 currentTrajectoryId = -1