code: def _current_state(self):
          
          ret = self._grab_raw_image()
          # max-pooled over the last screen
          ret = np.maximum(ret, self.last_raw_screen)
          if self.viz:
              if isinstance(self.viz, float):
                  cv2.imshow(self.windowname, ret)
                  cv2.waitKey(int(self.viz * 1000))
          ret = ret.astype('float32')
          # 0.299,0.587.0.114. same as rgb2y in torch/image
          ret = cv2.cvtColor(ret, cv2.COLOR_RGB2GRAY)[:, :]
          return ret.astype('uint8')
docs: :returns: a gray-scale (h, w) uint8 image