comparison python/ubc_utils.py @ 52:441c8387f34f

changed type detection to load trajectories
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 12 Oct 2010 18:24:11 -0400
parents 3aed17fc468d
children 0a5bdbf0d1b4
comparison
equal deleted inserted replaced
51:3aed17fc468d 52:441c8387f34f
10 'pedestrian', 10 'pedestrian',
11 'twowheels', 11 'twowheels',
12 'bus' 12 'bus'
13 'truck'] 13 'truck']
14 14
15 fileTypeNames = ['feature',
16 'object',
17 'prototype',
18 'contoursequence']
19
15 def getFileType(s): 20 def getFileType(s):
16 filePrefix = utils.removeExtension(s) 21 'Finds the type in fileTypeNames'
17 i = filePrefix.rfind('-') 22 for fileType in fileTypeNames:
18 if i>0: 23 if s.find(fileType)>0:
19 return filePrefix[i+1:] 24 return fileType
20 else: 25 return ''
21 return '' 26
27 def isFileType(s, fileType):
28 return (s.find(fileType)>0)
22 29
23 def saveTrajectoryUserTypes(inFilename, outFilename, objects): 30 def saveTrajectoryUserTypes(inFilename, outFilename, objects):
24 '''The program saves the objects, 31 '''The program saves the objects,
25 by just copying the corresponding trajectory and velocity data 32 by just copying the corresponding trajectory and velocity data
26 from the inFilename, and saving the characteristics in objects (first line) 33 from the inFilename, and saving the characteristics in objects (first line)
68 #add = True 75 #add = True
69 if len(lines) >= 3: 76 if len(lines) >= 3:
70 obj.positions = Trajectory.load(lines[1], lines[2]) 77 obj.positions = Trajectory.load(lines[1], lines[2])
71 if len(lines) >= 5: 78 if len(lines) >= 5:
72 obj.velocities = Trajectory.load(lines[3], lines[4]) 79 obj.velocities = Trajectory.load(lines[3], lines[4])
73 if objectType == 'objects': 80 if objectType == 'object':
74 obj.userType = parsedLine[3] 81 obj.userType = parsedLine[3]
75 obj.nObjects = float(l[4]) 82 obj.nObjects = float(l[4])
76 obj.featureNumbers = [int(n) for n in l[5:]] 83 obj.featureNumbers = [int(n) for n in l[5:]]
77 84
78 # load contour data if available 85 # load contour data if available
79 if len(lines) >= 6: 86 if len(lines) >= 6:
80 obj.contourType = utils.line2Floats(lines[6]) 87 obj.contourType = utils.line2Floats(lines[6])
81 obj.contourOrigins = Trajectory.load(lines[7], lines[8]) 88 obj.contourOrigins = Trajectory.load(lines[7], lines[8])
82 obj.contourSizes = Trajectory.load(lines[9], lines[10]) 89 obj.contourSizes = Trajectory.load(lines[9], lines[10])
83 elif objectType == 'prototypes': 90 elif objectType == 'prototype':
84 obj.userType = parsedLine[3] 91 obj.userType = parsedLine[3]
85 obj.nMatchings = int(l[4]) 92 obj.nMatchings = int(l[4])
86 93
87 if len(lines) != 2: 94 if len(lines) != 2:
88 objects.append(obj) 95 objects.append(obj)