Сохранение изображений DICOM с использованием библиотеки Imebra - PullRequest
0 голосов
/ 16 ноября 2018

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

Image image = imageIterator.next();
TransformsChain chain = transform(image);
Bitmap bitmap = getBitmap(image, chain);

Кроме того, если я использую любую информацию, сохраняя свое изображениекадры в виде растровых изображений, могу ли я сохранить их в формате RAW (под «сырой» я имею в виду imebra.Image, я не уверен, совпадает ли это с форматом .raw?) и использовать их напрямую с ffmpeg?

1 Ответ

0 голосов
/ 16 ноября 2018

Изображение, которое вы получаете с помощью DrawBitmap::getBitmap, всегда имеет размер RGB 24 бита на пиксель один: вы потеряете информацию в случае, если изображение использует более 8 бит на канал цвета (например, 16-битное изображение в градациях серого будет терять нижнее 8 бит информации о пикселях).

Вы можете получить больший бит на число пикселей, избегая использования DrawBitmap::getBitmap и непосредственно применяя преобразования (VOI / LUT, преобразование цвета, преобразование старшего бита). После получения Image с желаемым цветовым пространством и битами на пиксель, используйте Image::GetReadingDataHandler для доступа к памяти, лежащей в основе изображения, и сгенерируйте растровое изображение для ffmpeg.

Раскрытие: я автор Imebra.

...