侧边栏壁纸
博主头像
平凡之路博主等级

生活原本沉闷,但跑起来就会有风!

  • 累计撰写 88 篇文章
  • 累计创建 10 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录

DICOM 文件处理的命令行工具

平凡之路
2025-02-18 / 0 评论 / 0 点赞 / 24 阅读 / 2,181 字

DicomTransfer

一个用于 DICOM 文件处理的命令行工具。

功能

  1. DICOM 压缩

    • 支持多种传输语法
    • 支持批量处理
    • 支持单文件处理
  2. DICOM 匿名化

    • 可选择保留病人ID
    • 可选择保留病人姓名
    • 可选择保留检查日期
    • 支持批量处理
    • 支持单文件处理
  3. DICOM 转图片

    • 支持输出 JPG/PNG/BMP 格式
    • 保持原有的 DICOM 目录结构
    • 支持批量处理
    • 支持单文件处理
  4. 图片转 DICOM

    • 支持 JPG/JPEG/PNG/BMP/GIF/TIF/TIFF 格式
    • 自动生成 DICOM 标签
    • 支持批量处理
    • 支持单文件处理
  5. C-GET 获取图像

    • 支持通过检查号查询
    • 支持通过检查实例UID查询
    • 支持指定传输语法
    • 自动保存到输出目录
  6. C-MOVE 获取图像

    • 支持通过检查号查询
    • 支持通过检查实例UID查询
    • 支持指定目标AE
    • 支持指定QR服务器信息
  7. STOW-RS 上传图像

    • 支持单个文件上传
    • 支持批量上传
    • 自动转换为显式小端传输语法
    • 支持 DICOMweb 标准
  8. C-STORE 发送图像

    • 支持单个文件发送
    • 支持批量发送
    • 自动转换为显式小端传输语法
    • 支持多种 SOP Class
    • 支持多种传输语法
  9. C-FIND 查询检查

    • 支持通过检查号查询
    • 支持通过检查实例UID查询
    • 支持通过病人ID查询
    • 支持通过病人姓名查询
    • 支持通过检查日期查询
    • 显示检查的详细信息(模态、序列数等)

使用方式

DicomTransfer.exe <处理类型> <输入路径> [参数]

处理类型

  • 1: DICOM 压缩
  • 2: DICOM 匿名化
  • 3: 图片转 DICOM
  • 4: DICOM 转图片
  • 5: C-GET 获取图像
  • 6: C-MOVE 获取图像
  • 7: STOW-RS 上传图像
  • 8: C-STORE 发送图像
  • 9: C-FIND 查询检查

示例

  1. DICOM 压缩
# 压缩单个文件
DicomTransfer.exe 1 input.dcm JPEGLossless
# 参数说明:
# 1           - 处理类型(DICOM压缩)
# input.dcm   - 输入文件路径
# JPEGLossless - 目标传输语法

# 压缩文件夹下所有 DICOM 文件
DicomTransfer.exe 1 input_folder JPEGLossless
# 参数说明:
# 1            - 处理类型(DICOM压缩)
# input_folder - 输入文件夹路径
# JPEGLossless - 目标传输语法
  1. DICOM 匿名化
# 匿名化单个文件(保留ID 不保留姓名和日期)
DicomTransfer.exe 2 input.dcm true false false
# 参数说明:
# 2         - 处理类型(DICOM匿名化)
# input.dcm - 输入文件路径
# true      - 是否保留病人ID(true=保留)
# false     - 是否保留病人姓名(false=不保留)
# false     - 是否保留检查日期(false=不保留)

# 匿名化文件夹下所有 DICOM 文件
DicomTransfer.exe 2 input_folder true false false
# 参数说明:
# 2            - 处理类型(DICOM匿名化)
# input_folder - 输入文件夹路径
# true         - 是否保留病人ID(true=保留)
# false        - 是否保留病人姓名(false=不保留)
# false        - 是否保留检查日期(false=不保留)
  1. 图片转 DICOM
# 转换单个图片
DicomTransfer.exe 3 input.jpg
# 参数说明:
# 3         - 处理类型(图片转DICOM)
# input.jpg - 输入图片路径

# 转换文件夹下所有支持的图片
DicomTransfer.exe 3 input_folder
# 参数说明:
# 3            - 处理类型(图片转DICOM)
# input_folder - 输入文件夹路径
  1. DICOM 转图片
# 转换单个文件为 JPG
DicomTransfer.exe 4 input.dcm jpg
# 参数说明:
# 4         - 处理类型(DICOM转图片)
# input.dcm - 输入DICOM文件路径
# jpg       - 输出图片格式

# 转换文件夹下所有 DICOM 文件为 PNG
DicomTransfer.exe 4 input_folder png
# 参数说明:
# 4            - 处理类型(DICOM转图片)
# input_folder - 输入文件夹路径
# png          - 输出图片格式
  1. C-GET 获取图像
# 通过检查号获取
DicomTransfer.exe 5 accno 12345 REMOTE_AE 192.168.1.100 104
# 参数说明:
# 5             - 处理类型(C-GET获取)
# accno         - 查询字段(检查号)
# 12345         - 检查号值
# REMOTE_AE     - 远程设备的AE标题
# 192.168.1.100 - 远程设备的IP地址
# 104           - 远程设备的端口号

# 通过检查实例UID获取(指定传输语法)
DicomTransfer.exe 5 studyuid 1.2.3.4.5.6.7 REMOTE_AE 192.168.1.100 104 JPEGLossless
# 参数说明:
# 5             - 处理类型(C-GET获取)
# studyuid      - 查询字段(检查实例UID)
# 1.2.3.4.5.6.7 - 检查实例UID值
# REMOTE_AE     - 远程设备的AE标题
# 192.168.1.100 - 远程设备的IP地址
# 104           - 远程设备的端口号
# JPEGLossless  - 可选的传输语法
  1. C-MOVE 获取图像
# 通过检查号获取
DicomTransfer.exe 6 accno 12345 DEST_AE QR_AE 192.168.1.100 104
# 参数说明:
# 6             - 处理类型(C-MOVE获取)
# accno         - 查询字段(检查号)
# 12345         - 检查号值
# DEST_AE       - 目标AE标题(接收图像的设备)
# QR_AE         - QR服务器的AE标题
# 192.168.1.100 - QR服务器的IP地址
# 104           - QR服务器的端口号

# 通过检查实例UID获取
DicomTransfer.exe 6 studyuid 1.2.3.4.5.6.7 DEST_AE QR_AE 192.168.1.100 104
# 参数说明:
# 6             - 处理类型(C-MOVE获取)
# studyuid      - 查询字段(检查实例UID)
# 1.2.3.4.5.6.7 - 检查实例UID值
# DEST_AE       - 目标AE标题(接收图像的设备)
# QR_AE         - QR服务器的AE标题
# 192.168.1.100 - QR服务器的IP地址
# 104           - QR服务器的端口号
  1. STOW-RS 上传图像
# 上传单个文件
DicomTransfer.exe 7 input.dcm https://server/dicom-web/studies
# 参数说明:
# 7                                 - 处理类型(STOW-RS上传)
# input.dcm                         - 输入DICOM文件路径
# https://server/dicom-web/studies  - DICOMweb服务器的URL

# 上传整个目录
DicomTransfer.exe 7 input_folder https://server/dicom-web/studies
# 参数说明:
# 7                                 - 处理类型(STOW-RS上传)
# input_folder                      - 输入文件夹路径
# https://server/dicom-web/studies  - DICOMweb服务器的URL
  1. C-STORE 发送图像
# 发送单个文件
DicomTransfer.exe 8 input.dcm REMOTE_AE 192.168.1.100 104
# 参数说明:
# 8             - 处理类型(C-STORE发送)
# input.dcm     - 输入DICOM文件路径
# REMOTE_AE     - 远程设备的AE标题
# 192.168.1.100 - 远程设备的IP地址
# 104           - 远程设备的端口号

# 发送整个目录
DicomTransfer.exe 8 input_folder REMOTE_AE 192.168.1.100 104
# 参数说明:
# 8             - 处理类型(C-STORE发送)
# input_folder  - 输入文件夹路径
# REMOTE_AE     - 远程设备的AE标题
# 192.168.1.100 - 远程设备的IP地址
# 104           - 远程设备的端口号
  1. C-FIND 查询检查
# 通过检查号查询
DicomTransfer.exe 9 accno 12345 REMOTE_AE 192.168.1.100 104
# 参数说明:
# 9             - 处理类型(C-FIND查询)
# accno         - 查询字段(检查号)
# 12345         - 检查号值
# REMOTE_AE     - 远程设备的AE标题
# 192.168.1.100 - 远程设备的IP地址
# 104           - 远程设备的端口号

# 通过检查实例UID查询
DicomTransfer.exe 9 studyuid 1.2.3.4.5.6.7 REMOTE_AE 192.168.1.100 104

# 通过病人ID查询
DicomTransfer.exe 9 pid 12345 REMOTE_AE 192.168.1.100 104

# 通过病人姓名查询
DicomTransfer.exe 9 pname "Zhang San" REMOTE_AE 192.168.1.100 104

# 通过检查日期查询
DicomTransfer.exe 9 date 20240101 REMOTE_AE 192.168.1.100 104

支持的传输语法

  • ImplicitVRLittleEndian
  • ExplicitVRLittleEndian
  • JPEGBaseline
  • JPEG2000Lossless
  • JPEG2000Lossy
  • JPEGLSLossless
  • JPEGLSNearLossless
  • JPEGExtended
  • JPEGLossless
  • RLELossless

输出目录结构

输出文件将保存在程序所在目录的 output 文件夹下,按功能分类:

output/
  ├─compress/    # 压缩输出
  ├─anonymize/   # 匿名化输出
  ├─image2dcm/   # 图片转DICOM输出
  ├─dcm2image/   # DICOM转图片输出
  │  └─{format}/ # 按图片格式分类
  ├─cget/        # C-GET获取的图像
  └─cmove/       # C-MOVE获取的图像

注意事项

  1. 输入路径可以是单个文件或文件夹
  2. 文件夹处理时会递归处理所有子文件夹
  3. 默认保持原有的目录结构
  4. 所有操作都是非破坏性的,原文件不会被修改
  5. C-GET 和 C-MOVE 需要远程服务器支持相应的服务
  6. STOW-RS 上传时会自动转换为显式小端传输语法
  7. C-STORE 发送时会自动转换为显式小端传输语法

传输语法处理

  1. STOW-RS 上传

    • 所有图像会自动转换为 ExplicitVRLittleEndian 传输语法
    • 使用 DicomTranscoder 进行转换,确保正确处理像素数据
    • 符合 DICOMweb 标准要求
  2. C-STORE 发送

    • 所有非 ExplicitVRLittleEndian 的图像会自动转换
    • 使用 DicomTranscoder 进行转换,确保正确处理像素数据
    • 提高与不同 PACS 系统的兼容性
  3. 支持的传输语法

    • ExplicitVRLittleEndian(默认)
    • ImplicitVRLittleEndian
    • JPEGBaseline
    • JPEG2000Lossless
    • JPEG2000Lossy
    • JPEGLSLossless
    • JPEGLSNearLossless
    • JPEGExtended
    • JPEGLossless
    • RLELossless

下载地址: DICOM 文件处理的命令行工具

0

评论区