Я написал код, который используется для извлечения файлов DICOM с моего внутреннего сервера, но у меня возникают трудности с его многократным запуском для разных номеров доступа.
Сводка рабочего процесса: учитывая определенный номер доступа,
- используйте findcu для получения информации о номере доступа,
- анализирует выходной файл в фрейме данных, чтобыупорядочить информацию,
- Выбрать конкретные описания серий из фрейма данных,
- использовать movcu для загрузки сканов
- Выполнить обработку на загруженном сканировании 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.Любые советы будут высоко ценится.
Заранее спасибо - Серый