Example #1
0
	def _matchWithFeature(self, c, v, coder_feature, window=1000):
		cls   = BatchIVA
		batch = Batch()

		name = "+".join( [c, v] )
		filename = os.path.join( cls.feedback_folder, "feedback/"+name+".txt" )
		if not os.path.exists(filename):
			print filename, "not exists"
			return

		feedback = []
		videoLen = batch._processFeedbackFile(filename, feedback)

		if c not in cls.coder_backchannel_num:
			cls.coder_backchannel_num[c] = len(feedback)
		else:
			cls.coder_backchannel_num[c] = cls.coder_backchannel_num[c] + len(feedback)

		try:
			for feature_name in cls.video_info_buffer[v].iterkeys():
				feature_values = cls.video_info_buffer[v][feature_name]
				for feature_value in feature_values:
					for f in feedback:
						if feature_value[0] <= f and f <= feature_value[1]+window:
							if feature_name in coder_feature:
								coder_feature[feature_name] = coder_feature[feature_name]+1
							else:
								coder_feature[feature_name] = 1
		except Exception, exception:
			print exception
Example #2
0
	def aggregate(self, video, aggregated):
		cls = BatchIVA

		batch = Batch()

		ts_set = []
		coder_dat_buf = dict()
		coder_dat_len = dict()
		videoL = 999999999999L

		for c in cls.coder_set:
			name = "+".join([c, video])
			filename = os.path.join(cls.feedback_folder, "feedback/"+name+".txt")
			if not os.path.exists(filename):
				print filename, "not exists"
				continue
			feedback = []
			videoLen = batch._processFeedbackFile( filename, feedback )
			coder_dat_buf[name] = feedback
			coder_dat_len[name] = videoLen
			
			if videoLen < videoL: videoL = videoLen
		
		try:
			for k in coder_dat_buf.iterkeys():
				v = coder_dat_buf[k]
				if len(v) == 0:
					pass
				elif coder_dat_len[k] > videoL + 1500:
					print coder_dat_len[k], ";", videoL, " [aggregate] ", video, k, " is outlier"
				else:
					ts_set.append(v)
		except Exception, exception:
			raise exception
Example #3
0
	def _matchWithFeature(self, coderId, videoId, coder_feature, video_feature, window=1000):
		try:
			cls = DiveFeature

			feedback = []
			
			name = "+".join( [coderId, videoId] )
			filename = os.path.join( cls.data_root, "feedback/" + name + ".txt" )

			batch = Batch()
			videoLen = batch._processFeedbackFile(filename, feedback)

			try:
				for feature_name in cls.video_info_buffer[videoId].iterkeys():
					feature_values = cls.video_info_buffer[videoId][feature_name]
					
					for feature_value in feature_values:
						for f in feedback:
							if feature_value[0] <= f and f <= feature_value[1]+window:
								if feature_name in video_feature:
									video_feature[feature_name] = video_feature[feature_name] + 1
								else:
									video_feature[feature_name] = 1
								if feature_name in coder_feature:
									coder_feature[feature_name] = coder_feature[feature_name] + 1
								else:
									coder_feature[feature_name] = 1	
			except Exception, exception:
				print exception

		except Exception, exception:
			print "_matchWithFeature => ", exception