Обработка изображения JPEG без потерь в DICOM
У меня есть DICOM-изображение, в котором хранится изображение в виде следующего JPEG без потерь, неиерархического прогнозирования первого порядка (процессы 14 [значение выбора 1]): синтаксис передачи по умолчанию для сжатия изображений JPEG без потерь
Я могу открыть исходный файл DICOM в Irfanview, и это прекрасно работает, но когда я беру поток битов из файла DICOM, сохраняю его как файл и пытаюсь открыть его в Irfanview, я получаю сообщение об ошибке "Unsupported JPEG process/ сжатие: SOF тип 0xc3"
Я проверил, что поток байтов совпадает с потоком файла DICOM, и проверил, что он начинается с FF D8 FF E0 00 10 4A 46 49 46, который выглядит как стандартный заголовок JPEG.
В конце файла DICOM есть 4 байта, которые превышают длину тега, это какой-то нижний колонтитул DICOM?
Есть идеи, что нужно сделать, чтобы открыть это? Я включил плагин JPEG_LS в Irfanview. Это продолжение Length of PixelStream в библиотеке EvilDicom
1 ответ
Эти данные не являются JPEG-LS, это JPEG Lossless (1.2.840.10008.1.2.4.70), совершенно не связанный формат сжатия. Очень немногие устройства для чтения изображений поддерживают этот тип данных JPEG. Я только знал, что это будет использоваться в контексте DICOM.
Я также полагаю, что это не обязательно может быть один непрерывный блок данных JPEG, а скорее быть разбитым на сегменты (инкапсулированный DICOM) с помощью упаковщиков тегов DICOM.
Возможно, Irfanview знает, как читать его в контексте DICOM, но не может читать его как обычные данные JPEG, так как это такой редкий формат JPEG. Или, возможно, поток данных не является непрерывными данными JPEG, но также содержит элементы DICOM.