code: def screenshot(self, filename=None, transparent_background=None,
                     return_img=None, window_size=None):
          
          if window_size is not None:
              self.window_size = window_size
  
          # configure image filter
          if transparent_background is None:
              transparent_background = rcParams['transparent_background']
          self.image_transparent_background = transparent_background
  
          # This if statement allows you to save screenshots of closed plotters
          # This is needed for the sphinx-gallery work
          if not hasattr(self, 'ren_win'):
              # If plotter has been closed...
              # check if last_image exists
              if hasattr(self, 'last_image'):
                  # Save last image
                  return self._save_image(self.last_image, filename, return_img)
              # Plotter hasn't been rendered or was improperly closed
              raise AttributeError('This plotter is unable to save a screenshot.')
  
          if isinstance(self, Plotter):
              # TODO: we need a consistent rendering function
              self.render()
          else:
              self._render()
  
          # debug: this needs to be called twice for some reason,
          img = self.image
          img = self.image
  
          return self._save_image(img, filename, return_img)
docs: Takes screenshot at current camera position
  
          Parameters
          ----------
          filename : str, optional
              Location to write image to.  If None, no image is written.
  
          transparent_background : bool, optional
              Makes the background transparent.  Default False.
  
          return_img : bool, optional
              If a string filename is given and this is true, a NumPy array of
              the image will be returned.
  
          Returns
          -------
          img :  numpy.ndarray
              Array containing pixel RGB and alpha.  Sized:
              [Window height x Window width x 3] for transparent_background=False
              [Window height x Window width x 4] for transparent_background=True
  
          Examples
          --------
          >>> import vtki
          >>> sphere = vtki.Sphere()
          >>> plotter = vtki.Plotter()
          >>> actor = plotter.add_mesh(sphere)
          >>> plotter.screenshot('screenshot.png') # doctest:+SKIP