Python读取和可视化3D CT 图像及其mask
你可以使用Python中的SimpleITK库来读取和可视化.nii.gz格式的三维CT图像。以下是一个示例代码,它可以读取文件夹中的所有.nii.gz文件,并在同一个窗口中逐个加载图像和相应的mask。
import SimpleITK as sitk
import matplotlib.pyplot as plt
import os
# 定义文件夹路径
folder_path = 'your_folder_path'
# 获取文件夹中所有.nii.gz文件的路径
file_paths = [os.path.join(folder_path, file) for file in os.listdir(folder_path) if file.endswith('.nii.gz')]
# 创建一个窗口
plt.figure()
# 遍历每个文件路径
for file_path in file_paths:
# 读取图像
image = sitk.ReadImage(file_path)
# 读取相应的mask(假设mask文件与图像文件在同一文件夹中且具有相同的文件名)
mask_path = file_path.replace('.nii.gz', '_mask.nii.gz')
mask = sitk.ReadImage(mask_path)
# 获取图像数组和mask数组
image_array = sitk.GetArrayFromImage(image)
mask_array = sitk.GetArrayFromImage(mask)
# 可视化图像和mask
plt.imshow(image_array[0, :, :], cmap='gray')
plt.imshow(mask_array[0, :, :], alpha=0.5, cmap='Reds')
plt.pause(0.01) # 暂停0.01秒
# 等待用户选择下一张图片
input('Press enter to display the next image...')
# 关闭窗口
plt.close()
请将代码中的your_folder_path替换为你的文件夹路径,确保文件夹中的.nii.gz文件和相应的mask文件具有相同的文件名(除了文件扩展名)。
原文地址: https://www.cveoy.top/t/topic/fzy6 著作权归作者所有。请勿转载和采集!