class_docstr: !
  @brief Class represents segmentation algorithm syncsegm. 
  @details syncsegm is a bio-inspired algorithm that is based on double-layer oscillatory network that uses modified Kuramoto model.
           Algorithm extracts colors and colored objects. It uses only CCORE (C++ implementation of pyclustering) parts to implement the algorithm.
  
           CCORE option is True by default to use sync network in the pyclustering core - C/C++ shared library for processing that significantly increases performance.
  
  Example:
  @code
      # create oscillatory for image segmentaion - extract colors (radius 128) and objects (radius 4), 
      # and ignore noise (segments with size that is less than 10 pixels)
      algorithm = syncsegm(128, 4, 10);
      
      # extract segments (colors and objects)
      analyser = algorithm(path_to_file);
      
      # obtain segmentation results (only colors - from the first layer)
      color_segments = analyser.allocate_colors(0.01, 10);
      draw_image_mask_segments(path_to_file, color_segments);
      
      # obtain segmentation results (objects - from the second layer)
      object_segments = analyser.allocate_objects(0.01, 10);
      draw_image_mask_segments(path_to_file, object_segments);
  @endcode
docstr: !
  @brief Performs object segmentation of separate segment.
  
  @param[in] image_size (list): Image size presented as a [width x height].
  @param[in] color_segment (list): Image segment that should be processed.
  @param[in] collect_dynamic (bool): If 'True' then whole dynamic of the second layer of the network is collected.
  
  @return (syncnet_analyser) Analyser of object segmentation results of the second layer.
docstr_tok: ["!","@","brief","Performs","object","segmentation","of","separate","segment",".","@","param","[","in","]","image_size","(","list",")",":","Image","size","presented","as","a","[","width","x","height","]",".","@","param","[","in","]","color_segment","(","list",")",":","Image","segment","that","should","be","processed",".","@","param","[","in","]","collect_dynamic","(","bool",")",":","If","'True","'","then","whole","dynamic","of","the","second","layer","of","the","network","is","collected",".","@","return","(","syncnet_analyser",")","Analyser","of","object","segmentation","results","of","the","second","layer","."]
code: def __analyse_color_segment(
      self, image_size, color_segment, collect_dynamic
  ):
      """!
      @brief Performs object segmentation of separate segment.
  
      @param[in] image_size (list): Image size presented as a [width x height].
      @param[in] color_segment (list): Image segment that should be processed.
      @param[in] collect_dynamic (bool): If 'True' then whole dynamic of the second layer of the network is collected.
  
      @return (syncnet_analyser) Analyser of object segmentation results of the second layer.
  
      """
      coordinates = self.__extract_location_coordinates(
          image_size, color_segment
      )
  
      if len(coordinates) < self.__noise_size:
          return None
  
      network = syncnet(
          coordinates,
          self.__object_radius,
          initial_phases=initial_type.EQUIPARTITION,
          ccore=True,
      )
      analyser = network.process(
          self.__order_object, solve_type.FAST, collect_dynamic
      )
  
      return analyser
  
imports: from math import floor
  from PIL import Image
  from pyclustering.cluster.syncnet import syncnet
  from pyclustering.core.wrapper import ccore_library
  from pyclustering.nnet import solve_type, initial_type
  from pyclustering.nnet.sync import sync_visualizer
  from pyclustering.utils import read_image
label_desc: Use image node_id 5 for calling the syncsegm obj's underlying member method code with example usage: obj.__analyse_color_segment(image_size, color_segment, collect_dynamic) and returns: analyser, None