Почему dcm4che создает огромные файлы, когда мы отправляем DICOM из инструмента sendcu CharruaSoft, используя другой синтаксис передачи? - PullRequest
2 голосов
/ 07 мая 2019

У меня есть несколько 16-битных и 8-битных файлов DICOM, которые я передаю в dcm4che StoreSCP с помощью инструмента CharcuaSoft sendcu.

Он отлично работает для 16-битных файлов, но для 8-битных простых файлов размером 2 МБ генерирует огромный файл размером 90 МБ.

Я попытался отправить, используя StoreSCU из самого dcm4che, и он работает нормально Но из CharruaSoft SendSCU он создает огромные файлы.

Шаги для воспроизведения:

  1. Скачать CharruaSoft SendSCU .
  2. Настройка инструмента dcm4che SCP maven project.
  3. Запустите основной метод Java, используя правильные аргументы, приведенные в --help.
  4. Для отправки 16-битного DICOM используйте CharruaSoft SendSCU, все работает нормально.
  5. Теперь отправьте 8-битный DICOM, он работает, но создает огромный файл, в моем случае 2 МБ стало 90 МБ.

Прежде всего, я подумал, что это может быть проблемой CharruaSoft SendSCU, но CharruaSoft SendSCU может отправлять сообщения другим SCP, например, для: mymedicalimages.com должным образом.

Кто-нибудь уже сталкивался с подобными проблемами?

Edit:

Если я выберу 8-битное сжатие JPEG с потерями в CharcuaSoft sendcu, оно сработает и не создаст огромный файл размером 90 МБ.
Но я не имею никакого контроля над инструментом sendSCU CharruaSoft. Я хочу, чтобы java dcm4che SCP справился с этим.

Редактировать 2: Также хорошо, если вместо этого я просто переопределю синтаксис передачи с правильным, чтобы он сохранял файл dicom как файл точного размера.

1 Ответ

2 голосов
/ 08 мая 2019

Я отладил вашу проблему с SendSCU.

Я получил изображение со сжатием JPEG 2000 Lossy.Я установил с ним соединение с моим SCP и отправил изображение.

Ниже приведен журнал Associate:

Implementation Version:  CharruaSoft
Maximum PDU Size:        16384
Called AE Title:         remote
Calling AE Title:        local
Presentation Contexts:   1
  Presentation Context:  1 [Proposed]
      Abstract:  CT Image Storage
      Transfer:  Explicit VR Little Endian
      Transfer:  JPEG 2000 Image Compression
      Transfer:  Implicit VR Little Endian: Default Transfer Syntax for DICOM

Обратите внимание, что SendSCU предлагает только один контекст представления (ПК) с тремя передачамиСинтаксисы в нем.Теперь дело за SCP, какой TS принятьХорошо, что SCU автоматически определяет исходный TS изображения для отправки.

для 8-битного простого файла размером 2 МБ генерирует огромный файл размером 90 МБ.

Это потому, что ваш SCP принимает первый синтаксис передачи и отправляет ASSOCIATE-ACCEPT обратно в SendSCU.Затем SendSCU (как и ожидалось) распаковывает изображение на лету и, следовательно, увеличивает его размер.

Я попытался отправить с помощью StoreSCU из самого dcm4che, и он отлично работает.

Я уверен, что StoreSCU должен предложить:

  • только один TS - один с потерями ИЛИ
  • несколько TS каждый на отдельном ПК.SCP принимает каждый ПК.StoreSCU использует лучший - Lossy ИЛИ
  • несколько TS с Lossy TS в верхней части

В любом из вышеперечисленных случаев StoreSCU не будет распаковывать изображение и не будетразмер вопроса.Возможно, вы должны получить для него журнал, аналогичный описанному выше.

CharruaSoft SendSCU может отправлять сообщения другим SCP, например, для: mymedicalimages.com должным образом.

Itэто решение SCP, какой TS принять, если на одном ПК предлагается несколько TS.Поскольку упомянутый вами SCP размещен в Интернете, он, скорее всего, принимает Lossy TS (для повышения производительности и экономии пропускной способности) по приоритету и, следовательно, размер получаемого файла невелик.Вы должны проверить их заявление о соответствии.Если вы загрузите его здесь, я могу немного помочь.

Если я выберу 8-битное сжатие JPEG с потерями в CharruaSoft sendcu, оно работает и не создает огромный файл размером 90 МБ.

Ниже приведен журнал Associate в этом случае:

Implementation Version:  CharruaSoft
Maximum PDU Size:        16384
Called AE Title:         remote
Calling AE Title:        local
Presentation Contexts:   1
  Presentation Context:  1 [Proposed]
      Abstract:  CT Image Storage
      Transfer:  JPEG 2000 Image Compression
      Transfer:  Implicit VR Little Endian: Default Transfer Syntax for DICOM

Обратите внимание, что JPEG 2000 является первым TS, предложенным здесь.SCP принимает это, и все просто отлично работает.

Но я не контролирую инструмент CharSCaSoft sendSCU.Я хочу, чтобы java dcm4che SCP справился с этим.

Я никогда не использовал инструмент dcm4che;Я не могу помочь здесь.Вы можете проверить документ dcm4che, чтобы увидеть, как вы можете настроить, какой TS принимать, который предлагается на ПК.Надеемся, что есть настройка / переключатель для управления этим поведением.Это ваш единственный путь, если вы хотите работать с SCP на лету.

Другой альтернативой является автономное преобразование TS с переключателем -t, как объяснено здесь .

-t,--transfer-syntax <uid>

перекодировать источники в указанный синтаксис передачи.По умолчанию используется Explicit VR Little Endian

...