def testSubGraphCounting(files): stat = SmGrConfMatrix.SmDict() mat = SmGrConfMatrix.ConfMatrix() segMat = SmGrConfMatrix.ConfMatrixObject() for ( fileGT, fileOUT,_ ) in files: gGT = Lg(fileGT) for s in gGT.subStructIterator([1,2,3,4]): stat.get(s,SmGrConfMatrix.Counter).incr() gOUT = Lg(fileOUT) for (gt,er) in gOUT.compareSubStruct(gGT,[2,3]): mat.incr(gt,er,("../"+fileOUT)) for (seg,gt,er) in gOUT.compareSegmentsStruct(gGT,[2,3]): segMat.incr(seg,gt,er,("../"+fileOUT)) print ("stat from left side expressions:") #print stat print ("generate HTML in test.html" ) out=open('Tests/test.html','w') out.write('<html xmlns="http://www.w3.org/1999/xhtml">') out.write('<h1> Substructure Stat </h1>') out.write(stat.toHTML()) print ("Confusion matrix when compared with right side ME") print (mat) out.write('<h1> Substructure Confusion </h1>') mat.toHTML(out) out.write('<h1> Substructure Confusion with at least 1 error </h1>') mat.toHTML(out,1) out.write('<h1> Substructure Confusion at oject level with 1 error or more </h1>') segMat.toHTML(out) out.write('</html>') out.close()
def testStructCompare(files): print('\n--TESTING STRUCT COMPARE') print (" sub iterator (sizes 1 and 3): ") g1 = Lg(files[0][0]) for s in g1.subStructIterator([1,3]): print(s) print (" sub iterator (sizes 2): ") for s in g1.subStructIterator(2): print(s) print (" sub comparision :") for ( file1, file2 ) in files: g1 = Lg(file1) # ground-truth g2 = Lg(file2) # output print (str(g2.compareSubStruct(g1,4)))