class_docstr: A dict of dicts to store analyses
  
  Parameters
  ----------
  top_analysis: :class:`Analysis`
      The Analysis at the highest scale level containing all landmarks
      
  Notes
  -----
  The outer dict represents the scales and
  the inner dicts at scale level are indexed by the unique
  self-generated Analysis ids.
class_docstr_tok: ["A","dict","of","dicts","to","store","analyses","Parameters","--","--","--","--","--","top_analysis",":",":","class",":","`","Analysis","`","The","Analysis","at","the","highest","scale","level","containing","all","landmarks","Notes","--","--","-","The","outer","dict","represents","the","scales","and","the","inner","dicts","at","scale","level","are","indexed","by","the","unique","self-generated","Analysis","ids","."]
code: def add_analysis(self, analysis):
      if self._container.get(analysis.scale_id, None) is None:
          self._container[analysis.scale_id] = {}
      self._container[analysis.scale_id][analysis.id] = analysis
      self._children[analysis.parent_id].add(analysis.id)
      self._children[analysis.id] = set()
      self._scale_index[analysis.id] = analysis.scale_id
  
file_path: nptsne/src/nptsne/hsne_analysis/analysis_model.py
imports: from ..libs._nptsne._hsne_analysis import EmbedderType, Analysis
  import numpy
label_desc: Use image node_id 3 for calling the AnalysisContainer obj's underlying member method code with example usage: obj.add_analysis(analysis) without return types