用途:pydicom 是处理 DICOM 医学影像标准格式的纯 Python 包,适用于 CT、MRI、X 光、超声、PET 等医学影像文件的读取、写入与修改,以及元数据提取、像素数据处理、匿名化、格式转换、压缩解压、序列与结构化报告、多层体积重建和 PACS 集成等场景。
主要能力:使用 pydicom.dcmread() 读取文件返回 Dataset 对象,可用属性或标签方式访问数据元素,通过 ds.file_meta 查看传输语法;用 ds.pixel_array 获取像素数组,支持多帧图像、RGB 与 YBR 色彩空间转换,并可用 apply_voi_lut 做窗宽窗位显示;可修改、添加或删除元数据元素并保存;可对 PHI 标签进行匿名化;可从零创建 DICOM 文件;支持压缩与解压(如 JPEGBaseline8Bit、JPEGLossless、JPEG2000Lossless、RLELossless);可处理嵌套序列并按位置或实例号排序构建 3D 体积。
使用方式:安装命令为 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。
限制:访问不存在的标签会抛 AttributeError,需用 hasattr 或 get 检查;无法解码像素数据时需补充压缩处理包;大序列可能内存不足,需迭代处理或降采样;修改文件时建议保留原始元数据;共享医学数据前应彻底验证匿名化效果。官方文档见 https://pydicom.github.io/pydicom/dev/。