1

I am new in DICOM and DCMTK. I was trying to retrieve dcm files from a private PACS server(172.18.1.1) with movescu command in Windows platform. The incoming and outgoing message were normal but no data was received in the specified directory.The command is as following:

movescu.exe -d -S -aec GEPACS -aet TEST1  -od c:\windows\dcmtk\dcm 172.18.1.1 4100 -k QueryRetrieveLevel=STUDY -k StudyInstanceUID=1.2.840.113619.186.351258914078.20100708160459594.417

The output message is as follow:

>D: $dcmtk: movescu v3.6.3 2018-02-05 $
>D:
>D: Request Parameters:
>D: ====================== BEGIN A-ASSOCIATE-RQ =====================
>D: Our Implementation Class UI>D:      1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name:   OFFIS_DCMTK_363
>D: Their Implementation Class UI>D:
>D: Their Implementation Version Name:
>D: Application Context Name:    1.2.840.10008.3.1.1.1
>D: Calling Application Name:    TEST1
>D: Called Application Name:     GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size:    16384
>D: Their Max PDU Receive Size:  0
>D: Presentation Contexts:
>D:   Context I>D:        1 (Proposed)
>D:     Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Proposed Transfer Syntax(es):
>D:       =LittleEndianExplicit
>D:       =BigEndianExplicit
>D:       =LittleEndianImplicit
>D:   Context I>D:        3 (Proposed)
>D:     Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Proposed Transfer Syntax(es):
>D:       =LittleEndianExplicit
>D:       =BigEndianExplicit
>D:       =LittleEndianImplicit
>D: Requested Extended Negotiation: none
>D: Accepted Extended Negotiation:  none
>D: Requested User Identity Negotiation: none
>D: User Identity Negotiation Response:  none
>D: ======================= END A-ASSOCIATE-RQ ======================
>I: Requesting Association
>D: setting network send timeout to 60 seconds
>D: setting network receive timeout to 60 seconds
>D: Constructing Associate RQ PDU
>D: PDU Type: Associate Accept, PDU Length: 208 + 6 bytes PDU header
>D:   02  00  00  00  00  d0  00  01  00  00  47  45  50  41  43  53
>D:   20  20  20  20  20  20  20  20  20  20  41  45  5f  41  52  43
>D:   48  31  20  20  20  20  20  20  20  20  00  00  00  00  00  00
>D:   00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00
>D:   00  00  00  00  00  00  00  00  00  00  10  00  00  15  31  2e
>D:   32  2e  38  34  30  2e  31  30  30  30  38  2e  33  2e  31  2e
>D:   31  2e  31  21  00  00  1b  01  00  00  00  40  00  00  13  31
>D:   2e  32  2e  38  34  30  2e  31  30  30  30  38  2e  31  2e  32
>D:   2e  31  21  00  00  1b  03  00  00  00  40  00  00  13  31  2e
>D:   32  2e  38  34  30  2e  31  30  30  30  38  2e  31  2e  32  2e
>D:   31  50  00  00  31  51  00  00  04  00  00  70  00  52  00  00
>D:   13  31  2e  32  2e  38  34  30  2e  31  31  33  36  31  39  2e
>D:   36  2e  39  34  55  00  00  0e  43  45  4e  54  52  49  43  49
>D:   54  59  5f  34  2e  30
>D: Parsing an A-ASSOCIATE PDU
>D: Association Parameters Negotiate>D:
>D: ====================== BEGIN A-ASSOCIATE-AC =====================
>D: Our Implementation Class UI>D:      1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name:   OFFIS_DCMTK_363
>D: Their Implementation Class UI>D:    1.2.840.113619.6.94
>D: Their Implementation Version Name: CENTRICITY_4.0
>D: Application Context Name:    1.2.840.10008.3.1.1.1
>D: Calling Application Name:    TEST1
>D: Called Application Nae:     GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size:    16384
>D: Their Max PDU Receive Size:  28672
>D: Presentation Contexts:
>D:   Context I>D:        1 (Accepted)
>D:     Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Accepted SCP/SCU Role: Default
>D:     Accepted Transfer Syntax: =LittleEndianExplicit
>D:   Context I>D:        3 (Accepted)
>D:     Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Accepted SCP/SCU Role: Default
>D:     Accepted Transfer Syntax: =LittleEndianExplicit
>D: Requested Extended Negotiation: none
>D: Accepted Extended Negotiation:  none
>D: Requested User Identity Negotiation: none
>D: User Identity Negotiation Response:  none
>D: ======================= END A-ASSOCIATE-AC ======================
>I: Association Accepted (Max Send PDV: 28660)
>I: Sending Move Request
>D: ===================== OUTGOING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RQ
>D: Presentation Context ID       : 3
>D: Message ID                    : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Data Set                      : present
>D: Priority                      : medium
>D: Move Destination              : TEST1
>D: ======================= END DIMSE MESSAGE =======================
>I: Request Identifiers:
>I:
>I: # Dicom-Data-Set
>I: # Used TransferSyntax: Little Endian Explicit
>I: (0008,0052) CS [STUDY]                                  #   6, 1 QueryRetrieveLevel
>I: (0020,000d) UI [1.2.840.113619.186.351258914078.20100708160459594.417] #  54, 1 StudyInstanceUID
>I:
>D: DcmDataset::read() TransferSyntax="Little Endian Implicit"
>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations       : none
>D: Completed Suboperations       : 6
>D: Failed Suboperations          : 0
>D: Warning Suboperations         : 0
>D: Data Set                      : none
>D: DIMSE Status                  : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================
>I: Releasing Association

And also I tried to add --port 104 or -aem TEST1, but failed either.

J. Riesmeier
  • 1,641
  • 10
  • 14
fenley
  • 11
  • 2

2 Answers2

1

The default "move destination" (option -aem) of movescu is "MOVESCU". Does your PACS know anything about this AE title? It seems that the 6 DICOM SOP Instances ("Completed Suboperations: 6") were sent successfully to this AE (Application Entity). The output directory (option -od) is only used when movescu also acts as a Storage SCP, i.e. if option --port (or +P) is used.

And also I tried to add --port 104 or -aem TEST1, but failed either.

Did you configure your PACS to map the AE title "TEST1" to the IP address of the system movescu is running on and to port 104?

J. Riesmeier
  • 1,641
  • 10
  • 14
  • Thank you very much for the comment. The AE TEST1 and IP and 104 has been configured on PACS server. So should I configure the AE MOVESCU on the server as well? – fenley Nov 06 '18 at 08:44
  • ps. I did not run dcmqrscp on my computer. – fenley Nov 06 '18 at 08:47
  • If you start movescu with option "--port 104" and "-aem TEST1", you also have to tell the PACS the IP address of the system movescu is running on, i.e. you need to configure port 104 and the IP address for the move destination with AE title "TEST1". – J. Riesmeier Nov 06 '18 at 11:21
1

It seems that the C-MOVE operation is successful:

>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations       : none
>D: Completed Suboperations       : 6
>D: Failed Suboperations          : 0
>D: Warning Suboperations         : 0
>D: Data Set                      : none
>D: DIMSE Status                  : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================

According to the message from the server, 6 Sub-Operations were successsfully completed (i.e. 6 images were moved to the move destination), and the Status is "Success". Thus, I would suspect that the AET "TEST1" maps to a different system, not yours.

As J. Riesmeier suggested, you should check the IP and Port configuration for "TEST1" in the PACS.

Markus Sabin
  • 3,916
  • 14
  • 32
  • Thanks very much. I did the node configuration before my try. And I tried movescu on another computer which have GE Centricity RA1000 and RA600. I used the same AE in the movescu command as in GE applications. I found the files was saved to the Centricity output directory. So, what's the problem? – fenley Nov 06 '18 at 08:52
  • I am not sure to get your question correctly. Can you please post here: The Port and IP address which are configured for AET "TEST1" in the PACS and the IP address of the host on which you run the movescu command? – Markus Sabin Nov 06 '18 at 10:18
  • The host run the movescu command: 172.18.1.10, AE:TEST1,port 104. The PACS server: 172.18.1.1, AE:GEPACS,port 4100. – fenley Nov 06 '18 at 19:26
  • ...and the AE:TEST1 IP address on the GE PACS is configured to 172.18.1.10? – Markus Sabin Nov 07 '18 at 06:46
  • Yes. If not, my server would refuse association immediately rather than the reponse in the log. – fenley Nov 08 '18 at 00:28
  • Then some other DICOM Storage SCP must be listening on your local port 104. Try netstat -a -n -b to figure out what that is. You need to specify the receive port in the movescu command, otherwise -od parameter will have no effect – Markus Sabin Nov 08 '18 at 09:31
  • Great! The problem is close to be sloved. As you adviced, I checked and found the port 104 was occupied by another Storage SCP. Then I switched to another "naked" computer. Then I received the anticipated files successfully. There is still one issue: I designated another port (4100) and a different AE to the abovementioned client(172.18.1.10) on the PACS server. I supposed it would solve the port conflict problem. However, the above successful command FAILED on this client again with an error message: the host not reachable. Could you give me additional suggestion? – fenley Nov 10 '18 at 02:53
  • I am not sure to correctly understand which is "the one" and "the other" computer. But in any case I would double check in the PACS that the AET TEST1 maps to the IP and port of the system to which you want to move the images. And changing the port may obviously need modifications in the firewall configuration of the communication partners. – Markus Sabin Nov 19 '18 at 07:34