本文整理汇总了C#中DicomDataset.GetPacientName方法的典型用法代码示例。如果您正苦于以下问题:C# DicomDataset.GetPacientName方法的具体用法?C# DicomDataset.GetPacientName怎么用?C# DicomDataset.GetPacientName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DicomDataset
的用法示例。
在下文中一共展示了DicomDataset.GetPacientName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveDicomToFile
public static void SaveDicomToFile(DicomDataset dataset, string storagePath,
DicomFile dicomFile, ServerOptions serverOptions)
{
var pacientName = dataset.GetPacientName(serverOptions);
var pacientDate = dataset.Get<DateTime>(DicomTag.PatientBirthDate);
var imageDateTime = dataset.GetImageDateTime();
var path = Path.GetFullPath(storagePath);
path = Path.Combine(path, imageDateTime.Year.ToString("D4"));
path = Path.Combine(path, imageDateTime.Month.ToString("D2"));
path = Path.Combine(path, imageDateTime.ToShortDateString());
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fileName = pacientName + " " + pacientDate.ToShortDateString() + " " + imageDateTime.ToLongTimeString() + ".dcm";
fileName = Path.GetInvalidFileNameChars().Aggregate(fileName, (current, invalidChar) => current.Replace(invalidChar, '_'));
fileName = Path.Combine(path, fileName);
using (var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
{
dicomFile.Save(fileStream);
fileStream.Flush();
}
var item = new QueueItem { FileName = fileName, Options = serverOptions };
lock (BackgroundService.Services)
{
foreach (var queueService in BackgroundService.Services.OfType<QueueService>())
queueService.Enqueue(item);
}
try
{
if(Settings.Default.QueueNameList.Count > 0)
{
foreach (var queueName in Settings.Default.QueueNameList)
{
if (!string.IsNullOrEmpty(queueName))
{
var name = queueName;
if (!name.Contains(@"\"))
name = @".\Private$\" + name;
System.Messaging.MessageQueue messageQueue;
if (System.Messaging.MessageQueue.Exists(name))
messageQueue = new System.Messaging.MessageQueue(name);
else
messageQueue = System.Messaging.MessageQueue.Create(name);
try
{
messageQueue.Send(item);
}
finally
{
messageQueue.Dispose();
}
}
}
}
}
catch
{
}
}