class_docstr: This class enables the extraction of image features (Harilick
  features) and basic statistics over a segmentation
class_docstr_tok: ["This","class","enables","the","extraction","of","image","features","(","Harilick","features",")","and","basic","statistics","over","a","segmentation"]
docstr: Calculates the two measures of information measure of correlation
  over the glcm matrix
  
  :param matrix:
  :return: ic_1, ic_2
docstr_tok: ["Calculates","the","two","measures","of","information","measure","of","correlation","over","the","glcm","matrix",":","param","matrix",":",":","return",":","ic_1",",","ic_2"]
code: def information_measure_correlation(self, matrix):
      """
      Calculates the two measures of information measure of correlation
      over the glcm matrix
  
      :param matrix:
      :return: ic_1, ic_2
      """
      hxy = self.entropy(matrix)
      sum_row = np.sum(matrix, axis=0)
      hxy_1 = 0
      hxy_2 = 0
      hx = 0
      for i in range(0, matrix.shape[0]):
          hx -= sum_row[i] * math.log(sum_row[i] + 0.001)
          for j in range(0, matrix.shape[0]):
              hxy_1 -= matrix[i, j] * math.log(
                  sum_row[i] * sum_row[j] + 0.001
              )
              hxy_2 -= (
                  sum_row[i]
                  * sum_row[j]
                  * math.log(sum_row[i] * sum_row[j] + 0.001)
              )
      ic_1 = (hxy - hxy_1) / (hx)
      if hxy == 0:
          ic_2 = 0
      else:
          ic_2 = math.sqrt(1 - math.exp(-2 * (hxy_2 - hxy)))
      return ic_1, ic_2
  
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import numpy.ma
  import math
  import scipy.stats.mstats
  import scipy.ndimage
  from niftynet.utilities.util_common import MorphologyOps, CacheFunctionOutput
label_desc: Use image node_id 33 for calling the RegionProperties obj's underlying member method code with example usage: obj.information_measure_correlation(matrix) and returns: ic_1,  ic_2