예제 #1
0
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()
예제 #2
0
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)))