Python代码实现:读取文件夹下所有NII.GZ格式CT图像正视图并可视化

本代码使用Python,结合nibabel和matplotlib库,实现以下功能:

  • 读取指定文件夹下所有.nii.gz格式的三维CT图像;* 提取并显示每张图像的正视图;* 在同一窗口中加载并显示对应的mask;* 允许用户逐张查看图片,并通过按键控制流程。

以下是代码实现:pythonimport osimport nibabel as nibimport matplotlib.pyplot as plt

文件夹路径 (请替换为实际路径)folder_path = 'path_to_folder'

获取文件夹下所有文件files = os.listdir(folder_path)

筛选出以.nii.gz结尾的文件nii_files = [file for file in files if file.endswith('.nii.gz')]

遍历每个文件for file in nii_files: # 读取nii文件 file_path = os.path.join(folder_path, file) img = nib.load(file_path) data = img.get_fdata() # 获取正视图 front_view = data[data.shape[0]//2, :, :] # 可视化正视图 plt.imshow(front_view, cmap='gray') # 加载对应的mask mask_file = file.replace('.nii.gz', '_mask.nii.gz') mask_path = os.path.join(folder_path, mask_file) mask = nib.load(mask_path).get_fdata() # 在同一窗口中同时显示mask plt.contour(mask[data.shape[0]//2, :, :], colors='r', linewidths=0.5) # 暂停并等待用户选择是否继续 plt.pause(0.1) input('按任意键继续...') plt.clf() # 清除图像 plt.show()

使用方法:

  1. 将代码中的 'path_to_folder' 替换为包含CT图像和对应mask的文件夹的路径。2. 确保已安装必要的Python库:nibabel 和 matplotlib。3. 运行代码。程序将自动读取文件夹下的nii.gz文件,并逐张显示图像正视图及其mask。4. 每次可视化后,程序会暂停,等待用户按键以继续查看下一张图片。

代码说明:

  • nibabel 库用于读取和处理 NIfTI 格式 (nii.gz) 的神经影像数据。* matplotlib 库用于图像可视化。* 代码中假设mask文件与对应的CT图像文件具有相同的名称,只是在文件名后添加了 '_mask'。例如,'image.nii.gz' 对应的mask文件名为 'image_mask.nii.gz'。

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

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