如何在Google Colab中使用Python批量加载DICOM图像?
批量导入并加载DICOM图像到Google Colab
1. 将DICOM文件上传至Colab环境
方式一:从本地批量上传
先创建专门的文件夹存放DICOM文件,再批量上传:
from google.colab import files import os # 创建DICOM存储文件夹 dicom_dir = '/content/dicom_files' os.makedirs(dicom_dir, exist_ok=True) # 批量上传文件并移动到目标文件夹 uploaded = files.upload() for filename in uploaded.keys(): os.rename(filename, os.path.join(dicom_dir, filename))
方式二:从Google Drive挂载(适合大量文件)
如果DICOM文件已存在Google Drive,直接挂载即可访问:
from google.colab import drive drive.mount('/content/drive') # 替换为你Drive中的DICOM文件夹路径 dicom_dir = '/content/drive/MyDrive/your_dicom_folder'
2. 批量加载DICOM图像
使用pydicom库处理DICOM文件,先安装依赖:
!pip install pydicom
批量加载并验证的代码示例:
import pydicom import os import matplotlib.pyplot as plt # 获取文件夹中所有DICOM文件(兼容有无.dcm后缀的情况) dicom_file_list = [] for filename in os.listdir(dicom_dir): file_path = os.path.join(dicom_dir, filename) if os.path.isfile(file_path): # 判断是否为DICOM格式 if pydicom.misc.is_dicom(file_path): dicom_file_list.append(filename) dicom_datasets = [] for filename in dicom_file_list: file_path = os.path.join(dicom_dir, filename) try: ds = pydicom.dcmread(file_path) dicom_datasets.append(ds) # 打印关键信息验证加载结果 print(f"Loaded {filename}: Patient ID = {ds.PatientID}, Study Date = {ds.StudyDate}") except Exception as e: print(f"Failed to load {filename}: {str(e)}") # 示例:显示第一张DICOM图像 if dicom_datasets: plt.imshow(dicom_datasets[0].pixel_array, cmap='gray') plt.axis('off') plt.show()
3. 常见问题解决
- 非标准DICOM文件:尝试添加
force=True参数强制读取:pydicom.dcmread(file_path, force=True) - 权限问题:挂载Drive时确保授权Colab访问对应文件夹
- 加载失败:检查文件是否损坏,或尝试更新
pydicom版本:!pip install --upgrade pydicom
内容的提问来源于stack exchange,提问作者alibabei2000
相关产品推荐
相关产品推荐

