code: def gower_distance(point1, point2, max_range):
      """!
      @brief Calculate Gower distance between two vectors.
      @details Implementation is based on the paper @cite article::utils::metric::gower. Gower distance is calculate
                using following formula:
      \f[
      dist\left ( a, b \right )=\frac{1}{p}\sum_{i=0}^{p}\frac{\left | a_{i} - b_{i} \right |}{R_{i}},
      \f]
  
      where \f$R_{i}\f$ is a max range for ith dimension. \f$R\f$ is defined in line following formula:
  
      \f[
      R=max\left ( X \right )-min\left ( X \right )
      \f]
  
      @param[in] point1 (array_like): The first vector.
      @param[in] point2 (array_like): The second vector.
      @param[in] max_range (array_like): Max range in each data dimension.
  
      @return (float) Gower distance between two objects.
  
      """
      distance = 0.0
      dimensions = len(point1)
      for i in range(dimensions):
          if max_range[i] != 0.0:
              distance += abs(point1[i] - point2[i]) / max_range[i]
  
      return distance / dimensions
  
imports: import numpy
  from enum import IntEnum
label_desc: Use image node_id 15 for calling a global function with example usage: gower_distance(point1, point2, max_range) and returns: unknown