コード例 #1
0
ファイル: mod_hc.py プロジェクト: divyaabc/pypometre
  def process(self,matrix):
    lMatrix = matrix
    matrix = tn.matrix2numpy(matrix.getMatrix())
#    hungarian_pairs = self._context["pairs"]
#    minDim = min(lMatrix._width, lMatrix._height)
#    m = [array('f',[1.0 for _ in xrange(lMatrix._min)]) for _ in xrange(lMatrix._min)]

#    clean_matrix = tn.matrix2numpy(m)
    lClean_matrix = LinedMatrix(lMatrix._min,lMatrix._min, 1.0)
#    lClean_matrix.convertMatrix(m)
#    pairs = copy.copy(self._context["pairs"])
    pairs = self._context['pairs']
    l = pairs[0:lMatrix._min]
    l.sort()
    new_pairs = []

    for i,j in enumerate(self._context["pairs"]) :
      if i >= lMatrix._min :
        break
      new_j = l.index(j)
#      clean_matrix[i][new_j] = matrix[i][j]
      lClean_matrix.set(new_j,i,matrix[i][j])
      new_pairs.append(new_j)
    self._context["pairs"] = new_pairs

#    lClean_matrix = LinedMatrix(0,0)
#    lClean_matrix.convertDistMatrix(clean_matrix)
    return lClean_matrix
コード例 #2
0
    def process(self, matrix):
        lMatrix = matrix
        matrix = tn.matrix2numpy(matrix.getMatrix())
        #    hungarian_pairs = self._context["pairs"]
        #    minDim = min(lMatrix._width, lMatrix._height)
        #    m = [array('f',[1.0 for _ in xrange(lMatrix._min)]) for _ in xrange(lMatrix._min)]

        #    clean_matrix = tn.matrix2numpy(m)
        lClean_matrix = LinedMatrix(lMatrix._min, lMatrix._min, 1.0)
        #    lClean_matrix.convertMatrix(m)
        #    pairs = copy.copy(self._context["pairs"])
        pairs = self._context['pairs']
        l = pairs[0:lMatrix._min]
        l.sort()
        new_pairs = []

        for i, j in enumerate(self._context["pairs"]):
            if i >= lMatrix._min:
                break
            new_j = l.index(j)
            #      clean_matrix[i][new_j] = matrix[i][j]
            lClean_matrix.set(new_j, i, matrix[i][j])
            new_pairs.append(new_j)
        self._context["pairs"] = new_pairs

        #    lClean_matrix = LinedMatrix(0,0)
        #    lClean_matrix.convertDistMatrix(clean_matrix)
        return lClean_matrix
コード例 #3
0
              for yy in auto_corres2[y] :
                ni = xx + yy*matrix._width
                matrix.data[ni] = dist

#        for x in xrange(l1):
#          seg1 = segLst1[x]
#          for y in xrange(l2):
#            ni = x + y*matrix._width
#            matrix.data[ni] = segmentDistance(seg1, segLst2[y])

#            matrix.set(x, y, distance)

        cpt = 0
        if(opt_options.verbose) :
          name_matrix = os.path.join(path_log,"%s_x_%s%i.png"%(name_png_doc1,name_png_doc2,cpt))
          tn.matrix2image(tn.matrix2numpy(matrix.getMatrix()),name_matrix)

        for f in documentDistanceFilters :
          cpt += 1
          matrix = f(matrix)
        if(opt_options.verbose) :
          name_matrix = os.path.join(path_log,"%s_x_%s%i.png"%(name_png_doc1,name_png_doc2,cpt))
          print '>>', name_matrix
          tn.matrix2image(tn.matrix2numpy(matrix.getMatrix()),name_matrix)

        distance = documentDistance(matrix)
        
        if(opt_options.verbose) :
          print "[ok] distance(%s,%s) = %0.2f "%(document1, document2, distance)
        lmatrix_docDist.set(i,j,distance)
        lmatrix_docDist.set(j,i,distance)