class_docstr: Image signature generator.
  
  Based on the method of Goldberg, et al. Available at http://www.cs.cmu.edu/~hcwong/Pdfs/icip02.ps
docstr: Compute normalized distance between two points.
  
  Computes || b - a || / ( ||b|| + ||a||)
  
  Args:
      _a (numpy.ndarray): array of size m
      _b (numpy.ndarray): array of size m
  
  Returns:
      normalized distance between signatures (float)
  
  Examples:
      >>> a = gis.generate_signature('https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg/687px-Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg')
      >>> b = gis.generate_signature('https://pixabay.com/static/uploads/photo/2012/11/28/08/56/mona-lisa-67506_960_720.jpg')
      >>> gis.normalized_distance(a, b)
      0.22095170140933634
docstr_tok: ["Compute","normalized","distance","between","two","points",".","Computes","||","b","-","a","||","\/","(","||b||","+","||a||",")","Args",":","_a","(","numpy.ndarray",")",":","array","of","size","m","_b","(","numpy.ndarray",")",":","array","of","size","m","Returns",":","normalized","distance","between","signatures","(","float",")","Examples",":",">",">",">","a","=","gis.generate_signature","(","'https",":","\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/e\/ec\/Mona_Lisa",",","_by_Leonardo_da_Vinci",",","_from_C2RMF_retouched.jpg\/687px-Mona_Lisa",",","_by_Leonardo_da_Vinci",",","_from_C2RMF_retouched.jpg","'",")",">",">",">","b","=","gis.generate_signature","(","'https",":","\/\/pixabay.com\/static\/uploads\/photo\/2012\/11\/28\/08\/56\/mona-lisa-67506_960_720.jpg","'",")",">",">",">","gis.normalized_distance","(","a",",","b",")","0.22095170140933634"]
code: def normalized_distance(_a, _b):
      """Compute normalized distance between two points.
  
      Computes || b - a || / ( ||b|| + ||a||)
  
      Args:
          _a (numpy.ndarray): array of size m
          _b (numpy.ndarray): array of size m
  
      Returns:
          normalized distance between signatures (float)
  
      Examples:
          >>> a = gis.generate_signature('https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg/687px-Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg')
          >>> b = gis.generate_signature('https://pixabay.com/static/uploads/photo/2012/11/28/08/56/mona-lisa-67506_960_720.jpg')
          >>> gis.normalized_distance(a, b)
          0.22095170140933634
  
      """
      b = _b.astype(int)
      a = _a.astype(int)
      norm_diff = np.linalg.norm(b - a)
      norm1 = np.linalg.norm(b)
      norm2 = np.linalg.norm(a)
      return norm_diff / (norm1 + norm2)
  
imports: from skimage.color import rgb2gray
  from skimage.io import imread
  from PIL import Image
  from PIL.MpoImagePlugin import MpoImageFile
  from six import string_types, text_type
  from io import BytesIO
  import numpy
  import xml.etree
  import xml.etree.ElementTree
label_desc: Use image node_id 9 for calling the ImageSignature obj's underlying member method code with example usage: obj.normalized_distance(_a, _b) and returns: unknown