Проблема GDCM C-Move с исследованиями, содержащими документы / отчеты

Я не думаю, что получу нужный мне ответ, но я подумал, что спрошу, прежде чем отказываться от GDCM.

Я создал инструмент, использующий библиотеку GDCM, чтобы выполнять некоторые запросы / извлечения в нашей локальной системе PACS. Во время тестирования все работало нормально, но теперь, когда я его развернул, у нас возникла одна серьезная проблема.

Когда C-Move передает исследование (с несколькими сериями) и обнаруживает серию с документом или отчетом (протокол пациента IE, отчет о дозе), он прекращает передачу любых других изображений, даже для другой серии в исследовании. Используя Wireshark, я вижу, что запросы C-Move отправляются, но никакие передачи C-Store не отправляются обратно.

Это будет продолжаться до следующего исследования, которое будет перенесено в обычном режиме, пока не попадет в другую серию, в которой есть документ / отчет. Мы не заметили этого во время раннего тестирования, потому что мы тестировали избранные исследования, которые не содержали отчетов.

Есть ли причина, по которой GDCM не играет в мяч с не-изображениями, используя C-Move? Если я не могу легко преодолеть это ограничение библиотеки, есть ли способ игнорировать серии с отчетами или серии только с одним изображением (именно так хранятся скаутские изображения и отчеты, которые мне не нужны). Нужно ли мне менять библиотеку DCMTK вместо моего инструмента Q / R?

Ваше здоровье,

Шенсмобиль


person Shensmobile    schedule 17.08.2018    source источник
comment
Источник вашей проблемы не обязательно GDCM. C-MOVE вызывает ассоциацию C-STORE с собственным согласованием контекста представления. Я подозреваю, что классы обслуживания (UID классов SOP) либо не предлагаются GDCM, либо не принимаются DCMTK. По умолчанию Storage SCP DCMTK принимает все, что угодно, но это зависит от того, как вы его используете / настраиваете.   -  person kritzel_sw    schedule 17.08.2018
comment
Я согласен, что это не обязательно проблема с GDCM; однако другие бесплатные программы просмотра DICOM, такие как Radiant Viewer, могут без проблем выполнять C-Move тех же целых исследований, поэтому я чувствую, что Storage SCP способен обрабатывать передачу этих отчетов, именно так настроен инструментарий GDCM SCU.   -  person Shensmobile    schedule 17.08.2018


Ответы (1)


Ну для начала:

  • Ваш вопрос требует дополнительной информации. Я все же постараюсь ответить по понятным причинам.
  • Я никогда не использовал GDCM. Отвечу в контексте DICOM.

GDCM - это: QR SCU и CStore SCP.
PACS - это: QR SCP и CStore SCU.

Если выше указано обратное, это не сильно меняет ответ, просто поменяйте роли местами.

Я не думаю, что проблема в вашей системе PACS или GDCM. Я думаю, проблема в том, что ассоциация является частью запроса MOVE.

Ваш CStore SCP не поддерживает эти классы SOP, потому что:

  • Просто он их совсем не поддерживает.
    Может быть, вам нужно настроить его, чтобы добавить поддержку. Я не знаю, что здесь делать. Я не знаю ни GDCM, ни вашего PACS. В этом нужно разобраться самому.
  • SCU вообще не предлагает их.
    Настройте SCU, чтобы предлагать эти классы.
  • Они предложены SCU, но не приняты SCP.
    Узнайте, почему SCP отклоняет эти классы, в ответе Associate. Я сильно подозреваю, что это проблема. Скорее всего, ваш SCP CStore не настроен для приема экземпляров с этими классами SOP.
  • Они принимаются SCP, но экземпляры в CStore Request по какой-то причине отклоняются.
    Почему, я не знаю. Возможно, вам потребуется проверить свои журналы и конфигурации.

Пожалуйста, поймите, что большая часть проблем в связи с сетью DICOM связана с ассоциацией. Сосредоточьтесь на отладке.

Что я могу сказать с уверенностью, так это то, что эта проблема не связана с запросами / ответами C-Find или C-Move. Эта проблема связана с работой C-Store и его ассоциативной частью.

Прочтите следующие отличные статьи от Рони:

http://dicomiseasy.blogspot.com/2012/01/dicom-queryretrieve-part-i.html
http://dicomiseasy.blogspot.com/2012/02/c-move.html

Используя Wireshark, я вижу, что запросы C-Move отправляются, но никакие передачи C-Store не отправляются обратно.

Предполагая, что вы перемещаете Исследование, запрос MOVE отправляется один раз, чтобы инициировать операцию MOVE. Затем MOVE SCP станет CStore SCU и инициирует еще одну ассоциацию с CStore SCP. SCP CStore может отличаться от оригинального MOVE SCU; но я не думаю, что это так в вашем сценарии. Затем для каждой (необязательно; не полагайтесь на это. Прочтите упомянутые ниже статьи Рони) операции CStore передается ответ MOVE. Вы не упомянули об ответах MOVE в своем вопросе.

Есть ли причина, по которой GDCM не играет в мяч с не-изображениями, используя C-Move?

Я не думаю, что речь идет о «не-имидже», как упоминалось выше; но не может полностью обойти эту возможность. Может быть, CStore SCP принимает эти классы SOP (неправильно, даже если он не поддерживает их), но по какой-то причине отклоняет экземпляры (может быть экземпляром, отличным от изображения), в то время как C-Store. Здесь вам нужно проверить журналы и конфигурации вашего CStore SCP.

Если я не могу легко преодолеть это ограничение библиотеки, есть ли способ игнорировать серии с отчетами или серию только с одним изображением

Вы можете обойти получение уровня исследования / ПЕРЕМЕЩЕНИЕ и попробовать получение уровня серии. Для этого вам сначала нужно получить список (C-Find) SeriesInstanceUID для этого исследования. Затем ПЕРЕМЕСТИТЕ каждую серию независимо. В ответе C-Find вы также получаете другие атрибуты, такие как количество изображений, в которые вы можете поместить свои фильтры для дальнейшей операции MOVE.

Нужно ли мне менять библиотеку DCMTK вместо моего инструмента Q / R?

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

person Amit Joshi    schedule 17.08.2018
comment
Хороший ответ. Насколько я понимаю, Storage SCP основан на DCMTK. С реализациями, предоставленными OFFIS, он будет принимать любой известный вид официального объекта DICOM. - person kritzel_sw; 17.08.2018
comment
Спасибо за помощь. Я собираюсь вручную попытаться переместить экземпляры отчетов C-Move, чтобы увидеть ответ ассоциации. Я полагаю, что это больше связано с тем, что я использую GDCM, а не с проблемой на стороне PACS с QR SCP. Есть ли причина, по которой попадание в серию с отчетом приведет к сбою передачи последующих серий? Я подумал о том, чтобы попытаться получить сериальный уровень и использовать некоторую логику в моем коде для фильтрации серий с одним изображением, но мой PACS не поддерживает получение серий, а также множество тегов, которые не поддерживаются в C-Find. - person Shensmobile; 17.08.2018
comment
Так что, к сожалению, мой PACS также не позволяет использовать C-Move для UID экземпляров SOP. Единственный способ увидеть ответ партнера - это фильтровать журнал при выполнении C-Move в исследовании с отчетом, который я сейчас просматриваю. Надеюсь, я смогу найти что-то, что указывает на то, что происходит, когда я пытаюсь получить отчет. - person Shensmobile; 17.08.2018