コード例 #1
0
wrong_cases = set()
for file_name in xmls:
    if Util.get_file_extension(file_name) != ".xml":
        continue
    # Open volume
    volFile = "{0}/{1}.nhdr".format(vols_dir, file_name.replace("_parenchymaTraining.xml", ""))
    v = slicer.util.loadVolume(volFile, returnNode=True)[1]
    # print(volFile)
    dims = v.GetImageData().GetDimensions()
    p = path.join(xmls_dir, file_name)
    with open(p, "r+b") as f:
        xml = f.read()
        geom = gtd.GeometryTopologyData.from_xml(xml)
        for point in geom.points:
            ras = Util.lps_to_ras(point.coordinate)
            ijk = Util.ras_to_ijk(v, ras)
            for i in range(3):
                if ijk[i] < 0 or ijk[i] >= dims[i]:
                    # Flip just the second coord
                    # point.coordinate[1] = -point.coordinate[1]
                    wrong_points.append((file_name, point.coordinate, ijk))
                    wrong_cases.add(file_name)
        # if file_name in wrong_cases:
        #     print("Added " + file_name)
                # ras = point.coordinate
                # point.coordinate = Util.ras_to_lps(ras)

## Change sign
# for case in wrong_cases:
#     p = path.join(xmls_dir, case)
#     print ("Processing {0}...".format(p))
コード例 #2
0
wrong_cases = set()
for file_name in xmls:
    if Util.get_file_extension(file_name) != ".xml":
        continue
    # Open volume
    volFile = "{0}/{1}.nhdr".format(vols_dir, file_name.replace("_parenchymaTraining.xml", ""))
    v = slicer.util.loadVolume(volFile, returnNode=True)[1]
    # print(volFile)
    dims = v.GetImageData().GetDimensions()
    p = path.join(xmls_dir, file_name)
    with open(p, "r+b") as f:
        xml = f.read()
        geom = gtd.GeometryTopologyData.from_xml(xml)
        for point in geom.points:
            ras = Util.lps_to_ras(point.coordinate)
            ijk = Util.ras_to_ijk(v, ras)
            for i in range(3):
                if ijk[i] < 0 or ijk[i] >= dims[i]:
                    # Flip just the second coord
                    # point.coordinate[1] = -point.coordinate[1]
                    wrong_points.append((file_name, point.coordinate, ijk))
                    wrong_cases.add(file_name)
        # if file_name in wrong_cases:
        #     print("Added " + file_name)
                # ras = point.coordinate
                # point.coordinate = Util.ras_to_lps(ras)

## Change sign
# for case in wrong_cases:
#     p = path.join(xmls_dir, case)
#     print ("Processing {0}...".format(p))