docstr: A full-size grayscale version of the frame
docstr_tok: ["A","full-size","grayscale","version","of","the","frame"]
code: def grayscale_frame(self):
      """A full-size grayscale version of the frame"""
  
      if "grayscale" not in self.frame_variants:
          self.frame_variants["grayscale"] = self._to_grayscale()
  
      return self.frame_variants["grayscale"]
  
imports: import skimage.color
  import skimage.measure
  import skimage.transform
  import skimage.filters
  import skimage.morphology
  import numpy
  import io
  from PIL import Image
label_desc: Use image node_id 7 for calling the GameFrame obj's underlying member method code with example usage: obj.grayscale_frame() and returns: self