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 无损压缩
使用方法
- 配置 appsettings.json
- 运行主程序
存储结构
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"
}
评论区