Операция C-MOVE с DCM4CHEE 5.14.1 до STORESCP 5.14.1 зависает на Sta6, завершается при прерывании движения
Я пытаюсь заставить работать C-MOVE из dcm4chee-arc-light 5.14.1 в storecsp с помощью movcu, оба из dcm4che 5.14.1.
Хранилище cc получает AssociationRQ от dcm4chee и принимает его, но когда оба процесса входят в "Sta6 - Ассоциация установлена и готова к передаче данных", операция просто зависает.
РЕДАКТИРОВАТЬ: Если я прерываю исполняемый файл movcu (Ctr+C), изображения передаются успешно.
local_STORESCP имеет хост и порт, настроенный в dcm4chee. Я могу успешно выполнить эхо и экспортные операции из dcm4chee в local_STORESCP.
dcm4chee устанавливается в VirtualBox под управлением Linux Mint 19 (следуя этим инструкциям https://github.com/dcm4che/dcm4chee-arc-light/wiki/Installation, без каких-либо ошибок). Я попробовал операцию как с моего хоста Windows 10, так и с самого Mint, оба с одинаковыми результатами.
Я заметил это поведение, когда пытался заставить C-MOVE работать из приложения Java, а затем протестировал с помощью двоичных файлов из dcm4che, чтобы увидеть, работает ли он, и это не так. Я также не могу выполнить C-MOVE, используя Weasis или K-PACS, только C-GET.
Я все еще очень плохо знаком с dicom, java и dcm4che, поэтому я немного перегружен журналами и информацией в Интернете. По этой причине может быть что-то, чего мне не хватает при установке и настройке dcm4chee-arc-light или о том, как правильно выполнить запрос C-MOVE.
Я пытался опубликовать похожий вопрос несколько недель назад в группе dcm4che google, но не получил ответа - я думаю, что maillist просто недостаточно активен.
Решение этой проблемы является требованием для разработки моего Java-приложения, и я действительно ценю любую помощь, которую я могу получить.
До перерыва:
MOVESCU log:
./movescu -c DCM4CHEE@MyIP:DCM4CHEE_PORT -m StudyInstanceUID=1.2.826.0.1.3680043.8.1055.1.20111103111148288.98361414.79379639 --dest local_STORESCP
11:31:55,368 INFO - Initiate connection from 0.0.0.0/0.0.0.0:0 to MyIP:DCM4CHEE_PORT
11:31:55,373 INFO - Established connection Socket[addr=/MyIP,port=DCM4CHEE_PORT,localport=58851]
11:31:55,380 DEBUG - /MyIP:58851->/MyIP:DCM4CHEE_PORT(1): enter state: Sta4 - Awaiting transport connection opening to complete
11:31:55,387 INFO - MOVESCU->DCM4CHEE(1) << A-ASSOCIATE-RQ
11:31:55,392 DEBUG - A-ASSOCIATE-RQ[
calledAET: DCM4CHEE
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
ts: 1.2.840.10008.1.2.2 - Explicit VR Big Endian (Retired)
]
]
11:31:55,392 DEBUG - MOVESCU->DCM4CHEE(1): enter state: Sta5 - Awaiting A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU
11:31:55,395 INFO - MOVESCU->DCM4CHEE(1) >> A-ASSOCIATE-AC
11:31:55,395 DEBUG - A-ASSOCIATE-AC[
calledAET: DCM4CHEE
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
]
11:31:55,395 DEBUG - MOVESCU->DCM4CHEE(1): enter state: Sta6 - Association established and ready for data transfer
11:31:55,400 INFO - MOVESCU->DCM4CHEE(1) << 1:C-MOVE-RQ[pcid=1, prior=0
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
11:31:55,415 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [33] CommandField
(0000,0110) US [1] MessageID
(0000,0600) AE [local_STORESCP] MoveDestination
(0000,0700) US [0] Priority
(0000,0800) US [0] CommandDataSetType
11:31:55,415 DEBUG - Dataset:
(0008,0052) CS [STUDY] QueryRetrieveLevel
(0020,000D) UI [1.2.826.0.1.3680043.8.1055.1.20111103111148288.98361414.793796
Журнал STORESCP:
./storescp -b local_STORESCP@MyIP:STORESCP_PORT --accept-unknown
11:31:50,263 INFO - Start TCP Listener on /MyIP:STORESCP_PORT
11:31:55,487 INFO - Accept connection Socket[addr=/MyIP,port=38267,localport=STORESCP_PORT]
11:31:55,524 DEBUG - /MyIP:STORESCP_PORT<-/MyIP:38267(1): enter state: Sta2 - Transport connection open
11:31:55,534 INFO - local_STORESCP<-DCM4CHEE(1) >> A-ASSOCIATE-RQ
11:31:55,549 DEBUG - A-ASSOCIATE-RQ[
calledAET: local_STORESCP
callingAET: DCM4CHEE
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 3
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 5
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])
]
PresentationContext[id: 7
as: 1.2.840.10008.5.1.4.1.1.88.59 - Key Object Selection Document Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 9
as: 1.2.840.10008.5.1.4.1.1.88.59 - Key Object Selection Document Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 11
as: 1.2.840.10008.5.1.4.1.1.11.1 - Grayscale Softcopy Presentation State Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 13
as: 1.2.840.10008.5.1.4.1.1.11.1 - Grayscale Softcopy Presentation State Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
11:31:55,549 DEBUG - local_STORESCP<-DCM4CHEE(1): enter state: Sta3 - Awaiting local A-ASSOCIATE response primitive
11:31:55,549 INFO - local_STORESCP<-DCM4CHEE(1) << A-ASSOCIATE-AC
11:31:55,550 DEBUG - A-ASSOCIATE-AC[
calledAET: local_STORESCP
callingAET: DCM4CHEE
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 3
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 5
result: 0 - acceptance
ts: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])
]
PresentationContext[id: 7
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 9
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 11
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 13
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
11:31:55,550 DEBUG - local_STORESCP<-DCM4CHEE(1): enter state: Sta6 - Association established and ready for data transfer
Журнал DCM4CHEE:
11:31:55,373 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-2) /MyIP:DCM4CHEE_PORT<-/MyIP:58851(27): enter state: Sta2 - Transport connection open
11:31:55,373 DEBUG [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-2) Wait for connection on /0.0.0.0:DCM4CHEE_PORT
11:31:55,392 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27) >> A-ASSOCIATE-RQ
11:31:55,392 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) A-ASSOCIATE-RQ[
calledAET: DCM4CHEE
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
ts: 1.2.840.10008.1.2.2 - Explicit VR Big Endian (Retired)
]
]
11:31:55,392 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27): enter state: Sta3 - Awaiting local A-ASSOCIATE response primitive
11:31:55,392 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27) << A-ASSOCIATE-AC
11:31:55,392 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) A-ASSOCIATE-AC[
calledAET: DCM4CHEE
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
]
11:31:55,392 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27): enter state: Sta6 - Association established and ready for data transfer
11:31:55,417 INFO [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27) >> 1:C-MOVE-RQ[pcid=1, prior=0
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
11:31:55,417 DEBUG [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-3) Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [33] CommandField
(0000,0110) US [1] MessageID
(0000,0600) AE [local_STORESCP] MoveDestination
(0000,0700) US [0] Priority
(0000,0800) US [0] CommandDataSetType
11:31:55,417 DEBUG [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-3) Dataset:
(0008,0052) CS [STUDY] QueryRetrieveLevel
(0020,000D) UI [1.2.826.0.1.3680043.8.1055.1.20111103111148288.98361414.793796
11:31:55,417 INFO [org.dcm4chee.arc.retrieve.scp.CommonCMoveSCP] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE<-MOVESCU(27): Process C-MOVE RQ:
(0008,0052) CS [STUDY] QueryRetrieveLevel
(0020,000D) UI [1.2.826.0.1.3680043.8.1055.1.20111103111148288.98361414.793796
(...)
11:31:55,487 INFO [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-3) Initiate connection from /0.0.0.0:0 to MyIP:STORESCP_PORT
11:31:55,487 INFO [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-3) Established connection Socket[addr=cwVB.semfio.rp.usp.br/MyIP,port=STORESCP_PORT,localport=38267]
11:31:55,487 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) /MyIP:38267->cwVB.semfio.rp.usp.br/MyIP:STORESCP_PORT(28): enter state: Sta4 - Awaiting transport connection opening to complete
11:31:55,487 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE->local_STORESCP(28) << A-ASSOCIATE-RQ
11:31:55,487 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) A-ASSOCIATE-RQ[
calledAET: local_STORESCP
callingAET: DCM4CHEE
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 3
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 5
as: 1.2.840.10008.5.1.4.1.1.4 - MR Image Storage
ts: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])
]
PresentationContext[id: 7
as: 1.2.840.10008.5.1.4.1.1.88.59 - Key Object Selection Document Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 9
as: 1.2.840.10008.5.1.4.1.1.88.59 - Key Object Selection Document Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 11
as: 1.2.840.10008.5.1.4.1.1.11.1 - Grayscale Softcopy Presentation State Storage
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 13
as: 1.2.840.10008.5.1.4.1.1.11.1 - Grayscale Softcopy Presentation State Storage
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
11:31:55,492 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-3) DCM4CHEE->local_STORESCP(28): enter state: Sta5 - Awaiting A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU
11:31:55,550 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-4) DCM4CHEE->local_STORESCP(28) >> A-ASSOCIATE-AC
11:31:55,550 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-4) A-ASSOCIATE-AC[
calledAET: local_STORESCP
callingAET: DCM4CHEE
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.14.1
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 3
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 5
result: 0 - acceptance
ts: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])
]
PresentationContext[id: 7
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 9
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
PresentationContext[id: 11
result: 0 - acceptance
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
]
PresentationContext[id: 13
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
11:31:55,550 DEBUG [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-4) DCM4CHEE->local_STORESCP(28): enter state: Sta6 - Association established and ready for data transfer
11:31:55,550 DEBUG [org.dcm4che3.util.ReverseDNS] (EE-ManagedExecutorService-default-Thread-3) rDNS MyIP -> ...
11:31:55,550 DEBUG [org.dcm4che3.util.ReverseDNS] (EE-ManagedExecutorService-default-Thread-3) rDNS MyIP -> cwVB.semfio.rp.usp.br in 0 ms
РЕДАКТИРОВАТЬ: Не удается опубликовать полный журнал того, что происходит после прерывания из-за ограничения символов, но dcm4chee выводит это до того, как C-STORE запросит local_STORESCP:
12:52:53,881 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-4) DCM4CHEE<-MOVESCU(2): i/o exception: java.io.EOFException in State: Sta6 - Association established and ready for data transfer
12:52:53,881 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-4) DCM4CHEE<-MOVESCU(2): close Socket[addr=/MyIP,port=37503,localport=DCM4CHEE_PORT]