class_docstr: Display an embedding gui for interaction and selection.
  In addition show the number of landmarks selected and give the
  user the chance to start a new analysis
class_docstr_tok: ["Display","an","embedding","gui","for","interaction","and","selection",".","In","addition","show","the","number","of","landmarks","selected","and","give","the","user","the","chance","to","start","a","new","analysis"]
code: def __init__(self, parent=None):
      super(QtWidgets.QWidget, self).__init__(parent)
      self.main_layout = QtWidgets.QVBoxLayout(self)
      self.plot_widget = EmbeddingGui()
      self.main_layout.addWidget(self.plot_widget)
      self.control_layout = QtWidgets.QHBoxLayout(self)
      self.landmarks_label = QtWidgets.QLabel("Landmarks selected: 0")
      self.control_layout.addWidget(self.landmarks_label)
      self.new_analysis_button = QtWidgets.QPushButton("New Analysis")
      self.new_analysis_button.clicked.connect(self.on_new_analysis)
      self.control_layout.addWidget(self.new_analysis_button)
      self.main_layout.addLayout(self.control_layout)
      self.main_layout.setStretch(0, 1)
      self.setLayout(self.main_layout)
      self.selection_list = []
      self.on_selection_callback = None
  
imports: import io
  from enum import Enum
  import numpy
  import matplotlib.pyplot
  import matplotlib.style
  from matplotlib.widgets import RectangleSelector, LassoSelector, EllipseSelector, PolygonSelector
  from matplotlib.path import Path
  from matplotlib.backends.backend_qt5agg import FigureCanvas
  from matplotlib.figure import Figure
  from PyQt5 import QtWidgets, QtCore
  from cursors import DrawingCursors, DrawingShape, DrawingMode
label_desc: Use image node_id 1 to create a new EmbeddingViewer object from inherited base classes: QtWidgets with example: obj = EmbeddingViewer(parent)