请写一段python代码使其实现读取一个文件夹下所有的niigz格式的三维CT图像并进行可视化其正视图并在同一个窗口中同时加载正视图的mask每可视化一次就暂停由用户决定选择下一张图片使用SimpleITK库
以下是使用SimpleITK库实现读取一个文件夹下所有的(.nii.gz)格式的三维CT图像并进行可视化正视图,并加载正视图的mask的Python代码:
import SimpleITK as sitk
import os
import matplotlib.pyplot as plt
# 定义文件夹路径
folder_path = '/path/to/folder'
# 获取文件夹下所有的.nii.gz文件
file_list = [f for f in os.listdir(folder_path) if f.endswith('.nii.gz')]
# 遍历每个文件
for file_name in file_list:
# 读取CT图像
image_path = os.path.join(folder_path, file_name)
image = sitk.ReadImage(image_path)
# 获取图像的数组
image_array = sitk.GetArrayFromImage(image)
# 获取正视图
axial_slice = image_array[image_array.shape[0] // 2, :, :]
# 可视化正视图
plt.imshow(axial_slice, cmap='gray')
plt.title('CT Image')
plt.pause(0.001)
# 加载正视图的mask
mask_path = os.path.join(folder_path, file_name.replace('.nii.gz', '_mask.nii.gz'))
mask = sitk.ReadImage(mask_path)
mask_array = sitk.GetArrayFromImage(mask)
axial_mask_slice = mask_array[mask_array.shape[0] // 2, :, :]
# 可视化正视图的mask
plt.imshow(axial_mask_slice, cmap='jet', alpha=0.5)
plt.title('CT Image with Mask')
plt.pause(0.001)
# 等待用户选择下一张图片
plt.waitforbuttonpress()
# 关闭窗口
plt.close()
请将/path/to/folder替换为实际的文件夹路径。在每次可视化后,代码会暂停并等待用户选择下一张图片。
原文地址: http://www.cveoy.top/t/topic/iwMD 著作权归作者所有。请勿转载和采集!