class_docstr: NMI = 2*(1 - H(I,J)/[H(I)+H(J)])
      = 2*MI/[H(I)+H(J)])
class_docstr_tok: ["NMI","=","2","*","(","1","-","H","(","I",",","J",")","\/","[","H","(","I",")","+H","(","J",")","]",")","=","2","*","MI\/","[","H","(","I",")","+H","(","J",")","]",")"]
code: def __call__(self, H):
      H = H / nonzero(self.npoints(H))
      hI = H.sum(0)
      hJ = H.sum(1)
      entIJ = -np.sum(H * np.log(nonzero(H)))
      entI = -np.sum(hI * np.log(nonzero(hI)))
      entJ = -np.sum(hJ * np.log(nonzero(hJ)))
      return 2 * (1 - entIJ / nonzero(entI + entJ))
  
imports: import numpy
  from scipy.ndimage import gaussian_filter
  from ._registration import _L1_moments
label_desc: Use image node_id 1 for calling the NormalizedMutualInformation obj's underlying member method code with example usage: obj.__call__(H) and returns: unknown