code: def pdist(objects, dmeasure, diagval=numpy.inf):
      """
      Compute the pair-wise distances between arbitrary objects.
  
      Notes
      -----
      ``dmeasure`` is assumed to be *symmetry* i.e. between object *a* and object *b* the
      function will be called only ones.
  
      Parameters
      ----------
      objects : sequence
          A sequence of objects of length *n*.
      dmeasure : function
          A callable function that takes two objects as input at returns a number.
      diagval : number
          The diagonal values of the resulting array.
  
      Returns
      -------
      pdists : ndarray
          An *nxn* symmetric float array containing the pair-wise distances.
      """
      out = numpy.zeros([len(objects)] * 2, float)
      numpy.fill_diagonal(out, diagval)
      for idx1, idx2 in combinations(list(range(len(objects))), 2):
          out[idx1, idx2] = dmeasure(objects[idx1], objects[idx2])
      return out + out.T
  
imports: from itertools import combinations
  import warnings
  import numpy
  from scipy.sparse.csr import csr_matrix
label_desc: Use image node_id 2 for calling a global function with example usage: pdist(objects, dmeasure, diagval) and returns: unknown