前提
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_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)
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}")
结果