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

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

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

目 录CONTENT

文章目录

DICOM 存储服务(Storage SCP)

平凡之路
2025-02-18 / 0 评论 / 0 点赞 / 32 阅读 / 464 字

DICOM Store SCP 服务

这是一个基于 fo-dicom 库实现的 DICOM 存储服务(Storage SCP),用于接收和存储医学影像。

功能特点

  • 支持 C-STORE 服务,用于接收 DICOM 图像
  • 支持 C-ECHO 服务,用于验证连接
  • 支持多种传输语法,包括无损压缩格式:
    • JPEG-LS Lossless
    • JPEG2000 Lossless
    • JPEG Process 14
    • JPEG Process 14 SV1
    • RLE Lossless
  • 按照 modality/studyuid/seriesuid/sop.dcm 的目录结构存储图像
  • 自动生成检查信息 JSON 文件,包含患者和检查的基本信息
  • 支持图像转码,可配置目标传输语法
  • 支持多个 SCU 同时连接发送

系统要求

  • .NET 8.0 或更高版本
  • Windows/Linux/macOS

配置说明

配置文件 appsettings.json

{
  "DicomSettings": {
    "AeTitle": "STORESCP",        // DICOM AE 标题
    "Port": 11112,                // 监听端口
    "StoragePath": "./DICOM",     // 存储目录
    "TranscodeToTransferSyntax": ""  // 转码格式,留空表示不压缩
  }
}

支持的压缩格式:

  • JPEGLS - JPEG-LS 无损压缩
  • JPEG2000 - JPEG2000 无损压缩
  • RLE - RLE 无损压缩
  • JPEG - JPEG Process 14 无损压缩
  • JPEGV1 - JPEG Process 14 SV1 无损压缩

使用方法

  1. 配置 appsettings.json
  2. 运行主程序

存储结构

DICOM/
├── CT/
│   └── 1.2.3.4.5/                    # StudyUID
│       ├── study_info.json           # 检查信息
│       └── 1.2.3.4.5.1/              # SeriesUID
│           └── 1.2.3.4.5.1.1.dcm     # 图像文件
├── MR/
└── ...

study_info.json 示例

{
  "StudyInstanceUID": "1.2.3.4.5",
  "PatientID": "P123456",
  "PatientName": "张三",
  "Modality": "CT",
  "StudyDate": "20240101",
  "StudyTime": "120000",
  "AccessionNumber": "ACC001",
  "StudyDescription": "胸部平扫",
  "TransferSyntax": "JPEG-LS Lossless Image Compression",
  "ImageCount": 133,
  "ReceiveTime": "2024-01-01T12:00:00.123456+08:00",
  "CallingAE": "STORESCU"
}

下载地址:StoreSCP

0

评论区