class_docstr: The containing dialog and controller for the embedding
  and the image viewer that together make up an analysis
  (i.e. a user selection at an hSNE scale). It also
  iterates over the embedding once the analysis is created
  and this is dynamically displayed in the embedding gui.
docstr: Make sure that closing the dialog cleans up the analysis
docstr_tok: ["Make","sure","that","closing","the","dialog","cleans","up","the","analysis"]
code: def closeEvent(self, event):  # pylint: disable=invalid-name
      """Make sure that closing the dialog cleans up the analysis"""
      self.cleanup(True)
      event.accept()
  
imports: import time
  import numpy
  from PyQt5 import QtWidgets
  from EmbeddingGui import EmbeddingViewer
  from ModelGui import DemoType
  from CompositeImageViewer import CompositeImageViewer
  from HyperspectralImageViewer import HyperspectralImageViewer
  from MetaDataViewer import MetaDataViewer
label_desc: Use image node_id 15 for calling the AnalysisController obj's underlying member method code with example usage: obj.closeEvent(event) without return types