FO-DICOM网络传输之C-ECHO和C-STORE简单实现例子
DICOM影像传输FO-DICOMC-STORESCU实现例子
DICOM
259
FO-DICOM是一个用于处理DICOM格式医学图像的开源库。它提供了大量用于解析、修改和传输DICOM数据的功能。在本文代码主要是演示如何使用FO-DICOM库进行网络传输的C-ECHO和C-STORE服务类。
在开始之前,请确保你的项目已经安装了FO-DICOM开源库。最简单的就是直接通过NuGet包管理器来安装,简单快捷,就是得注意下选择fo-dicom的版本号,这里实例是用4.0系列的。
不废话直接上代码:
一、C-ECHO服务(验证服务端服务是否开启)
C-ECHO是一种用于测试DICOM通信的服务类。它发送一个请求并等待响应,以确认通信是否正常。下面是C#+fo-dicom简单的C-ECHO请求例子
using Dicom;
using Dicom.Network;
class Program
{
static void Main(string[] args)
{
var client = new DicomClient("localhost", 104); // 指定远程主机和端口号
var request = new DicomCEchoRequest(); // 创建C-ECHO请求
request.OnResponseReceived = (request, response) => {
if (response.Status.Success) {
Console.WriteLine("C-ECHO成功!");
} else {
Console.WriteLine("C-ECHO失败:{0}", response.Status.ErrorMessage);
}
};
client.Send(request); // 发送请求
}
}
$67abd01c-0c2b-c538-007c-76a50b76b44f
二、C-STORE(用于影像传输)
C-STORE服务用于将DICOM图像发送到远程AE服务器进行存储。以下是一个简单的C-STORE请求例子:
using Dicom;
using Dicom.Network;
using System.IO;
class Program
{
static void Main(string[] args)
{
var file = @"C:\path\to\your\dicomfile.dcm"; // 指定要发送的DICOM文件路径
var dataset = DicomFile.Open(file).Dataset; // 打开DICOM文件并获取数据集
var client = new DicomClient("localhost", 104); // 指定远程主机和端口号
var request = new DicomCStoreRequest(dataset); // 创建C-STORE请求
request.OnResponseReceived = (request, response) => {
if (response.Status.Success) {
Console.WriteLine("C-STORE成功!");
} else {
Console.WriteLine("C-STORE失败:{0}", response.Status.ErrorMessage);
}
};
client.Send(request); // 发送请求
}
}
简单概述: C-ECHO和C-STORE服务类就能够实现与DICOM放射设备和pacs系统进行通信的应用服务程序,做到医学图像(dcm)的传输和存储。
你可能感兴趣
- 医疗DICOM开发中常用Tag属性信息表对照表
- [终身授权]医学RadiAnt DICOM Viewer影像浏览器查看三维重建MRP软件苹果mac系统
- fo-dicom .net core 如何获取图像bitmap
- fo-dicom如何实现print scu 虚拟打印软件发送图像
- 解决DicomTag中文乱码的编码解析对照表
- 关于锐科PACS的傲娇DICOM Print协议
- FO-DICOM 实现C-Find + C-Move 客户端SCU 文件传输例子
- FO-DICOM网络传输之C-ECHO和C-STORE简单实现例子
- DICOM浏览/DICOM虚拟打印/DICOM传输/处理/转换DICOM修改/医学数字成像
- FO-DICOM胶片C-PrintSCP 虚拟打印服务端实现源码