class_docstr: !
  @brief Object description that used by OPTICS algorithm for cluster analysis.
docstr: !
  @brief Constructor of object description in optics terms.
  
  @param[in] index (uint): Index of the object in the data set.
  @param[in] core_distance (double): Core distance that is minimum distance to specified number of neighbors.
  @param[in] reachability_distance (double): Reachability distance to this object.
code: def __init__(
      self, index, core_distance=None, reachability_distance=None
  ):
      """!
      @brief Constructor of object description in optics terms.
  
      @param[in] index (uint): Index of the object in the data set.
      @param[in] core_distance (double): Core distance that is minimum distance to specified number of neighbors.
      @param[in] reachability_distance (double): Reachability distance to this object.
  
      """
  
      ## Index of object from the input data.
      self.index_object = index
  
      ## Core distance - the smallest distance to reach specified number of neighbors that is not greater then connectivity radius.
      self.core_distance = core_distance
  
      ## Reachability distance - the smallest distance to be reachable by core object.
      self.reachability_distance = reachability_distance
  
      ## True is object has been already traversed.
      self.processed = False
  
imports: import math
  import matplotlib.pyplot
  from pyclustering.container.kdtree import kdtree_balanced
  from pyclustering.cluster.encoder import type_encoding
  from pyclustering.utils.color import color
  from pyclustering.core.wrapper import ccore_library
  import pyclustering.core.optics_wrapper
label_desc: Use image node_id 1 to create a new optics_descriptor object  with example: obj = optics_descriptor(index, core_distance, reachability_distance)