你可以使用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文件具有相同的文件名(除了文件扩展名)。

Python读取和可视化3D CT 图像及其mask

原文地址: https://www.cveoy.top/t/topic/fzy6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录