class_docstr: The control widget for setting the visible
  layer, and the background image.
class_docstr_tok: ["The","control","widget","for","setting","the","visible","layer",",","and","the","background","image","."]
docstr: Load a background image
          
docstr_tok: ["Load","a","background","image"]
code: def on_load_bkgrnd(self):
      """Load a background image"""
      workdir = os.path.dirname(os.path.abspath(__file__))
      result = QFileDialog.getOpenFileName(
          self,
          "A png background image the same size as the hyperspectral frame",
          workdir,
          "PNG files (*.png)",
      )
      if result[0]:
          self.bkgrnd_name = result[0]
          self.bkgrnd_label.setText(Path(self.bkgrnd_name).name)
          back_image = Image.open(self.bkgrnd_name)
          self.image_widget.set_background(back_image.convert("L"))
  
imports: import os
  from pathlib import Path
  import numpy
  import matplotlib.pyplot
  import matplotlib.style
  from matplotlib.backends.backend_qt5agg import FigureCanvas
  from matplotlib.figure import Figure
  from PyQt5.QtWidgets import QVBoxLayout, QWidget, QLabel, QSpinBox, QFormLayout, QPushButton, QFileDialog, QSlider
  from PyQt5.QtCore import pyqtSlot, Qt
  from PIL import Image
label_desc: Use image node_id 5 for calling the HyperspectralImageViewer obj's underlying member method code with example usage: obj.on_load_bkgrnd() without return types