2016-12-20 19 views
2

Это мой код в Ruby:WARN - DICOM: пиксельные значения распаковке не удалось

require 'RMagick' 
require 'dicom' 
include Magick 
include DICOM 

dcm = DObject.read("export1.dcm") 
dcm_image = dcm.image; 

dcm_image.normalize.write("export1.jpg") 
exit 

Когда я запускаю это,

dcm_image = dcm.image дает мне предупреждение/ошибка:

WARN -- DICOM: Decompressing pixel values has failed (unsupported transfer syntax: '1.2.840.10008.1.2.4.70' - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression) 

Я нахожу, что он читает DICOM просто отлично. Я могу извлечь информацию о пациенте. Но я не могу понять, как вытащить изображение DICOM и сделать его jpg.

Благодарим за помощь!

+0

Действительно ли ваше изображение? Вы попробовали это с другими инструментами? Правильно ли он определяет файл export1.dcm' как правильный тип? – tadman

ответ

1

Изображение внутри вашего файла DICOM сжимается. Это JPEG без потерь (это то, что означает 1.2.840.10008.1.2.4.70). См. here для получения дополнительной информации.

Заголовок находится здесь и может быть прочитан драгоценным камнем dicom, но сначала нужно преобразовать изображение.

Вы можете использовать dcmdjpeg первым на export1.dcm:

dcmdjpeg export1.dcm export1_uncompressed.dcm 

и запустить скрипт с export1_uncompressed.dcm.