xml file ( file name "Nevaluation1.xml"):
<measurement> <fixed-image filename="P:/edit.mha" nonzeropoints="130" intersection="672"/> <moving-image filename="P:/Atlas1.mha" nonzeropoints="160" intersection="672"/> <metrics> <DICE name="Dice" symbol="DICE" value="0.984746"/> <HDRFDST name="Hausdorff" symbol="HDRFDST" value="24.556058" executiontime="7334"/> <AVGSD name="AverageSurfaceDistance" symbol="AVGSD" value="0.553204" executiontime="234466"/> <STDSD name="STDSurfaceDistance" symbol="STDSD" value="1.074333" executiontime="6"/> </metrics> <time total-executiontime="248872"/> <dimention max_x="512" max_y="512" max_z="155"/> </measurement>
python code:
import xml.etree.ElementTree as ET filename = 'C:\Users\zzhai\Desktop\Nevaluation1.xml' # def tree = ET.parse( filename ) root = tree.getroot() result = '' for child in root: if child.tag in ('metrics'): metrics = child._children # lenth = metric._children.__len__ x = metrics.__len__() for i in range(0, x): Mname = metrics[i].attrib value = Mname['value'] result = result + str(value) + ' ' print result
result:
0.984746 24.556058 0.553204 1.074333
If you have a range of xml file with the output from your research, then you can make a nice table.