class_docstr: The gui to start and manipulate the analysis model
class_docstr_tok: ["The","gui","to","start","and","manipulate","the","analysis","model"]
code: def __init__(self, analysis_event_queue, select, delete, load):
      super(ModelGui, self).__init__()
      self.analysis_event_queue = analysis_event_queue
      self.select_callback = select
      self.delete_callback = delete
      self.load_callback = load
  
      self.name = None
      self.label_name = None
      self.meta_name = None
      self.hsne_name = None
  
      self.title = "Analysis hierarchy viewer"
      self.left = 10
      self.top = 10
      self.width = 1000
      self.height = 400
      self.init_ui()
      self.id_item = {}
      self.root_id = None
  
imports: import sys
  import os
  import queue
  from pathlib import Path
  import math
  from enum import Enum
  import nptsne
  import numpy
  import PIL
  from PIL import ImageQt, Image
  from PyQt5.QtWidgets import QApplication, QTreeView, QWidget, QGridLayout, QDialog, QGroupBox, QFormLayout, QPushButton, QLabel, QSpinBox, QFileDialog, QAbstractItemView, QComboBox, QHBoxLayout, QVBoxLayout, QLineEdit, QHeaderView
  from PyQt5.QtCore import Qt, QTimer, QSize, pyqtSlot
  from PyQt5.QtGui import QIcon, QStandardItemModel, QStandardItem, QPixmap, QIntValidator
  from DemoConfig import CONFIGS
label_desc: Use image node_id 1 to create a new ModelGui object from inherited base classes: QDialog with example: obj = ModelGui(analysis_event_queue, select, delete, load)