请写一段python代码使其实现读取一个文件夹下所有的niigz格式的CT文件并一个个进行可视化每可视化一个就进行暂停让用户决定是否可视化下一个nifti数据读写建议使用标准库:SimpleITK最后加上加载mask的功能。
以下是实现您要求的Python代码:
import os
import SimpleITK as sitk
# 定义文件夹路径
folder_path = "path/to/folder"
# 获取文件夹下所有.nii.gz文件
file_list = [filename for filename in os.listdir(folder_path) if filename.endswith('.nii.gz')]
# 遍历文件列表
for file_name in file_list:
# 构建文件路径
file_path = os.path.join(folder_path, file_name)
# 读取.nii.gz文件
image = sitk.ReadImage(file_path)
# 可视化CT图像
sitk.Show(image)
# 询问用户是否继续可视化下一个
user_input = input("是否继续可视化下一个文件?(y/n): ")
# 如果用户输入不是'y',则退出循环
if user_input != 'y':
break
# 加载mask文件
mask_file_path = file_path.replace('.nii.gz', '_mask.nii.gz')
if os.path.exists(mask_file_path):
mask_image = sitk.ReadImage(mask_file_path)
# 可视化mask图像
sitk.Show(mask_image)
user_input = input("是否继续可视化下一个文件的mask?(y/n): ")
if user_input != 'y':
break
请将代码中的"path/to/folder"替换为您实际的文件夹路径。代码会读取文件夹下所有的.nii.gz文件,并逐个进行可视化。每次可视化后,会询问用户是否继续可视化下一个文件。如果用户输入不是'y',则程序会退出循环。另外,代码还会尝试加载与每个CT文件对应的mask文件(假设mask文件名为原文件名后加上_mask.nii.gz),并进行可视化。同样地,用户可以决定是否继续可视化下一个文件的mask。
原文地址: https://www.cveoy.top/t/topic/iwHS 著作权归作者所有。请勿转载和采集!