Python可视化:读取文件夹下所有NII.GZ格式CT图像正视图及MASK
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()
使用方法:
- 将代码中的
'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 著作权归作者所有。请勿转载和采集!