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: The visible image index has changed
  
  Args:
      img_index (integer): The image index
docstr_tok: ["The","visible","image","index","has","changed","Args",":","img_index","(","integer",")",":","The","image","index"]
code: def on_image_changed(self, img_index):
      """The visible image index has changed
  
      Args:
          img_index (integer): The image index
      """
      self.image_widget.set_image_index(img_index)
  
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 3 for calling the HyperspectralImageViewer obj's underlying member method code with example usage: obj.on_image_changed(img_index) without return types