SuperAPI AI 工具集

pydicom

通用与其它

查看项目

更新于 10-16 05:03

技能介绍

pydicom 是一个纯 Python 包,用于处理医学影像标准格式 DICOM 文件。适用于读取、写入和修改 DICOM 数据集,提取或修改元数据,从医学扫描中提取像素数据与图像处理,研究或数据共享时的去标识化,转换为常见图像格式,处理压缩数据、序列与结构化报告、多层面体积重建,以及 PACS 集成。

安装:uv pip install pydicom;图像转换需 uv pip install pillow,像素数组操作需 uv pip install numpy,可视化需 uv pip install matplotlib。处理压缩文件可另装 uv pip install pylibjpeg pylibjpeg-libjpeg pylibjpeg-openjpeg 或 uv pip install python-gdcm。

核心用法:用 pydicom.dcmread() 读取文件返回 Dataset,可用属性或标签访问元素,缺失属性用 hasattr 或 get 判断。像素数据用 ds.pixel_array 获取,CT/MRI 显示可调用 apply_voi_lut 做窗宽窗位处理;RGB 图像按 PhotometricInterpretation 判断,YBR_FULL 可用 convert_color_space 转换;多帧图像像素数组形状为帧数乘行列。可修改或删除元素后用 ds.save_as() 保存。写入新文件需构造 file_meta、FileDataset 及必要元素与 UID。压缩可用 ds.decompress() 解压,或用 compress 保存。序列可通过 Sequence 访问和创建。多文件系列可按位置排序后 np.stack 构建三维体积。技能附带脚本:python scripts/anonymize_dicom.py、python scripts/dicom_to_image.py、python scripts/extract_metadata.py。

限制:处理压缩格式需额外依赖;读取不可信来源文件应处理异常;访问不存在的标签会报错;大系列可能内存不足,需迭代或降采样。始终在共享前彻底验证匿名化效果。文档见 https://pydicom.github.io/pydicom/dev/。