2016-07-21 17 views
0

Я искал способ, чтобы сжать DICOM файлы и отправлять их на удаленный сервер (nodejs в моем случае)компресс файлов DICOM для отправки на удаленный сервер

Я пытался сжатие BZ2 и это похоже на работу очень хорошо на больших файлах dicom (протестировал его с файлом 10 Мбайт, который дал мне сжатый файл 5 Мб).

Когда дело доходит до малого размера (например, файл 250Кб), я получаю размер уменьшается на очень немногих кбайт (от 5 до 10 кб в большинстве случаев), которые он не будет стоит

может кто-то пожалуйста, объясните мне, почему bz2 работает очень хорошо с большими файлами dicom и есть лучший способ сжать файлы dicom, которые я могу использовать, чтобы отправить их через Интернет.

благодарит заранее.

+0

Как вы хотите перенести файлы через интернет? DICOM C-STORE или проприетарный протокол? О каких изображениях вы говорите? Цвет/Оттенки серого, Разрешение? –

+0

спасибо за ответ, перевод с http post, я не уверен в диком виде, нет ли адаптивного метода сжатия без потерь, который будет работать для любого вида (?) – user3711521

ответ

0

Если вы хотите сжать набор данных DICOM с изображениями, рекомендуется использовать один из типов сжатия, поддерживаемый DICOM Standard. Это включает в себя файлы с потерями и без потерь JPEG, JPEG 2000, JPEG-LS и RLE, чтобы назвать несколько. Стандарт также поддерживает кодирование расширенных оттенков серого (12-16 бит оттенков серого) с использованием стандартных методов сжатия.

Элемент (0002, 0010) синтаксиса передачи указывает, будет ли изображение в наборе данных DICOM уже сжато или нет. Например, для повторного сжатия уже сжатого изображения будет иметь меньшую степень сжатия по сравнению с оригиналом. Таким образом, лучший способ измерения - сравнить с оригинальным несжатым изображением. Если исходное изображение уже сжато, вы можете вычислить размер несжатого изображения, используя (Строки x Столбцы x Биты выделены/8 x Пример на пиксель x Число кадров). Кроме того, коэффициент сжатия будет варьироваться в зависимости от типа изображения (цвет и оттенки серого) и используемого метода сжатия. Как правило, вы получите гораздо лучшее сжатие, когда имеете дело с истинным цветным изображением и изображением в градациях серого, таким как X-RAY.

Что касается использования HTTP для загрузки файла, вы также можете использовать стандартную службу DICOM, такую ​​как служба REST DICOMWeb (STOW-RS).

Я работаю на LEAD Technologies, и если вы хотите протестировать различные сжатия в ваших файлах DICOM, у нас есть демонстрационный пример (синтаксис передачи), который поставляется с нашим бесплатным 60-дневным оценочным SDK, который вы можете использовать для тестирования. Кроме того, есть демонстрация для тестирования служб DICOMWeb REST. Вы можете загрузить оценочную копию с нашего веб-сайта.

0

Существует не одно решение, которое идеально подходит для всех ...

BZ2 основана на принципе, что «цвета» (или значения серого, но я буду использовать «цвета» в этом объяснении), которые часто происходят в изображении, закодированы с меньшим количеством бит, чем цвета, которые являются редкими. Таким образом, как правило: чем больше изображение, тем лучше коэффициент сжатия.

JPEG - это другой подход, который разлагает изображение на плитки и оптимизирует кодировку для каждой плитки. Таким образом, степень сжатия меньше зависит от размера изображения, чем для BZ2. JPEG поставляется в разных вариантах (с потерями, без потерь, JPEG 2000, которые могут создавать различные сериализации сжатых данных для разных целей, например, прогрессивное уточнение).

Менее популярные алгоритмы сжатия, которые являются действительными в DICOM, но широко не поддерживается DICOM продукты:

УПИ (Run Length Encoding) - данные пикселя описывается парами цвета и количества пикселей, поэтому он очень хорошо сжимается, когда на изображении имеются большие однородные области. Во всех остальных случаях это скорее увеличение размера «сжатых» изображений

JPEG-LS - я не знаю, как это работает внутри, но он обеспечивает алгоритм без потерь и с потерями алгоритма, в котором вы можете управлять потерей информации (максимальная разница значения пикселя после сжатия до исходного значения пикселя). Говорят, что он обеспечивает лучшие отношения, чем традиционные JPEG, но, поскольку он не получил широкого распространения, я пока не использовал его на практике.

Если вы не хотите выбирать алгоритм сжатия в зависимости от типа изображения, JPEG-Lossless, вероятно, является хорошим компромиссом для вас. В типичных медицинских изображениях он достигает средней степени сжатия примерно в 1: немного больше с JPEG-2000.

+0

JPEG-Lossless достигает примерно 1: 2 1: 3 для большинства случаев. С медицинскими изображениями JPEG-Lossless довольно распространен, тогда как JPEG-LS и JPEG-2000 - нет. –