Перейти к содержимому. | Перейти к навигации

УНИИТО Лучевая Диагностика

Персональные инструменты

This is SunRain Plone Theme

Navigation

Вы здесь: Главная / Категории / Документация / Сценарии / Конвертация dicom-файла в jpg из командной строки.

Конвертация dicom-файла в jpg из командной строки.

 В данном посте опишем, как мы получали jpg-картинки из dcm-файлов с изображениями, используя утилиту

командной строки Linux. "Погуглив", можно быстро обнаружить, что эту задачу решает утилита из пакета dcmtk и

называется она dcmj2pnm.

Если у вас Debian или Debian-подобный дистрибутив, ставьте пакет dcmtk  и приступайте к экспериментам.

В этом пакете вы найдете много чего полезного для работы с dicom-файлами. Пакету dcmtk мы, как нибудь, посветим отдельную статью. А пока, опишем ситуацию, с которой пришлось столкнуться в ходе нашей работы.

Итак, apt, в нашем случае, отказался ставить пакет dcmtk. Обнаружился конфликт в имени файла, который (файл) уже существовал в другом пакете, а именно в dcm4che-2-1.0.27-SNAPSHOT-16849.deb ( Java DICOM Tools), который мы используем для работы в сервером DCM4CHEE из коммандной строки. Можно было пересобрать один из пакетов, внеся соответствующие исправления или "подавить" конфликт как-то иначе, но было решено "обойти" проблему.

Было решено поставить dcmtk из tar-архива.

   Скачиваем статически скомпилированные утилиты с сайта http://dicom.offis.de/dcmtk.php.en Они в архиве dcmtk-3.6.0-linux-i686-static.tar. Далее раскрываем архив в /opt, например, и копируем нужные утилитки (они в каталоге bin) в /usr/local/bin, чтобы запускались "отовсюду". Выглядит "не очень", но работать будет.

И еще один шаг. Утилита dcmj2pnm потребовала переменную окружения DCMDICTPATH, поэтому добавляем

DCMDICTPATH=/opt/dcmtk-3.6.0-linux-i686-static/share/dcmtk/dicom.dic
export DCMDICTPATH

в ваш .profile, перезагружаемся в bash и проверям env | grep DCMDICTPATH

Теперь пробуем изготовить jpg-файл из dcm-файла с изображением.

dcmj2pnm -d -v -im +oj +Jq 90 +Wi 1 file1.dcm file1.jpg
I: reading DICOM file: file1.dcm
I: preparing pixel data
I: dumping image parameters
I: filename : file1.dcm
I: transfer syntax : Little Endian Implicit
I: SOP class : ComputedRadiographyImageStorage
I: SOP instance UID : 1.3.51.0.7.1419064253.9623.41551.46252.25000.41420.38712
I: columns x rows : 3408 x 4200
I: bits per sample : 8
I: color model : MONOCHROME2
I: pixel aspect ratio : 1.00
I: number of frames : 1
I: VOI LUT function : <default>
I: VOI windows in file : 1
I: - <no explanation>
I: VOI LUTs in file : 0
I: presentation shape : IDENTITY
I: overlays in file : 0
I: maximum pixel value : 255
I: minimum pixel value : 0
I: activating VOI window 1
I: writing frame 1 to file1.jpg

 

С флагами утилиты, думаю, разберетесь. Мы эту комбинацию подсмотрели в форумах :) Удачи...