如何使用 fo-dicom 正确创建 DICOMDIR?
How to create a DICOMDIR properly with fo-dicom?
我一直在尝试找到一种方法来使用 fo-dicom 创建一个 DICOMDIR 文件,并让它引用几个包含图像系列的文件,但到目前为止我做不到。
我已经成功阅读了 DICOMDIR、系列甚至渲染图像。从那里,我能够理解 DicomDirectory 有一个 RootDirectoryRecordCollection
用于患者,从那里你有 LowerLevelDirectoryRecordCollection 用于研究,然后是系列,然后是图像。但是在构建该结构时(例如,为新研究创建 DICOMDIR 和系列文件)我找不到设置这些的方法 LowerLeverDirectoryRecords
; RootDirectoryRecordCollection
有一个 Add
方法,但它需要一个 DicomItem
,所以我认为它是用于 DicomDataset
或 DicomTag/Value,它的 属性 LowerLevelDirectoryRecordCollection
是一个 IEnumerable
,所以那里没有 Add
。我也看到了 AddFile
方法,但那里没有层次结构,所以我认为这是针对系列文件的。
有没有人成功创建了一个 DICOMDIR 并用 fo-dicom 引用了几个系列文件?如何?谢谢
应该很简单:
var dicomDir = new DicomDirectory();
foreach (var file in dirInfo.GetFiles("*.*", SearchOption.AllDirectories))
{
var dicomFile = Dicom.DicomFile.Open(file.FullName);
dicomDir.AddFile(dicomFile, String.Format(@"000001\{0}", file.Name));
}
dicomDir.Save(dicomDirPath);
所有内部层次结构都是自动添加的。
我从 fo-dicom-samples 存储库中获取了这个示例:
https://github.com/fo-dicom/fo-dicom-samples/blob/master/Desktop/DICOM%20Media/Program.cs
我一直在尝试找到一种方法来使用 fo-dicom 创建一个 DICOMDIR 文件,并让它引用几个包含图像系列的文件,但到目前为止我做不到。
我已经成功阅读了 DICOMDIR、系列甚至渲染图像。从那里,我能够理解 DicomDirectory 有一个 RootDirectoryRecordCollection
用于患者,从那里你有 LowerLevelDirectoryRecordCollection 用于研究,然后是系列,然后是图像。但是在构建该结构时(例如,为新研究创建 DICOMDIR 和系列文件)我找不到设置这些的方法 LowerLeverDirectoryRecords
; RootDirectoryRecordCollection
有一个 Add
方法,但它需要一个 DicomItem
,所以我认为它是用于 DicomDataset
或 DicomTag/Value,它的 属性 LowerLevelDirectoryRecordCollection
是一个 IEnumerable
,所以那里没有 Add
。我也看到了 AddFile
方法,但那里没有层次结构,所以我认为这是针对系列文件的。
有没有人成功创建了一个 DICOMDIR 并用 fo-dicom 引用了几个系列文件?如何?谢谢
应该很简单:
var dicomDir = new DicomDirectory();
foreach (var file in dirInfo.GetFiles("*.*", SearchOption.AllDirectories))
{
var dicomFile = Dicom.DicomFile.Open(file.FullName);
dicomDir.AddFile(dicomFile, String.Format(@"000001\{0}", file.Name));
}
dicomDir.Save(dicomDirPath);
所有内部层次结构都是自动添加的。 我从 fo-dicom-samples 存储库中获取了这个示例: https://github.com/fo-dicom/fo-dicom-samples/blob/master/Desktop/DICOM%20Media/Program.cs