code: def show(self, frame):
          
          # check that the frame has the correct dimensions
          if len(frame.shape) != 3:
              raise ValueError('frame should have shape with only 3 dimensions')
          # open the window if it isn't open already
          if not self.is_open:
              self.open()
          # prepare the window for the next frame
          self._window.clear()
          self._window.switch_to()
          self._window.dispatch_events()
          # create an image data object
          image = ImageData(
              frame.shape[1],
              frame.shape[0],
              'RGB',
              frame.tobytes(),
              pitch=frame.shape[1]*-3
          )
          # send the image to the window
          image.blit(0, 0, width=self._window.width, height=self._window.height)
          self._window.flip()
docs: Show an array of pixels on the window.
  
          Args:
              frame (numpy.ndarray): the frame to show on the window
  
          Returns:
              None