class HandGestureRecognizer(object):
	""" Class for converting video footage to a hand gesture 
	"""
	def __init__(self, videoFeed):
		""" 
		videoCapture: capture object returned from cv2.VideoCapture
		"""
		self._videoFeed = videoFeed
		self._calibrationController = CalibrationController(self._videoFeed)
		self._trackingController = TrackingController(self._videoFeed, [])
		self._neatoController = NeatoController()

	def calibrate(self):
		self._trackingController._calibrationColors = self._calibrationController.calibrateColors()
		print map(lambda x:list(x), self._trackingController._calibrationColors)

	def trackHand(self,calibrationColors=None):
		if calibrationColors != None:
			self._trackingController._calibrationColors = calibrationColors

		self._trackingController.on('up', self._neatoController.up)
		self._trackingController.on('left', self._neatoController.left)
		self._trackingController.on('right', self._neatoController.right)
		rospy.init_node('rospy_controller', anonymous=True)
		# r = rospy.Rate(10) # 10hz
		while not rospy.is_shutdown():
			self._trackingController._trackHand()