class_docstr: BackgroundRenderer for visualizing a background image.
  
  Parameters
  ----------
  parent : Renderer
      The parent renderer for the background renderer.
  image_path : str
      Path to the image to use as a background.
  scale : float, default: 1
      Scaling factor for the background image.
  view_port : tuple[float], optional
      Viewport for the background renderer.
docstr: Initialize BackgroundRenderer with an image.
docstr_tok: ["Initialize","BackgroundRenderer","with","an","image","."]
code: def __init__(self, parent, image_path, scale=1, view_port=None):
      """Initialize BackgroundRenderer with an image."""
      # avoiding circular import
      from . import _vtk
  
      # read the image first as we don't need to create a render if
      # the image path is invalid
      image_data = pyvista.read(image_path)
  
      super().__init__(parent, border=False)
      self.SetLayer(0)
      self.InteractiveOff()
      self.SetBackground(self.parent.renderer.GetBackground())
      self._scale = scale
      self._modified_observer = None
      self._prior_window_size = None
      if view_port is not None:
          self.SetViewport(view_port)
  
      # create image actor
      image_actor = _vtk.vtkImageActor()
      image_actor.SetInputData(image_data)
      self.add_actor(image_actor, name="background")
      self.camera.enable_parallel_projection()
      self.reset_camera()  # necessary to get first render
      self.resize()
  
imports: import numpy
  import pyvista
  from .renderer import Renderer
label_desc: Use image node_id 1 to create a new BackgroundRenderer object from inherited base classes: Renderer with example: obj = BackgroundRenderer(parent, image_path, scale, view_port)