code: def compute_distance(
      X_orig, X_distort, X_prot, feature_names, dist_fun, condition=None
  ):
      """Compute the distance element-wise for two sets of vectors.
  
      Args:
          X_orig (numpy.ndarray): Original features.
          X_distort (numpy.ndarray): Distorted features. Shape must match
              `X_orig`.
          X_prot (numpy.ndarray): Protected attributes (used to compute
              condition). Should be same for both original and distorted.
          feature_names (list): Names of the protected features.
          dist_fun (function): Function which returns the distance (float) between
              two 1-D arrays (e.g. :func:`scipy.spatial.distance.euclidean`).
          condition (list(dict)): Same format as
              :func:`compute_boolean_conditioning_vector`.
  
      Returns:
          (numpy.ndarray(numpy.float64), numpy.ndarray(bool)):
  
              * Element-wise distances (1-D).
              * Condition vector (1-D).
      """
      cond_vec = compute_boolean_conditioning_vector(
          X_prot, feature_names, condition=condition
      )
  
      num_instances = X_orig[cond_vec].shape[0]
      distance = np.zeros(num_instances, dtype=np.float64)
      for i in range(num_instances):
          distance[i] = dist_fun(
              X_orig[cond_vec][i], X_distort[cond_vec][i]
          )
  
      return distance, cond_vec
  
imports: import numpy
label_desc: Use image node_id 6 for calling a global function with example usage: compute_distance(X_orig, X_distort, X_prot, feature_names, dist_fun, condition) and returns: distance,  cond_vec