DICOM сжатие файлов - PullRequest
       7

DICOM сжатие файлов

4 голосов
/ 07 июля 2010

Моя работа требует использования файлов DICOM. Каждый файл DICOM состоит из множества файлов .dcm в одном каталоге. Я должен отправить эти файлы по сети, процесс, который в некоторой степени связан с огромным размером файлов. Я также программист, и мне было интересно, что является идеальным способом сжатия таких файлов? Я говорю о сжатии, которое будет выполнено на локальном компьютере, а затем распаковано на конечном компьютере (то есть сжатие предназначено исключительно для ускорения передачи файла по сети). Есть ли простой способ обрезать файлы DICOM? (файлы содержат изображения всей головы, тогда как меня интересует только небольшая часть головы).

Спасибо!

Ответы [ 4 ]

3 голосов
/ 07 июля 2010

В медицинском контексте сжатие с потерями находится где-то между не поощряемым и запрещенным.Если вы настаиваете на том, чтобы обрезать существующие наборы данных, стандарт требует, чтобы вы формировали как минимум новые UID для изображений и серий.Стандарт допускает сжатие без потерь в форме jpeg2000, но это довольно редко - если бы я поспорил, я бы сказал, что ваш набор данных вообще не сжат.

По моему опыту, гораздо лучше сжать медицинскийнабор данных в виде сплошного архива - то есть объедините все изображения в один поток.Это имеет большой смысл, так как обычно существует большое сходство между соседними изображениями, и это - способ воспользоваться этим сходством (унифицированный словарь сжатия).Это доступно как опция командной строки для компрессоров rar и gzip.

2 голосов
/ 22 июля 2010

Решение:

gdcmconv --jpeg uncompressed.dcm compressed.dcm

или для лучшей степени сжатия:

gdcmconv --jpegls uncompressed.dcm compressed.dcm

См .: http://gdcm.sourceforge.net/html/gdcmconv.html

Я бы также рекомендовал против сжатия с потерями, вы быдолжен быть мастером DICOM, чтобы сделать это правильно (см. механизм деривации в стандарте DICOM).Я бы также рекомендовал не обрезать изображение (вам нужно будет восстановить UID, обновить кадр или ссылку ...)

HTH

1 голос
/ 16 июля 2013

У нас есть компрессионный маршрутизатор под названием «DICOM Shrinkinator», который может сделать это, передавая исследование в PACS:

http://fluxinc.ca/medical/dicom-shrinkinator/

1 голос
/ 07 июля 2010

Вы можете использовать что-то простое, например сжатие lzma на одном конце, чтобы упаковать файлы и отправить их заново.Это самое простое решение, поскольку вы можете программно получить что-то вроде gzip и упаковать / распаковать файлы.Это может значительно помочь, поскольку современные компьютеры предпочитают передавать / получать один большой файл из множества мелких файлов (один файл размером 1 ГБ будет передавать намного быстрее, чем 10000 файлов по 100 КБ).

Что касается фактического уменьшения совокупного размера каждого из них.Файл dcm, вероятно, представляет собой срез (если вы смотрите на что-то вроде данных МРТ или КТ), а используемый вами просмотрщик реконструирует срезы в трехмерное изображение.Обрезать их не невозможно, но анализ формата DICOM немного сложен.Я не знаю ни одной бесплатной программы, которая поможет вам разобрать файлы DICOM, но я некоторое время не искал.

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

...