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