В этом примере показано, как анонимизировать файл DICOM.
При использовании файла DICOM как часть набора обучающих данных, ослепленного исследования или представления, вы можете хотеть удалить конфиденциальную терпеливую информацию, процесс вызвал анонимизирование файла. Для этого используйте dicomanon
функция.
Считайте изображение из файла DICOM в рабочую область.
dicomFile = 'CT-MONO2-16-ankle.dcm';
I = dicomread(dicomFile);
Отобразите изображение. Поскольку данные изображения DICOM подписываются 16-битные данные, автоматически масштабируйте область значений отображения так, чтобы минимальное пиксельное значение было черным, и максимальное пиксельное значение является белым.
imshow(I,'DisplayRange',[])
Считайте метаданные из файла DICOM.
info = dicominfo(dicomFile);
Файл DICOM в этом примере был уже анонимизирован для терпеливой конфиденциальности. Чтобы создать информативный тест файл DICOM, установите PatientName
с искусственным значением с помощью представления значения Имени человека (PN).
info.PatientName = 'Doe^John';
Запишите изображение с модифицированными метаданными к новому файлу DICOM.
dicomFileNotAnon = 'ankle_notAnon.dcm';
dicomwrite(I,dicomFileNotAnon,info);
Считайте метаданные из неанонимного файла DICOM, затем подтвердите, что имя пациентов в новом файле не является анонимным.
infoNotAnon = dicominfo(dicomFileNotAnon); infoNotAnon.PatientName
ans = struct with fields:
FamilyName: 'Doe'
GivenName: 'John'
Чтобы идентифицировать ряд, которому принадлежит неанонимное изображение, отобразите значение SeriesInstanceUID
поле .
infoNotAnon.SeriesInstanceUID
ans = '1.2.840.113619.2.1.2411.1031152382.365.736169244'
Анонимизируйте файл с помощью dicomanon
функция. Функция создает новый ряд с новыми значениями исследования, изменяет некоторые метаданные, и затем пишет изображение в новый файл.
dicomFileAnon = 'ankle_anon.dcm'
dicomFileAnon = 'ankle_anon.dcm'
dicomanon(dicomFileNotAnon,dicomFileAnon);
Считайте метаданные из анонимизированного файла DICOM.
infoAnon = dicominfo(dicomFileAnon);
Подтвердите, что информация об имени пациентов была удалена.
infoAnon.PatientName
ans = struct with fields:
FamilyName: ''
GivenName: ''
MiddleName: ''
NamePrefix: ''
NameSuffix: ''
Подтвердите, что анонимное изображение принадлежит новому исследованию путем отображения значения SeriesInstanceUID
поле .
infoAnon.SeriesInstanceUID
ans = '1.3.6.1.4.1.9590.100.1.2.140481656839371313424078886033776892308'
dicominfo
| dicomread
| dicomwrite
| dicomuid
| dicomanon