# DicomStoreScp **Repository Path**: fightroad/DicomStoreScp ## Basic Information - **Project Name**: DicomStoreScp - **Description**: 这是一个DICOM 存储服务(Storage SCP),用于接收和存储医学影像。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-02-07 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: dicom, StoreScp ## README # 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`: ```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. 运行主程序 注意: - 命令行参数指定的端口会覆盖配置文件中的 Port 设置 - 其他设置(AE 标题、存储路径、转码格式等)仍然使用配置文件中的值 ## 存储结构 ``` 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 示例 ```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" } ```