exponenta event banner

Удалить конфиденциальную информацию из файла DICOM

В этом примере показано, как анонимизировать файл DICOM.

При использовании файла DICOM как части обучающего набора, слепого исследования или презентации можно удалить конфиденциальную информацию о пациенте, что называется анонимизацией файла. Для этого используйте dicomanon функция.

Считывание изображения из файла DICOM в рабочую область.

dicomFile = 'CT-MONO2-16-ankle.dcm';
I = dicomread(dicomFile);

Отображение изображения. Поскольку данные изображения DICOM подписаны 16-битными данными, автоматически масштабировать диапазон отображения так, чтобы минимальное значение пикселя было черным, а максимальное значение пикселя - белым.

imshow(I,'DisplayRange',[])

Figure contains an axes. The axes contains an object of type image.

Считывание метаданных из файла DICOM.

info = dicominfo(dicomFile);

Файл DICOM в этом примере уже был анонимизирован для обеспечения конфиденциальности пациентов. Чтобы создать информативный тестовый файл DICOM, задайте для параметра «Имя пользователя» искусственное значение с помощью представления значения «Имя пользователя» (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'

Чтобы определить серию, к которой принадлежит неанонимное изображение, отобразите значение свойства SerureInstureUID.

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: ''

Убедитесь, что анонимное изображение принадлежит новому исследованию, отображая значение свойства SerityInstureUID.

infoAnon.SeriesInstanceUID
ans = 
'1.3.6.1.4.1.9590.100.1.2.47227908031172265731092785891723348338'

См. также

Приложения

Функции

Связанные темы