SuperAPI AI 工具集

pydicom

数据与分析

查看项目

更新于 10-15 21:34

技能介绍

用途:pydicom 是纯 Python 的 DICOM 医学影像文件库,适用于 CT、MRI、X 光、超声、PET 等影像文件的读取、写入、修改、匿名化、格式转换、压缩解压、序列与结构化报告处理、多切片体数据重建以及 PACS 集成等场景。

主要能力:使用 pydicom.dcmread() 读取文件并返回 Dataset,可通过属性(如 ds.PatientName)或标签(如 ds[0x0010,0x0010])访问元素,ds.file_meta 查看传输语法。通过 ds.pixel_array 提取像素数组(需 numpy),配合 matplotlib 可视化;彩色图像可用 convert_color_space 转换色彩空间;多帧文件可取多帧数组。可修改元数据、添加或删除元素并保存。可按标签移除或替换受保护健康信息实现匿名化。可从零构建 DICOM 文件(FileDataset、生成 UID、设置像素数据)。支持 ds.decompress() 与 ds.compress() 处理压缩格式。可用 Sequence 处理嵌套序列,遍历目录并按位置或实例号排序构建三维体数据。

使用方式:安装命令为 uv pip install pydicom,配合 pillow、numpy、matplotlib 使用;处理压缩格式可安装 pylibjpeg、pylibjpeg-libjpeg、pylibjpeg-openjpeg 或 python-gdcm。脚本示例:python scripts/anonymize_dicom.py input.dcm output.dcm;python scripts/dicom_to_image.py input.dcm output.png;python scripts/extract_metadata.py file.dcm。

限制:访问不存在的标签需用 hasattr() 或 get() 避免 AttributeError;显示异常时需应用 VOI LUT 窗宽窗位;大序列需注意内存;处理不可信来源文件需捕获异常;共享医学数据前应彻底核查匿名化效果;创建新实例应生成新 UID,修改时保留原 UID。官方文档见 https://pydicom.github.io/pydicom/dev/。