Использование анонимайзера foDicom Dicom с профилем безопасности - PullRequest
0 голосов
/ 17 мая 2018

Учитывая то, что я очень наивен в 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заголовок.Для того же я возиться с синтаксисом использования этого?Может кто-нибудь поделиться примером кода?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Другая проблема, которую я вижу в вашем коде: DicomDataset DicomAnonymizer.Anonymize(DicomDataset) принимает DicomDataset в качестве параметра и возвращает новую анонимную копию.Это рекомендуется, если вы не хотите, чтобы исходный набор данных DicomDat был изменен.Но поэтому вы принимаете во внимание дублирование большого количества данных в памяти.Другой метод - void DicomAnonymizer.AnonymizeInPlace(DicomDataset), который напрямую манипулирует данными в DicomDataset.

Ваш код выше использует первый метод, но не сохраняет возвращенный анонимный DicomDataset в переменную, поэтому он передается в мусор.коллекционер немедленно.

Звоните var anonymizedTestfile = anony.Anonymize(testfile); или anony.AnonymizeInPlace(testfile);

0 голосов
/ 18 мая 2018

Сначала необходимо создать объект профиля безопасности с использованием статического метода LoadProfile, а затем использовать его в конструкторе DicomAnonymizer:

var profile = DicomAnonymizer.SecurityProfile.LoadProfile(null, DicomAnonymizer.SecurityProfileOptions.CleanGraph);
var anony = new DicomAnonymizer();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...