Advertisement

使用python简单实现肺分割(其实精度还可)

阅读量:

前提

复制代码
    pip install lungmask
    pip install SimpleITK

代码

复制代码
    import SimpleITK as sitk
    import os
    from lungmask import mask
    
    
    
    
    if __name__ == '__main__':
    """文件名"""
    input_path = "C:/Users/Administrator/Downloads/100.nii.gz"
    _,filename = os.path.split(input_path)
    # input(filename)
    
    """文件读取"""
    input_image = sitk.ReadImage(input_path)
    spacing = input_image.GetSpacing()
    direction = input_image.GetDirection()
    origin = input_image.GetOrigin()
    
    input_array = sitk.GetArrayFromImage(input_image)
    print(f'input_shape = {input_array.shape}')
    
    """分割"""
    segmentation = mask.apply(input_image)  # default model is U-net(R231)
    segmentation[segmentation==2] = 1
    
    """结果保存"""
    out_label = sitk.GetImageFromArray(segmentation)
    out_label.SetSpacing(spacing)
    out_label.SetOrigin(origin)
    out_label.SetDirection(direction)
    
    sitk.WriteImage(out_label,f"l{filename}")

结果

在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~