pycharm中读取批量一个文件夹下的所有DICOM医学图像,获取图像像素和元素数据信息,显示出来dicom图像的完整代码
时间: 2025-01-26 08:06:50 浏览: 31
在PyCharm中处理DICOM医学图像通常需要使用pydicom
库。下面是一个基本的示例,它展示了如何遍历文件夹并提取每个DICOM文件的像素数据和元数据:
```python import os import pydicom
def read_dicom_images_from_folder(folder_path): pixel_data_list = [] metadata_list = []
# 遍历文件夹及其子文件夹
for dirpath, _, filenames in os.walk(folder_path):
for filename in filenames:
if filename.endswith(".dcm"): # 检查是否是DICOM文件
full_path = os.path.join(dirpath, filename)
with pydicom.dcmread(full_path) as dcm_file:
# 获取像素数据
pixel_data = dcm_file.pixel_array
pixel_data_list.append(pixel_data)
# 获取元数据
metadata = {
'PatientName': dcm_file.PatientName,
'StudyDate': dcm_file.StudyDate,
'SeriesDescription': dcm_file.SeriesDescription,
# 可以添加更多元数据项
}
metadata_list.append(metadata)
return pixel_data_list, metadata_list
使用函数
folder_path = 'your_dicom_folder_directory' # 替换为你要读取的DICOM文件夹路径 pixel_data, metadata = read_dicom_images_from_folder(folder_path)
现在你可以分别对像素数据和元数据进行操作,比如显示或保存
for i, (data, meta) in enumerate(zip(pixel_data, metadata)): print(f"Image {i+1} - Pixel Data:") # 显示像素数据,这里只是打印,具体展示可以根据需求选择 print(data)
print(f"Image {i+1} - Metadata:")
for key, value in meta.items():
print(f"{key}: {value}")
print("\n")
相关推荐

















