Сложность с использованием 'findcu', затем 'movecu', а затем повторяющееся повторение для нескольких номеров доступа - PullRequest
1 голос
/ 28 июня 2019

Я написал код, который используется для извлечения файлов DICOM с моего внутреннего сервера, но у меня возникают трудности с его многократным запуском для разных номеров доступа.

Сводка рабочего процесса: учитывая определенный номер доступа,

  1. используйте findcu для получения информации о номере доступа,
  2. анализирует выходной файл в фрейме данных, чтобыупорядочить информацию,
  3. Выбрать конкретные описания серий из фрейма данных,
  4. использовать movcu для загрузки сканов
  5. Выполнить обработку на загруженном сканировании DICOM

Затем повторите для нового номера доступа.

Проблема возникает при выполнении findcu во второй раз, он скажет мне, что в базе данных нет информации о номере доступа, как если бы номер доступа не существовал.Но это невозможно, потому что, когда я останавливаю код и выполняю итерации вручную, следующий номер доступа существует в базе данных.

команда findcu:

'findscu -v -S  -k 0008,0052=SERIES -k 0010,0010="" -k 0010,0020="" -k 0008,0050=<acc_num> -k 0008,1030="" -k 0020,000D="" -k 0008,0020="" -k 0008,103e="" -k 0020,0011="" -k 0020,000E="" -k 0020,1002="" -aet <my_aet> -aec <remote_aet> <remote_ip> <remote_port> > F:\\FGTCategoryQuantification_mhas\\findscu_acc_num_SERIES.txt'

команда movcu:

'movescu -S +P 4006 -k 0008,0052=IMAGE -k 0010,0010="" -k 0010,0020="" -k 0008,0050=<acc_num> -k 0008,1030="" -k 0020,000D=1.2.826.0.1.3680043.2.1009.1465932691.20300.142.76.30.2008137300 -k 0008,0020="" -k 0008,103e="" -k 0020,0011="" -k 0020,000E=1.2.826.0.1.3680043.2.1009.1465932803.545000130.20070116 -k 0020,1002="" -aet <my_Aet> -aec <remote_aet> <remote_ip> <remote_port> -od F:\\FGTCategoryQuantification_mhas\\DICOMacc_numX01 > F:\\FGTCategoryQuantification_mhas\\DICOMacc_numX01\\movescu_acc_numPh1SagVIBRANTMPH.txt'

Я думаю, что возможно какое-то соединение еще открыто, которое прерывает второе выполнение findcu?или какая-то другая проблема?У меня нет большого опыта работы с dcmtlk.Любые советы будут высоко ценится.

Заранее спасибо - Серый

1 Ответ

0 голосов
/ 03 июля 2019

Йорг Рисмайер прав, говоря, что DICOM не разрешает поиск по номеру доступа - ему необходимо идентифицировать исследование, которое вы хотите получить, по его UID экземпляра исследования (0020,000D).

Однако сервер, с которым вы общаетесьс, кажется, поддерживает поиск по номеру доступа в целом.Если время ваших запросов имеет значение, сервер может принять только одну связь за раз.Однако сообщение об ошибке должно быть частью ответа на второй запрос на сопоставление, а не на второй запрос C-FIND, и указывать, что предел соединения превышен.Реализация DICOM на сервере выглядит не совсем корректно ...

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

...