我正在设置一个DICOM阅读器,我将使用它来处理 CT 扫描仪配置。我正在编写应用程序,以便我可以通过转储所有标签轻松查看 DICOM,或者我想指定我想查看的标签。它是一个使用 fo-dicom 库的 C# 控制台应用程序。
我的问题是在我的方法定义中我想传入一个参数,我希望该参数的值来自用户。使用 Console.Read() 通过控制台捕获它。
我能够转储所有标签,但似乎无法弄清楚只是转储一个。
public static void DumpAllTags(string dicomFile)
{
try
{
Console.WriteLine($"Attempting to dump all tags from DICOM
file:{dicomFile}...");
var file = DicomFile.Open(dicomFile);
foreach (var tag in file.Dataset)
{
Console.WriteLine($" {tag}
'{file.Dataset.GetValueOrDefault(tag.Tag, 0, "")}'");
}
}
catch (Exception e)
{
Console.WriteLine($"Error occured during DICOM file dump
operation -> {e.StackTrace}");
}
}
public static void DumpSingleDicomTag(string dicomFile, string tag)
{
try
{
Console.WriteLine($"Attempting to dump {tag} from DICOM file:
{dicomFile}...");
var file = DicomFile.Open(dicomFile);
var dicomDataset = file.Dataset;
var result = dicomDataset.Get<string>(DicomTag.tag);
Console.WriteLine(result);
}
catch (Exception e)
{
Console.WriteLine($"Error occured during DICOM file dump
operation -> {e.StackTrace}");
}
}
尝试传递键盘捕获的标记变量并将其应用于 DicomTag 方法时,出现错误。
DicomTag 不包含“标签”的定义