class_docstr: This is the matplotlib based GUI for a single analysis
  It assumes the analysis is simple image data (this could be abstracted)
class_docstr_tok: ["This","is","the","matplotlib","based","GUI","for","a","single","analysis","It","assumes","the","analysis","is","simple","image","data","(","this","could","be","abstracted",")"]
docstr: View a composite image based
  on a subselection of the data
docstr_tok: ["View","a","composite","image","based","on","a","subselection","of","the","data"]
code: def __init__(self, width=2, height=2):
      """View a composite image based
      on a subselection of the data
      """
  
      self.fig = Figure(figsize=(width, height))
      self.ix = self.fig.add_subplot(111)
      self.ix.set_xticks([])
      self.ix.set_yticks([])
      self.blend = 0.5
  
      # the data and background image
      self.data = None
      self.image_dimensions = None
      self.black_back = None
      self.background = None
      self.back_blend = None
      self.data = None
      self.alphas = None
      self.index = None
      self.display_img = None
  
      mplstyle.use("fast")
      super(HyperspectralImageCanvas, self).__init__(self.fig)
      self.fig.tight_layout(pad=0)
      plt.show(block=False)
  
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 1 to create a new HyperspectralImageCanvas object from inherited base classes: FigureCanvas with example: obj = HyperspectralImageCanvas(width, height)