comparison python/metadata.py @ 867:003445db1e30

forgot annotation mask filename
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 08 Dec 2016 18:00:53 -0500
parents 8fba46899e74
children c70adaeeddf5
comparison
equal deleted inserted replaced
866:8fba46899e74 867:003445db1e30
312 description = Column(String) # description 312 description = Column(String) # description
313 groundTruthFilename = Column(String) 313 groundTruthFilename = Column(String)
314 firstFrameNum = Column(Integer) # first frame num of annotated data (could be computed on less data) 314 firstFrameNum = Column(Integer) # first frame num of annotated data (could be computed on less data)
315 lastFrameNum = Column(Integer) 315 lastFrameNum = Column(Integer)
316 videoSequenceIdx = Column(Integer, ForeignKey('video_sequences.idx')) 316 videoSequenceIdx = Column(Integer, ForeignKey('video_sequences.idx'))
317 maskFilename = Column(String) # path to mask file (can be different from camera view, for annotations), relative to site name
317 undistorted = Column(Boolean) # indicates whether the annotations were done in undistorted video space 318 undistorted = Column(Boolean) # indicates whether the annotations were done in undistorted video space
318 319
319 videoSequence = relationship("VideoSequence", backref=backref('video_sequences', order_by = idx)) 320 videoSequence = relationship("VideoSequence", backref=backref('video_sequences', order_by = idx))
320 321
321 def __init__(self, description, groundTruthFilename, firstFrameNum, lastFrameNum, videoSequence, undistorted = True): 322 def __init__(self, description, groundTruthFilename, firstFrameNum, lastFrameNum, videoSequence, maskFilename, undistorted = True):
322 self.description = description 323 self.description = description
323 self.groundTruthFilename = groundTruthFilename 324 self.groundTruthFilename = groundTruthFilename
324 self.firstFrameNum = firstFrameNum 325 self.firstFrameNum = firstFrameNum
325 self.lastFrameNum = lastFrameNum 326 self.lastFrameNum = lastFrameNum
326 self.videoSequence = videoSequence 327 self.videoSequence = videoSequence
327 self.undistorted = undistorted 328 self.undistorted = undistorted
329 self.maskFilename = maskFilename
328 330
329 def getGroundTruthFilename(self, relativeToSiteFilename = True): 331 def getGroundTruthFilename(self, relativeToSiteFilename = True):
330 if relativeToSiteFilename: 332 if relativeToSiteFilename:
331 return path.join(self.videoSequence.cameraView.site.getPath(), self.groundTruthFilename) 333 return path.join(self.videoSequence.cameraView.site.getPath(), self.groundTruthFilename)
332 else: 334 else:
333 return self.groundTruthFilename 335 return self.groundTruthFilename
336
337 def getMaskFilename(self, relativeToSiteFilename = True):
338 if relativeToSiteFilename:
339 return path.join(self.videoSequence.cameraView.site.getPath(), self.maskFilename)
340 else:
341 return self.maskFilename
334 342
335 def getTimeInterval(self): 343 def getTimeInterval(self):
336 return TimeInterval(self.firstFrameNum, self.lastFrameNum) 344 return TimeInterval(self.firstFrameNum, self.lastFrameNum)
337 345
338 # add class for Analysis: foreign key VideoSequenceId, dataFilename, configFilename (get the one from camera view by default), mask? (no, can be referenced in the tracking cfg file) 346 # add class for Analysis: foreign key VideoSequenceId, dataFilename, configFilename (get the one from camera view by default), mask? (no, can be referenced in the tracking cfg file)