В этом примере показано, как анонимизировать файл 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.47227908031172265731092785891723348338'
dicomanon
| dicominfo
| dicomread
| dicomuid
| dicomwrite