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: Get a timer for this canvas widget,
  can be used to drive the embedding process
docstr_tok: ["Get","a","timer","for","this","canvas","widget",",","can","be","used","to","drive","the","embedding","process"]
code: def get_canvas_timer(self, interval):
      """Get a timer for this canvas widget,
      can be used to drive the embedding process"""
      return self.fig.canvas.new_timer(interval)
  
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 2 for calling the EmbeddingGui obj's underlying member method code with example usage: obj.get_canvas_timer(interval) and returns: self