前言
医学影像技术的飞速发展,医疗机构对高效、稳定且易于使用的图像存档与通信系统(PACS)的需求日益增长。
推荐一款中文开源社区最完善轻量PACS系统,医学影像必备DICOM工具箱。
项目介绍
一款中文医学影像圈设计的基于.NET 的轻量级 DICOM SCP 服务器,提供完整的 DICOM 功能,包括存储、工作列表、查询检索、打印服务和 WADO/DICOMweb 服务,并集成强大的桌面和 Web 查看器。
系统支持跨平台部署:Windows 用户可直接下载运行,Linux 用户推荐使用 Docker 部署,自动更新镜像。Weasis 查看器需在客户端电脑安装。
推荐使用 Docker 简化安装并自动获取最新版本。
项目完全开源,采用 MIT 许可证,由多年医学影像从业者打造,在为中文医学影像社区贡献力量。
系统要求
操作系统:Windows 10/11 或 Windows Server 2016及以上版本。
.NET 版本:需要.NET 8.0或更高版本。
SQLite 版本:3.x版本。
硬件需求:至少4GB RAM,10GB可用磁盘空间。
浏览器支持:如Chrome、Firefox或Edge。
项目技术
后端:.NET Core
前端:原生 JavaScript
DICOM 处理:fo-dicom、Cornerstone.js
数据库:SQLite
HTTP 客户端:Axios
UI 组件:Bootstrap
项目功能
存储服务 (C-STORE SCP)
标签归档:按4级标签自动组织存储目录。
压缩支持:JPEG、JPEG2000、JPEG-LS、RLE等。
字符处理:处理不标准的中文字符乱码。
工作列表服务 (Worklist SCP)
提供DICOM Modality Worklist服务,支持多种查询条件和字符集协商。
查询检索服务 (QR SCP)
支持C-FIND、C-MOVE、C-GET服务,配置多目标节点,支持不同查询级别和实时转码。
打印服务 (Print SCP)
管理打印任务队列,跟踪状态,归档原始文件与标签。
WADO URI 服务
访问DICOM对象,支持多种返回格式和传输语法,可选匿名化处理。
C-STORE SCU 和 Print SCU
发送DICOM图像至SCP,或转发打印任务,保留原始标签信息。
日志服务
查看、下载、删除日志,支持多日志级别配置。
WADO-RS 和 QIDO-RS 服务
实现DICOMweb规范,提供实例、元数据、帧检索及缩略图服务。
支持研究、序列、实例级别的查询,灵活指定查询参数(如患者ID、检查日期等),并返回JSON格式结果。
示例请求
WADO: http://localhost:5000/wado?requestType=WADO&studyUID=...&seriesUID=...&objectUID=...
QIDO: /dicomweb/studies?PatientID={id}&PatientName={name}
应用程序为医学影像提供了全面的管理和访问解决方案,从图像存储、检索到打印,同时通过Web接口实现了对DICOM对象的便捷访问。
项目使用
1、下载最新发布版本
2、修改 appsettings.json 配置文件
3、运行 DicomSCP.exe
5、默认账号 admin / admin
Docker部署
appsettings.json需要先在宿主机目录下创建好!
docker run -d --name DicomSCP --restart unless-stopped \
-p 5000:5000 \
-p 11112-11115:11112-11115 \
-v /opt/docker/dicomscp/keys:/root/.aspnet/DataProtection-Keys \
-v /opt/docker/dicomscp/logs:/app/logs \
-v /opt/docker/dicomscp/received_files:/app/received_files \
-v /opt/docker/dicomscp/temp_files:/app/temp_files \
-v /opt/docker/dicomscp/appsettings.json:/app/appsettings.json \
-v /opt/docker/dicomscp/db:/app/db \
fightroad/dicomscp:latest
Nginx反向代理
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_http_version 1.1;
项目效果
项目地址
GitHub:github.com/fightroad/D…
Gitee:gitee.com/fightroad/D…
总结
以上仅展示了DICOM 管理系统的部分功能。更多实用特性和详细信息,请大家访问项目地址。
希望通过本文能为医学影像开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。
总结
通过上述内容的学习,我们已经掌握了如何使用 C# 和 WinForm 实现系统托盘图标和开机自启动功能。希望本文能为大家提供有价值的参考和启发,帮助开发出更加实用和高效的桌面应用。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!