鉴于我在C#中非常幼稚并使用fo-dicom软件包,因此我发现如何为DicomAnonymizer使用不同的安全配置文件具有挑战性,如下所示:https://fo-dicom.github.io/html/fff31967-d92f-28da-3106-d4ab34b9b65b.htm。
我尝试了以下操作,但不起作用:
DicomAnonymizer.SecurityProfile SecurityProfile = 1;
var anony = new DicomAnonymizer();
anony.Anonymize(testfile);
我想测试每个安全配置文件如何影响dicom标头。出于同样的原因,我不喜欢使用此语法?
有人可以共享任何示例代码吗?
最佳答案
我在您的代码中看到的另一个问题:DicomDataset DicomAnonymizer.Anonymize(DicomDataset)
将DicomDataset作为参数并返回一个新的匿名副本。如果您不想修改原始DicomDataset,则建议这样做。但是因此您要考虑复制内存中的大量数据。
另一个方法是void DicomAnonymizer.AnonymizeInPlace(DicomDataset)
,它直接处理DicomDataset中的数据。
上面的代码使用第一种方法,但是没有将返回的匿名DicomDataset存储到变量中,因此将其立即释放到垃圾收集器。
呼叫
var anonymizedTestfile = anony.Anonymize(testfile);
要么anony.AnonymizeInPlace(testfile);