C# 使用fo-dicom 怎么实现StroreScu发送dicom影像原图文件的例子
C# 使用fo-dicom 怎么实现StroreScu发送电子影像原图文件例子
需要添加引用fo-dicom 开源组件(可通过Nuget安装)
自备一个测试的StoreSCP 收图服务程序 (本文未提供)
string dcmDirPath = "d://dcms/";//dcm文件目录
string scpIp = "127.0.0.1";//收图服务器IP
int scpPort = 10086;//收图服务器端口
string scpAe = "YuanTK_SCP";//收图服务AE
string scuAe = "YuanTK_SCU";//发送客户端的AE
long filesize = 0;//文件大小 字节
DicomClient storeClient = new DicomClient(scpIp, scpPort, false, scuAe, scpAe);
System.IO.DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(dcmDirPath);
System.IO.FileInfo[] dcms = directoryInfo.GetFiles("*.dcm", SearchOption.AllDirectories);
Console.Write($"正在打包{dcms.Length}个序列 ");
Parallel.For(0, dcms.Length, async i =>
{
System.IO.FileInfo dcm = dcms[i];
filesize += dcm.Length;//累计文件大小
Dicom.DicomFile dicomFile = await Dicom.DicomFile.OpenAsync(dcm.FullName);
await storeClient.AddRequestAsync(new Dicom.Network.DicomCStoreRequest(dicomFile));
});
Console.Write($">发送中");
storeClient.SendAsync().Wait();
Console.Write($">发送完毕");