python+SimpleITK获取3D图像的轮廓

遇到一个需求,需要将目标的轮廓排除掉,搜索发现了SimpleITK里面一个直接可以用的函数。

参考博客

点击访问原博客

代码

import SimpleITK as sitk
import os


def get_border(image_name_):
    image_path = os.path.join(work_dir,image_name_)
    image = sitk.ReadImage(image_path)

    # processing
    border_image = sitk.LabelContour(image)

    # set
    border_image.SetSpacing(image.GetSpacing())
    border_image.SetDirection(image.GetDirection())
    border_image.SetOrigin(image.GetOrigin())

    # save
    sitk.WriteImage(border_image,f'border_{
      
      image_name_}')



if __name__ == '__main__':
    work_dir = "lung_labels_orgsize/"
    filenames = os.listdir(work_dir)

    for filename in filenames:
        get_border(filename)

        input(f'{
      
      filename} done'.center(60))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sdhdsf132452/article/details/129935425
今日推荐