Анонимизация DICOM-снимков стала частой задачей, связанной с необходимостью передать обезличенные данные за пределы медицинской организации (ФЗ-152, защита ПД и прочие требования). Некоторые PACS и просмотрщики умеют это делать, но иногда возникает потребность сделать это из консоли (массово, например).
Для Ubuntu есть пакет gdcmanon, входящий в состав libgdcm-tools. Устанавливаем:
sudo apt install libgdcm-tools
Выпустим себе сертификат:
cd /etc/ssl
sudo openssl genrsa -out CA_key.pem
sudo openssl req -new -key CA_key.pem -x509 -days 365 -out CA_cert.cer
Предположим, что исходники у нас находятся в директории dicom, а анонимизированные файлы мы хотим получить в директории dicom-anon.
gdcmanon --certificate /etc/ssl/CA_cert.cer -e dicom/ dicom-anon/
Или выборочная очистка (—empty) и удаление (—remove) аттрибутов DICOM.
gdcmanon --certificate /etc/ssl/CA_cert.cer --dumb --empty 10,10 --empty 10,30 --remove 400,500 --remove 12,62 --remove 12,63 dicom/ dicom-anon/
В примере выше:
10,10 это (0010,0010) — аттрибут Patient`s Name
10,30 это (0010,0030) — аттрибут Patient`s Birth Date
Описание ключей и параметров gdcmanon.
Список полей DICOM-снимка. Там же есть File Editor, который прочтёт и выведет список имеющихся полей.
gdcmanon иногда (непонятна регулярность) оставляет следы, может быть, нужно дочищать. Проверяется это так:
cat dicom_n* | grep -a IMYA
Output:
GEMS_GENIE One Day STRESS ! » # $ % & ‘ ( ) * + , . / 3 5 @ IMYA OTCHESTVO^FAMILIYA^^^