2016-05-16 7 views
0

Попытка вставить PDF-файл в dcm-файл, следуя приведенному ниже пояснению. Наши зрители еще не поддерживают встроенный PDF-файл. PDF конвертируется в изображение с помощью ghostscript и составляет 1000k на диске (многостраничные страницы, 150 dpi).C# Dicom файл большой, как я slim вниз?

https://gist.github.com/mdubey82/4030263

Независимо от того, что я делаю, fo-dicom не принимает 1000K JPG или PNG или BMP файл и создает файл ДХМ в 11 мегабайт.

Любые идеи, как уменьшить это?

Спасибо!

Редактировать


с большим количеством помощи, вот суть, которая строит сжатые ДХМЫ.

https://gist.github.com/WilliamDoman/e2365104f565a3bf9376fcec6609f432

ответ

1

Созданные файлы DICOM не сжали пиксельных данных. Это означает, что ваш PDF, который, вероятно, сжат JPEG/JPEG2000, распаковывается и создает очень большой файл DICOM. Вы хотите посмотреть на метод ChangeTransferSyntax(), чтобы скомпилировать данные пикселей перед сохранением.

DicomFile file = new DicomFile(dataset); 
file.ChangeTransferSyntax(DicomTransferSyntax.JPEGProcess14SV1); 
file.Save("dicom.dcm"); 
+0

Ваш, вероятно, правильный путь. Я думаю, что синтаксис может быть другой библиотекой, чем fo-dicom. Я использую версию 2.0.2. Я посмотрю, смогу ли я найти что-то подобное. – William

+0

Этот синтаксис переместился в метод расширения в пространстве имен Dicom.Imaging.Codec, но это не повлияло на размер. Я буду продолжать играть с ним. – William

+0

Доступны ли файлы _Dicom.Native.dll_ и/или _Dicom.Native64.dll_ на вашем пути? У вас есть «LogManager», настроенный для обеспечения того, чтобы во время процесса кодирования не было ошибок? –

 Смежные вопросы

  • Нет связанных вопросов^_^