class_docstr: !
  @brief Performs analysis of output dynamic of the hysteresis oscillatory network to extract information about clusters or color allocation.
docstr: !
  @brief Returns list of color indexes that are assigned to each object from input data space accordingly.
  
  @param[in] tolerance (double): Tolerance level that define maximal difference between outputs of oscillators in one synchronous ensemble.
  @param[in] threshold_steps (uint): Number of steps from the end of simulation that should be analysed for ensemble allocation.
              If amount of simulation steps has been less than threshold steps than amount of steps will be reduced to amount
              of simulation steps.
  
  @remark Results can be obtained only after network simulation (graph processing by the network).
  
  @return (list) Color indexes that are assigned to each object from input data space accordingly.
  
  @see allocate_clusters()
docstr_tok: ["!","@","brief","Returns","list","of","color","indexes","that","are","assigned","to","each","object","from","input","data","space","accordingly",".","@","param","[","in","]","tolerance","(","double",")",":","Tolerance","level","that","define","maximal","difference","between","outputs","of","oscillators","in","one","synchronous","ensemble",".","@","param","[","in","]","threshold_steps","(","uint",")",":","Number","of","steps","from","the","end","of","simulation","that","should","be","analysed","for","ensemble","allocation",".","If","amount","of","simulation","steps","has","been","less","than","threshold","steps","than","amount","of","steps","will","be","reduced","to","amount","of","simulation","steps",".","@","remark","Results","can","be","obtained","only","after","network","simulation","(","graph","processing","by","the","network",")",".","@","return","(","list",")","Color","indexes","that","are","assigned","to","each","object","from","input","data","space","accordingly",".","@","see","allocate_clusters","(",")"]
code: def allocate_map_coloring(self, tolerance, threshold_steps=10):
      """!
      @brief Returns list of color indexes that are assigned to each object from input data space accordingly.
  
      @param[in] tolerance (double): Tolerance level that define maximal difference between outputs of oscillators in one synchronous ensemble.
      @param[in] threshold_steps (uint): Number of steps from the end of simulation that should be analysed for ensemble allocation.
                  If amount of simulation steps has been less than threshold steps than amount of steps will be reduced to amount
                  of simulation steps.
  
      @remark Results can be obtained only after network simulation (graph processing by the network).
  
      @return (list) Color indexes that are assigned to each object from input data space accordingly.
  
      @see allocate_clusters()
  
      """
      clusters = self.allocate_clusters(tolerance, threshold_steps)
  
      coloring_map = [0] * len(self._dynamic[0])
  
      for color_index in range(len(clusters)):
          for node_index in clusters[color_index]:
              coloring_map[node_index] = color_index
  
      return coloring_map
  
file_path: pyclustering/pyclustering/gcolor/hysteresis.py
imports: from pyclustering.nnet.hysteresis import hysteresis_network, hysteresis_dynamic
label_desc: Use image node_id 3 for calling the hysteresis_analyser obj's underlying member method code with example usage: obj.allocate_map_coloring(tolerance, threshold_steps) and returns: coloring_map